获取更多单词的Google匹配数

问题描述 投票:0回答:1

我看到了一些有关我的问题的问题,但没有具体答案。简而言之,我有一个更大的单词列表(超过1000个),并且我想获取每个单词的Google匹配数。特别是,我在Stackoverflow: Google search to retrieve number of results for search keywords处读取了此踏步。但是如何处理大型清单的问题仍然悬而未决。拜托,如果有人能抛出一段我可以玩并构建脚本的Python代码,我将非常感谢。

python search
1个回答
1
投票

如果Google拒绝了您的请求,您可以尝试抓取搜索结果页面...

我强烈建议

not这样做,尤其是当您要处理大量单词时。但是,出于

instructive的目的,这是通常适合您的代码:

import urllib2 import re def results(word): text = urllib2.urlopen('http://www.google.com/search?q=%s'%word).read() m = re.search('About ([0-9,]+) results', text) if m is None: return None else: return int(m.group(1).replace(',', '')) # remove commas and int-ify 我之所以说“通常”,是因为在测试中,我收到了Google的礼貌要求,而不是搜索结果页:

403。这是一个错误。

您的客户端无权从此服务器获取URL /search?q=foo

[通过确定请求标头中的User-Agent,我确定Google知道拒绝我的请求。欺骗User-Agent很简单,并使此代码正常工作,但是请不要这样做。

[另一个考虑因素是,xkcd成名的Randall Munroe建议页面上的点击数非常不准确:http://blog.xkcd.com/2011/02/04/trochee-chart/
© www.soinside.com 2019 - 2024. All rights reserved.