执行谷歌搜索并返回结果数
问题描述:
Google网页搜索API看起来已经死了(旧的SOAP和新的AJAX)。有没有一种快速搜索Google字符串并返回结果数量的方法?我想我只需要运行搜索和搜索结果,但我很想知道是否有更好的方法。执行谷歌搜索并返回结果数
更新:事实证明,任何不使用新API的自动访问都违反了他们的服务条款,因此不推荐使用。
答
还有a free API,但这里是一个屏幕刮板:
import requests
from bs4 import BeautifulSoup
import argparse
parser = argparse.ArgumentParser(description='Get Google Count.')
parser.add_argument('word', help='word to count')
args = parser.parse_args()
r = requests.get('http://www.google.com/search',
params={'q':'"'+args.word+'"',
"tbs":"li:1"}
)
soup = BeautifulSoup(r.text)
print soup.find('div',{'id':'resultStats'}).text
结果:
$ python g.py jones
About 223,000,000 results
$ python g.py smith
About 325,000,000 results
$ python g.py 'smith and jones'
About 54,200,000 results
$ python g.py 'alias smith and jones'
About 181,000 results
奇怪的是,我得到一个404错误,当我尝试这一点,即使我可以在我的浏览器中加载搜索网址: – PurpleVermont 2015-04-02 00:04:10
'
未找到
所请求的URL /搜索此服务器上找到。
的Apache/2.2.3(红帽)在www.google.com端口80 ' – PurpleVermont 2015-04-02 00:04:22
我不知道是否有在混合代理服务器服务器。 – 2015-04-02 01:17:03