在 Python 中获取 Google 个搜索结果的结果数 3
Get number of results on Google search results in Python 3
有什么方法可以return Google 个搜索结果在Python3 中的数量吗?我从 SO 尝试了几种方法,但其中 none 仍在工作:
>>> import requests
>>> from bs4 import BeautifulSoup
>>> def get_results(name):
re = requests.get('https://www.google.com/search', params={'q':name})
soup = BeautifulSoup(re.text, 'lxml')
response = soup.find('div', {'id': 'resultStats'})
return int(response.text.replace(',', '').split()[1])
>>> get_results('Leonardo DiCaprio')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 5, in get_results
AttributeError: 'NoneType' object has no attribute 'text'
response
在你的 get_results()
函数中是 None
因为对 Google 的请求返回了一个错误页面所以你正在寻找的 div 没有存在。在尝试解析结果之前,您应该检查成功的响应状态。
有什么方法可以return Google 个搜索结果在Python3 中的数量吗?我从 SO 尝试了几种方法,但其中 none 仍在工作:
>>> import requests
>>> from bs4 import BeautifulSoup
>>> def get_results(name):
re = requests.get('https://www.google.com/search', params={'q':name})
soup = BeautifulSoup(re.text, 'lxml')
response = soup.find('div', {'id': 'resultStats'})
return int(response.text.replace(',', '').split()[1])
>>> get_results('Leonardo DiCaprio')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 5, in get_results
AttributeError: 'NoneType' object has no attribute 'text'
response
在你的 get_results()
函数中是 None
因为对 Google 的请求返回了一个错误页面所以你正在寻找的 div 没有存在。在尝试解析结果之前,您应该检查成功的响应状态。