简单说一说:
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标签的信息。
原文地址:https://www.cnblogs.com/oldsnow/p/10163738.html
时间: 2024-10-10 14:21:42