您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

从美丽的汤中提取href

从美丽的汤中提取href

如果您打印响应内容(即googleSoup.text),则会看到您得到的HTML完全不同。页面源和响应内容不匹配。

因为内容是动态加载的,所以 发生这种情况。即便如此,页面源和响应内容也是相同的。(但是您在检查元素时看到的HTML是不同的。)

对此的基本解释是Google可以识别Python脚本并更改其响应。

您可以传递 假的 User- Agent,以使脚本看起来像真实的浏览器请求。

headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36'}

r = requests.get('https://www.google.co.in/search?q=chocolate', headers=headers)
soup = BeautifulSoup(r.text, 'lxml')

elements = soup.select('.r a')
print(elements[0]['href'])

https://en.wikipedia.org/wiki/Chocolate
其他 2022/1/1 18:31:25 有472人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶