爬取谷歌搜索返回200状态码但无有效结果的问题求助
爬取谷歌搜索返回200状态码但无有效结果的问题求助
最近我用Python爬取谷歌搜索结果时遇到了个棘手的问题——从昨天开始,发送请求后虽然返回的是200状态码,但完全拿不到正常的搜索结果,响应里只有一段隐藏的HTML div,内容如下:
<div id="java-com-google-gws-common-impl-searchguard-jslayout__broken-text" style="display:none">
期望的正常行为
我原本期望响应里能包含结构化的搜索结果,不管是JSON格式还是带结果的HTML页面都可以。
当前遇到的问题
看起来谷歌应该是升级了反爬虫检测机制,我的请求被识别成机器人了,所以只返回了这段没用的代码片段,拿不到实际搜索内容。
我已经尝试过的方法
我用了一个规模不小的代理池来换IP,避免被检测到,但这个方法并没有解决问题。
最小复现代码
import requests headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36' } url = 'https://www.google.com/search?q=example' response = requests.get(url, headers=headers) print(response.text)
有没有小伙伴之前遇到过类似的情况?如果有解决办法的话,麻烦分享一下,非常感谢!
备注:内容来源于stack exchange,提问作者Copen
相关产品推荐
相关产品推荐

