XPATH 要想獲取的東西裏不分段,不變成列表就用STRING(),不用TEXT()
阿新 • • 發佈:2018-12-23
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()