我有一个脚本可以从亚马逊获取图书信息,它以前运行得很成功,但今天却失败了。我不知道到底出了什么问题,但我假设它与解析器或Javascript有关。我正在使用下面的代码。在
from bs4 import BeautifulSoup
import requests
response = requests.get('https://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Dstripbooks&field-keywords=9780307397980',headers={'User-Agent': b'Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0'})
html = response.content
soup = BeautifulSoup(html, "html.parser")
resultcol = soup.find('div', attrs={'id':'resultsCol'})
以前我常常在resultcol
中获取数据,但现在它是空白的。当我选中html
时,我看到了我要查找的标记,即<div id="resultsCol" class=\'\' >
。但是soup
中没有此文本。有人能帮我调试一下吗?它以前工作得很好,但现在不行了。在
您需要等待页面完全加载。您必须使用
phantomJs
来确保页面被正确加载。在我可以用下面的代码得到正确的元素。在
^{1}$移除标题,它应该可以工作。在
^{1}$相关问题 更多 >
编程相关推荐