【发布时间】:2019-02-17 15:31:10
【问题描述】:
我有一个脚本可以从亚马逊提取图书信息,该脚本之前运行成功,但今天失败了。我无法弄清楚到底出了什么问题,但我假设它与解析器或 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 里面没有这个文本。谁能帮我调试一下?以前可以正常工作,但现在不行了。
【问题讨论】:
-
这很奇怪!我运行了这段代码,但我省略了标题,因为我使用请求已经有一段时间了,而且我不记得所有的规范。一切似乎都运行良好!也许尝试在不通过标头 kwarg 的情况下运行它?您的标题可能有一些错误。
-
还是不行。标题似乎很好。我在“html”元素中得到了正确的信息。 'soup' 没有捕捉到所有的代码。
标签: javascript python beautifulsoup html-parsing