【发布时间】:2015-07-11 19:46:53
【问题描述】:
我正在尝试编写一个 Python 脚本,该脚本将定期检查网站以查看项目是否可用。我过去曾成功使用 requests.get、lxml.html 和 xpath 来自动化网站搜索。对于此特定 URL (http://www.anthropologie.com/anthro/product/4120200892474.jsp?cm_vc=SEARCH_RESULTS#/) 和同一网站上的其他 URL,我的代码无法正常工作。
import requests
from lxml import html
page = requests.get("http://www.anthropologie.com/anthro/product/4120200892474.jsp?cm_vc=SEARCH_RESULTS#/")
tree = html.fromstring(page.text)
html_element = tree.xpath(".//div[@class='product-soldout ng-scope']")
此时,html_element 应该是一个元素列表(我认为在这种情况下只有 1 个),但它是空的。我认为这是因为网站没有一次全部加载,所以当 requests.get() 出去抓取它时,它只抓取了第一部分。所以我的问题是 1:我对问题的评估是否正确? 和 2:如果是这样,有没有办法让 requests.get() 在返回 html 之前等待,或者可能完全是另一个路由来获取整个页面。
谢谢
编辑:感谢两个回复。我使用 Selenium 并让我的脚本正常工作。
【问题讨论】:
标签: python html web-scraping python-requests