【问题标题】:Is google search with python possible?可以用 python 进行谷歌搜索吗?
【发布时间】:2017-08-07 19:55:49
【问题描述】:

目前抓取google搜索结果是不是有点困难? 我想在mac上用python3在google中找到一个关键字的前5个url,我的程序如下:

import requests, bs4 


word =input()


res = requests.get('https://www.google.co.in/search?q='+str(word))


page =bs4. BeautifulSoup(res.text,"lxml")


result=page.select("a.href")


...

有一些失败:

OSError: [Errno 65] 没有到主机的路由

requests.packages.urllib3.exceptions.NewConnectionError: : 建立新连接失败: [Errno 65] 否 路由到主机

如何解决这些问题?

【问题讨论】:

  • “可能”?是的。但这违反了 Google 的服务条款,除非您从他们那里获取 API 密钥并使用它。
  • Google 有系统来检测和阻止网络爬虫,但这可能是网络连接错误
  • 您的 Python 解释器是否允许使用您的 Internet 连接?我记得我的 Mac 向我显示了有关 OS X 已阻止来自 Python 的任何传入和传出连接的警告。尝试转到设置并启用防火墙访问。
  • 我发现了一个关于使用 BeautifulSoup here 检索谷歌搜索的类似问题。除此之外,我想知道,你能用你正在生成的链接 ping google 吗?您是否在查询中用 + 替换空格?

标签: python macos


【解决方案1】:

抓取 Google 搜索网页并非不可能,您只需充分研究浏览器的行为方式并让脚本使用这些信息伪装 自己为普通浏览器。这涉及到使用标头、如何构建 GET 请求以及可能模仿一些 AJAX 函数等等。

requests 允许您很好地自定义请求以完成此操作。

【讨论】:

  • 任何时候;)。如果您对如何处理请求提出更具体的问题,我可以帮助您
  • 你能给我一个联系方式吗?
  • 嗨,安迪,你可以在这里找到我:ar.linkedin.com/in/rafaaguilar1987
猜你喜欢
  • 1970-01-01
  • 2013-06-26
  • 1970-01-01
  • 1970-01-01
  • 2014-05-02
  • 1970-01-01
  • 2018-09-02
  • 2017-03-05
相关资源
最近更新 更多