我正试图使用请求从谷歌获取一些数据,但它无法返回网页中的所有内容
代码:
import requests
from bs4 import BeautifulSoup
headers = {'user-agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Mobile Safari/537.36'}
url = 'https://www.google.com/search?num=50&q="potato+is+good"'
r = requests.get(url, headers=headers)
soup = BeautifulSoup(r.content, 'html.parser')
for idx, val in enumerate(soup.find_all('em'), 1):
print('{} = {}'.format(idx, val))
输出:
1 = <em>potato is good</em>
2 = <em>potato is good</em>
3 = <em>potato is good</em>
4 = <em>Potato is good</em>
5 = <em>potato is good</em>
6 = <em>potato is good</em>
7 = <em>Potato is good</em>
8 = <em>potato is good</em>
9 = <em>potato is good</em>
10 = <em>potato is good</em>
11 = <em>potato.is.good</em>
它只显示了11个结果,但当我在谷歌上手动搜索时,有35个以上的结果
我的代码可能有什么问题
它会不会像你通过移动设备搜索一样返回结果? 我刚刚试过,在iPhone上的谷歌首页上只得到了11个结果。也许一个不同的用户代理,如下面的,会这样做吗
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36
编辑:
我运行了这个:
并且得到:
相关问题 更多 >
编程相关推荐