1. 程式人生 > >XPATH 要想獲取的東西裏不分段,不變成列表就用STRING(),不用TEXT()

XPATH 要想獲取的東西裏不分段,不變成列表就用STRING(),不用TEXT()

join 分段 元素 信息 str 數據 直接 -- ()

簡單說一說:

requests配合xpath來抓網站數據的時候,不像selenium+xpath。

selenium有 find_element find_elements,區別是帶S ,查找第一個元素,和查找所有元素。

requests只有xpath,簡單粗暴的直接查找所有元素。所以tag1,要帶下標[0]來輸出第一個對象,並且用.text來輸出文字信息。

tag2,帶下標[0]來輸出第一個對象,並且用.text來輸出文字信息。但是由於對象中有<br>標簽,所以只能取得第一個<br>標簽前面的數據。

tag3,我們在xpath規則中加入.text()規則,取得這個標簽中的文字信息。由於有<br>標簽,文字信息會因為<br>而分割稱為列表。

我們可以自己重組列表,轉為字符串:

b = [str(i) for i in tag3]
str = ‘‘.join(b)
print(‘tag3-str-->‘,str)

或者不使用text()規則使用xpath(‘string(.)‘):

print(‘tag2-->‘,tag2)
print(‘tag2[0]-string-->‘,tag2[0].xpath(‘string(.)‘))
print(‘tag2[1]-string-->‘,tag2[1].xpath(‘string(.)‘))

兩種方式都可以正常獲取td標簽中帶br標簽的信息。

XPATH 要想獲取的東西裏不分段,不變成列表就用STRING(),不用TEXT()