xpath過濾標籤內的其他標籤獲得全部內容

2021-08-20 19:45:25 字數 1322 閱讀 9488

最近在爬乙個**主要是把**中的資料爬下來

在瀏覽器中審查元素可知,所需要的資料在乙個table標籤中,如下圖所示:

可通過xpath提取出table中的tr標籤,如下:

selector = selector(response)

products = selector.xpath('//table[@class="table"]//tr')

然後對products遍歷獲得每個tr標籤內容:

for product in products[4:]:

#對product的操作,product裡面包含所需要的**中的一行

#從4開始遍歷products,是因為有兩個表頭,可以在上一步中使用not剔除表頭

之後看到第一列的內容在乙個標籤中,如下圖

可以通過下面**提取內容:

#td[1]表示該行的第一列

product.xpath('./td[1]/nobr//text()').extract_first()

當我獲得其他列內容的時候,發現裡面有若干個標籤,如果按照上面的**只會獲得第乙個標籤之前的內容,之後的內容則不會獲得。如下圖:

上述**只獲得了如下內容:

解決**:

data = ''

for result in product.xpath('./td[2]'):#td[2]表示該行的第二列

data = data.join(result.xpath('string(.)').extract_first())

下圖是兩種**的執行的效果:

可以看到該解決方案成功的獲取到了標籤下的全部內容。

HTML其他標籤

1 target屬性 2 id屬性 有用的提示部分 在html文件中建立乙個鏈結到有用的提示部分 id tips 訪問有用的提示部分 或者,從另乙個頁面建立乙個鏈結到 有用的提示部分 id tips 訪問有用的提示部分 3 html頭部元素 定義了文件的資訊 定義了文件的標題 定義了乙個文件和外部資...

40 其他表單標籤

list movedownlabel 下移一位 moveuplabel 上移一位 selectalllabel 全部選中 label 您常用程式語言排名 lefttitle 選擇喜歡做的事 list name love headerkey 0 headervalue 喜歡做的事 emptyoptio...

HTML其他標籤學習

1.em標籤和strong標籤 em標籤用於表示一段內容中的著重點 側重語氣 strong標籤用於表示乙個內容的重要性 側重書面性 通常em為斜體,strong為粗體 eg 今天天氣真不錯!注意 如果你不認真上課,你就找不到好工作!2.i標籤中的內容會以斜體顯示 b標籤中的內容會以加粗顯示。html...