1

所以我现在运行这个我从http://www.dcortesi.com/blog/2008/05/28/google-ajax-search-api-example-python-code/找到的脚本

import urllib
import simplejson
query = urllib.urlencode({'q' : 'the.hobbit.2012.imdb'})
url = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&%s' \
 % (query)
search_results = urllib.urlopen(url)
json = simplejson.loads(search_results.read())
results = json['responseData']['results']
for i in results:
 if "imdb" in i['url']:
  print i['url']
  break

我想要的只是从包含 imdb 的 google 获得第一个结果。(我需要电影ID号)

我的问题是,在进行了 4-6 次搜索后,我会持续大约 15 秒,然后我可以再次进行 1 次搜索。

Traceback (most recent call last):
  File "./g", line 9, in <module>
    results = json['responseData']['results']
TypeError: 'NoneType' object is unsubscriptable

从我读过的内容来看,谷歌每天只允许一定数量的搜索等。但他们应该每分钟允许超过 10 次搜索?

这里还有什么问题?或者有没有其他更好的方法来搜索谷歌?我只需要链接到 imdb 的“最高”结果。

4

1 回答 1

1

Google 的 Web Search API 已被弃用(并且正在收紧速率限制执行),因此您有几个选择(按我的偏好排序):

  1. 完全放弃 Google 搜索并使用imdbpy
  2. 使用Google 自定义搜索 API来避免速率限制。

IMDbPY 示例

>>> import imdb    
>>> ia = imdb.IMDb()    
>>> movies = ia.search_movie(title='The Hobbit: An Unexpected Journey')    
>>> movies[0].movieID    
'0903624'
于 2013-01-04T15:06:51.100 回答