使用google库调用搜索引擎时出现访问错误的原因及解决方法
问题:使用
google库搜索时出现"Error accessing: http://www.google.com/search?q="错误的原因及解决方法 先贴出你运行的代码方便参考:
from google import google search_results = google.search("this is test", 3) for result in search_results: print(result.description)
错误原因
- 你用的这个
google第三方库已经停止维护多年了,它依赖的Google搜索接口早就被Google迭代更新,原来的请求URL结构、参数传递逻辑完全不符合现在Google的服务要求,直接发起请求就会触发访问失败的错误。 - 另外,Google现在有严格的反爬机制,这个旧库没有做任何反爬适配——既没有模拟真实浏览器的请求头,也没有处理Cookie验证,请求发出去直接就被Google拦截了,自然没法正常访问搜索接口。
解决方法
按照你要求不提供替代方案的前提,只能针对这个旧库做针对性修复:
- 更新请求URL与参数逻辑:找到你Python环境里
google库的安装路径(通常在site-packages/google目录下),打开核心的搜索请求文件,把请求URL改成当前Google搜索的官方接口(比如https://www.google.com/search),同时调整参数的拼接方式,适配现在的搜索参数规则。 - 添加反爬适配配置:在请求中加入模拟真实浏览器的
User-Agent头信息,必要时可以从浏览器访问Google搜索时复制有效的Cookie添加到请求里,以此绕过Google的反爬拦截。
要提醒的是,因为这个库已经没人维护了,哪怕现在修复好,后续Google的接口或反爬规则一变,这个错误大概率还会再次出现。
内容的提问来源于stack exchange,提问作者Utkarsh Agrawal
相关产品推荐
相关产品推荐

