Вы можете ссылаться на этот комментарий по вышеупомянутому вопросу:
Если Google отклонит ваш запрос, вы можете попробовать очистить страницу результатов поиска ...
Я настоятельно рекомендую , а не , особенно если у вас есть огромное количество слов для обработки.Однако для инструктивных целей этот код обычно работает для вас:
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
с этого сервера.
Я решил, что Google знает, чтобы отклонить мой запрос, посмотрев User-Agent
в заголовке запроса.Просто подделать User-Agent
и заставить этот код работать, но опять же, пожалуйста, не надо.
Другое соображение состоит в том, что Рэндалл Мунро, известный из xkcd, предположил, что количество попаданий на странице крайне неточно:1029 *http://blog.xkcd.com/2011/02/04/trochee-chart/