谷歌搜索使用python脚本

时间:2010-10-10 01:11:59

标签: python

任何人都可以帮我解决如何编写搜索谷歌并打印顶级结果链接的python脚本。

8 个答案:

答案 0 :(得分:31)

试试这个,它的使用非常简单: https://pypi.python.org/pypi/google

文档: https://breakingcode.wordpress.com/2010/06/29/google-search-python/

Github: https://github.com/MarioVilas/google

安装这个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)

答案 1 :(得分:25)

也许,这样的事情?

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 )

阅读文档http://docs.python.org/

[编辑]由于AJAX API已用尽,您可以使用第三方服务,例如SerpApi,它们会提供Python library

答案 2 :(得分:2)

最好建议使用谷歌apis 但是一个非常丑陋的版本..(替代使用google 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

它会准确打印浏览器在Google上搜索某些内容时应显示的内容

答案 3 :(得分:1)

正如@Zloy Smiertniy指出的那样,答案可以找到here

但是,如果您使用的是Python 3,则raw_inputurllib的语法已更改,并且必须解码response。因此,对于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 )

答案 4 :(得分:0)

尝试以下方法:

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)

答案 5 :(得分:-1)

我已经使用SERP API来实现这一目标。

说明很简单:

pip install google-search-results

,用法是:

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

Github上有更多高级用法。

答案 6 :(得分:-2)

我是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)

答案 7 :(得分:-5)

from pygoogle import pygoogle
g = pygoogle('quake 3 arena')
g.pages = 5
print '*Found %s results*'%(g.get_result_count())
g.get_urls()
相关问题