【发布时间】: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 的任何传入和传出连接的警告。尝试转到设置并启用防火墙访问。
-
参见developers.google.com/custom-search/json-api/v1/overview re: 支持机制的文档。
-
我发现了一个关于使用 BeautifulSoup here 检索谷歌搜索的类似问题。除此之外,我想知道,你能用你正在生成的链接 ping google 吗?您是否在查询中用 + 替换空格?