使用python脚本进行Google搜索

使用python脚本进行Google搜索,python,Python,有谁能帮我写一个python脚本,搜索google并打印最热门结果的链接。也许,类似这样的东西 import urllib import json as m_json query = raw_input ( 'Query: ' ) query = urllib.urlencode ( { 'q' : query } ) response = urllib.urlopen ( 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&'

有谁能帮我写一个python脚本,搜索google并打印最热门结果的链接。

也许,类似这样的东西

import urllib import json as m_json query = raw_input ( 'Query: ' ) query = urllib.urlencode ( { 'q' : query } ) response = urllib.urlopen ( 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&' + query ).read() json = m_json.loads ( response ) results = json [ 'responseData' ] [ 'results' ] for result in results: title = result['title'] url = result['url'] # was URL in the original and that threw a name error exception print ( title + '; ' + url ) 导入URL库 将json作为m_json导入 query=原始输入('query:') query=urllib.urlencode({'q':query}) response=urllib.urlopen('http://ajax.googleapis.com/ajax/services/search/web?v=1.0&'+query).read() json=m_json.loads(响应) results=json['responseData']['results'] 对于结果中的结果: title=结果['title'] url=result['url']#是原始url,引发名称错误异常 打印(标题+';'+url) 阅读文档


[编辑]由于AJAX API已经过时,您可以使用第三方服务,例如,他们确实提供了一个服务。

最好使用google API 但是一个非常丑陋的版本。。(使用谷歌api的替代方案) 如果需要,可以过滤内容

import os, urllib, sys
filename = 'http://www.google.com/search?' + urllib.urlencode({'q': ' '.join(sys.argv[1:]) })
cmd = os.popen("lynx -dump %s" % filename)
output = cmd.read()
cmd.close()
print output

当你在谷歌上搜索某物时,它会精确地打印出浏览器应该显示的内容。

正如@Zloy Smiertniy所指出的,答案是可以找到的

from pygoogle import pygoogle
g = pygoogle('quake 3 arena')
g.pages = 5
print '*Found %s results*'%(g.get_result_count())
g.get_urls()
但是,如果您使用的是Python3,
raw_input
urllib
的语法已经改变,必须对
响应进行解码。因此,对于Python 3,可以使用:

import urllib
import urllib.request
import json
url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&"
query = input("Query:")
query = urllib.parse.urlencode( {'q' : query } )
response = urllib.request.urlopen (url + query ).read()
data = json.loads ( response.decode() )
results = data [ 'responseData' ] [ 'results' ]
for result in results:
    title = result['title']
    url = result['url']
    print ( title + '; ' + url )

我是Python的新手。这只是我对谷歌搜索的简单想法

import webbrowser
lib=raw_input("Enter what you want to search for:")
ur="https://www.google.co.in/gfe_rd=cr&ei=Q7nZVqSBIMSL8QeBpbOoDQ#q="
webbrowser.open_new(ur+lib)

试试这个,它的使用非常简单:

文件:

Github:

安装此python软件包,使用方法如下:

# Get the first 5 hits for "google 1.9.1 python" in Google Pakistan
from google import search

for url in search('google 1.9.1 python', tld='com.pk', lang='es', stop=5):
    print(url)
请尝试以下操作:

import webbrowser
lib = input()
url = "https://www.google.co.in/search?q=" +(str(lib))+ "&oq="+(str(lib))+"&gs_l=serp.12..0i71l8.0.0.0.6391.0.0.0.0.0.0.0.0..0.0....0...1c..64.serp..0.0.0.UiQhpfaBsuU"
webbrowser.open_new(url)

我使用了serpapi来实现这一点

说明相当简单:

pip install google-search-results
用法是:

from lib.google_search_results import GoogleSearchResults
query = GoogleSearchResults({"q": "coffee"})
json_results = query.get_json()

Github上有更高级的应用。

我相信有人可以。到目前为止,你写了什么?或者你在寻求多基本的帮助?开始使用?@jball我还没有编码。我是python新手。我已经学会了python编码的基本结构。所以,为了实现谷歌搜索,你可以建议我从哪里开始。使用什么样的模块?对于“lynx-dump”来说很有趣,我通常使用
re
(正则表达式模块)来“dump”页面的源代码会得到很好的结果。以防无法使用Linux;o) 这仅给出五个结果?此api不再可用。我们必须使用你刚刚从pygoogle复制并粘贴的Dude,仅供参考。你也提供了零解释。这实际上并不能满足要求;它通过打开浏览器窗口执行google搜索,但Python代码从未收到要显示(或以其他方式操纵)的搜索结果。在python3中,我遇到了这样一个错误:“module”对象没有属性“parse”Hmm…奇怪。它应该在那里,根据。我注意到,在重新运行脚本后,我必须添加
import-urllib.request
(现在是更新的答案),因此
import-urllib.parse
可能对您的情况有所帮助。还要注意的是,在重新运行脚本后,我在获取
响应
的输出时遇到了问题,因此
url
可能在我上次使用脚本后发生了更改。最幸运的是,这个API不再可用,另一个选择是。这对我来说很有效,只是使用tld='…'键始终会导致“连接被拒绝”错误。要搜索一个确切的短语,你可以用双引号括起来,就像在普通谷歌搜索一样。这并不能回答OP的问题。它只是在浏览器窗口中打开页面(即使OP要求使用python脚本),而不会打印结果(链接)。