我发现这个链接http://machinespirit.net/acegiak/2012/07/10/qad-normalized-google-distance/#comments似乎让我对python代码感兴趣。我做了什么我创建了一个新的g1.py文件将代码复制到其中。然后我chmod 755然后./g1.py我得到以下错误。
./g1.py test test1
Traceback (most recent call last):
File "./g1.py", line 2, in <module>
from google import gsearch
ImportError: No module named google
答案 0 :(得分:3)
我是链接文档的作者。 该代码段使用内部谷歌模块,该模块不公开,旨在显示算法在工作而不是功能的完整实现。
我已经更新了文档以包含gsearch函数的基本截断版本,这个添加的完整代码如下所示:
#!/usr/bin/env python
from google import gsearch
import math,sys
import json
import urllib
def gsearch(searchfor):
query = urllib.urlencode({'q': searchfor})
url = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&%s' % query
search_response = urllib.urlopen(url)
search_results = search_response.read()
results = json.loads(search_results)
data = results['responseData']
return data
args = sys.argv[1:]
m = 45000000000
if len(args) != 2:
print "need two words as arguments"
exit
n0 = int(gsearch(args[0])['cursor']['estimatedResultCount'])
n1 = int(gsearch(args[1])['cursor']['estimatedResultCount'])
n2 = int(gsearch(args[0]+" "+args[1])['cursor']['estimatedResultCount'])
l1 = max(math.log10(n0),math.log10(n1))-math.log10(n2)
l2 = math.log10(m)-min(math.log10(n0),math.log10(n1))
distance = l1/l2
print distance
答案 1 :(得分:1)
您必须安装google
Python模块。我没有找到任何这样命名的模块。我认为所需的模块是http://code.google.com/p/pygoogle/。因此,您可能必须通过以下方式替换第一个导入:
from pygoogle import search
或者询问帖子作者他获取模块的位置。