有没有人能帮我写一个Python脚本,搜索谷歌并打印出前几个结果的链接。
有没有人能帮我写一个Python脚本,搜索谷歌并打印出前几个结果的链接。
试试这个,非常容易使用: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)
也许,像这样的代码?
import urllib import json as m_json query = raw_input('查询:') 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'] # 原始代码中是URL,导致出现名称错误异常 print(title + '; ' + url)
正如@Zloy Smiertniy所指出的,答案可以在这里找到。
然而,如果您正在使用Python 3,那么raw_input
和urllib
的语法已经发生了变化,需要对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 )
(现在在更新的答案中),所以也许
import urllib.parse可以帮助你。还要注意,在重新运行脚本后,我遇到了获取
response输出的问题,所以
url`可能已经自上次使用脚本以来发生了变化。祝你好运。 - Løiten建议使用Google 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
它将打印出浏览器在谷歌搜索某些内容时应该显示的内容
re
来“转储”网页源代码,以防万一不能使用 Linux。 - heltonbiker请尝试以下方法:
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)
我是 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)
pip install google-search-results
使用方法如下:
from lib.google_search_results import GoogleSearchResults
query = GoogleSearchResults({"q": "coffee"})
json_results = query.get_json()
更高级的用法在Github上。
from pygoogle import pygoogle
g = pygoogle('quake 3 arena')
g.pages = 5
print '*Found %s results*'%(g.get_result_count())
g.get_urls()