【问题标题】:Searching in google using GET method使用 GET 方法在 google 中搜索
【发布时间】:2016-06-03 22:19:45
【问题描述】:

我想使用 GET 方法查询 google 并检索 HTML 结果。我尝试了以下方法:

import httplib
import urllib

params = urllib.urlencode({'gws_rd': 'ssl', 'q': 'hello'})  # search for hello
headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
c = httplib.HTTPSConnection("google.com")
c.request("GET", "/", params, headers)
response = c.getresponse()
print response.status, response.reason
data = response.read()
file_ = open('result.html', 'w')
file_.write(data)
file_.close()

但我收到此错误:

400 错误请求

有人知道我该如何解决这个问题吗?

【问题讨论】:

  • 您可能需要更改用户代理标头。
  • 顺便说一句,这违反了 Google 的 t&c.. ;)
  • @SugatoSengupta 如果谷歌允许我使用他们的搜索 API(在我的国家不可用),他们的 t&c 对我来说很重要 :)

标签: python python-2.7 google-search


【解决方案1】:

您好,您尝试执行的操作已被弃用。您可以查看以下链接以获取参考。

https://developers.google.com/web-search/

代替那个谷歌已经提供了新的API。

https://developers.google.com/custom-search/json-api/v1/overview

以上链接将为您提供如何使用它的完整信息。

您必须创建一个密钥,并且需要对代码进行少量更改才能使其正常工作。

【讨论】:

  • 您好,谢谢。我正在尝试使用已弃用的方法,因为 Google API 在我的国家/地区不可用。
  • 如果您愿意,可以使用 DUCKDUCKGO 搜索引擎及其 API 代替 google。这是它的 api 链接api.duckduckgo.com/?q=search_data&format=json&pretty=1
猜你喜欢
  • 1970-01-01
  • 2014-02-21
  • 1970-01-01
  • 1970-01-01
  • 2020-10-24
  • 1970-01-01
  • 1970-01-01
  • 2014-12-14
  • 2012-09-03
相关资源
最近更新 更多