- request + etree(xpath,re...)
- selenium(xpath,css,re...)
- requests
from lxml import etree # 导入xpath
...
html = response.text
# 创建xpath对象
tree = etree.HTML(html)
# 获取全部手机的li
phone_li = tree.xpath('//*[@id="J_goodsList"]/ul/li')
- selenium之xpath过滤选择抓取
思路:通过日期(如下面的xpath_data)来过滤自己想要的数据,再通过xpath_href来定位其他的元素,从而实现xpath过滤抓取组合数据。
xpath_date = "/html/body/div[2]/div[1]/div[3]/ul/li/div[2]/div/span[contains(text(),'天前') or contains(text(),'小时前') or contains(text(),'昨天')]"
xpath_href = "/html/body/div[2]/div[1]/div[3]/ul/li/div[2]/div/span[contains(text(),'天前') or contains(text(),'小时前') or contains(text(),'昨天')]/../../h3/a"
#对过滤日期采集日期和url进行拼接
- 注意:
- selenium浏览器最小化模式下,模拟点击的方式有时候会失效