1

Python と simplejson を使用して Google 検索の最初の結果をスクリーンスクレイピングしようとしていますが、オンラインの多くの例が示す方法で検索結果にアクセスできません。ここにスニペットがあります:

url = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&%s' % (query)
search_results = urllib.urlopen(url)
json = simplejson.load(search_results)
try:
    results = json['responseData']['results'] # always fails at this line
    first_result = results[0]
except:
    print "attempt to set results failed"

ブラウザでhttp://ajax.googleapis.com/ajax/services/search/web?v=1.0&stackoverflow (または %s に代わるもの) にアクセスすると、「{"responseData" : null, "responseDetails": "クリップ スイープ", "responseStatus": 204}." 明らかに空のresponseDataを使用しようとする以外に、PythonでGoogle検索の結果にアクセスする他の方法はありますか?

4

1 に答える 1

2

&q= が抜けています。API キーの使用も検討する必要があります。http://code.google.com/intl/de/apis/ajaxsearch/documentation/ . 単純な文字列の接触が機能しないことに加えて、パラメーターをエスケープする必要があります。

 url = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q= ' + urllib.quote_plus(query)
于 2010-06-23T15:38:42.707 に答える