【发布时间】:2018-01-03 20:00:18
【问题描述】:
所以我一直在尝试从“Drink between 2005 2013”中抓取“2005 - 2013” 起初这段代码对我有用,但现在我只返回空列表,但我的请求仍然有 200 个状态代码
import requests, lxml.html, csv
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'}
page = requests.get('http://www.cellartracker.com/wine.asp?
iWine=91411',headers=headers)
print(page.status_code)
html = lxml.html.fromstring(page.content)
content_divs = html.xpath('//a[@title="Source: Community"]/text()')
print(content_divs)
不确定我是否应该开始使用 selenium 来进行这种抓取,因为它是一个 js 网站,如果是这样,我也不确定如何去做,所以一些基本的帮助会很有用! 谢谢!!
【问题讨论】:
-
如果是js站点,肯定需要使用
Selenium或者类似的工具来抓取 -
我得到了预期的结果,不知道为什么它会停止工作,你是否试图一遍又一遍地解析同一个网站,有时会得到一个空列表?如果你想参考使用
Selenium进行抓取,我只是answered 一个关于这个问题的问题。
标签: python selenium xpath lxml screen-scraping