【发布时间】:2018-12-30 18:07:46
【问题描述】:
我在搜索“什么是 2+2”时尝试抓取 Google 结果,但以下代码返回 'NoneType' object has no attribute 'text'。请帮助我实现所需的目标。
text="What is 2+2"
search=text.replace(" ","+")
link="https://www.google.com/search?q="+search
headers={'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'}
source=requests.get(link,headers=headers).text
soup=BeautifulSoup(source,"html.parser")
answer=soup.find('span',id="cwos")
self.respond(answer.text)
唯一的问题是soup.find 中的id,但是我非常仔细地选择了这个ID。我不应该弄错。我也试过answer=soup.find('span',class_="cwcot gsrt"),但都没有成功。
【问题讨论】:
-
未找到 ID 为
cwos的<span>,find()的结果变为None。你应该处理这种情况。 -
我无法通过在浏览器中输入您的链接来查看该 ID。预期返回的文本是什么?
标签: python web-scraping beautifulsoup