2014-11-05 1 views
-1

Мне нужно очистить google для первых 10-20 URL-адресов для ключевого слова, я нашел lib под названием pygoogle, но когда я его запустил, я получил синтаксическую ошибку: вот мой код:Очистить URL-адреса от главной страницы google в python

from pygoogle import pygoogle 
g = pygoogle('quake 3 arena') 
g.pages = 5 
print '*Found %s results*'%(g.get_result_count()) 
g.get_urls() 

Хорошо, похоже, pygoogle больше не работает, потому что Google осуждал SOAP интерфейс- кто-нибудь знает альтернативу?

+3

Какова синтаксическая ошибка, которую вы получаете? – marsh

+0

Вы используете Python 2 или Python 3? Этот синтаксис печати работает только с первым. – Kevin

+0

Если вам нужна альтернатива html scraping, потому что pypi не работает, я использовал этот учебник. Это очень быстро и легко начать: http://docs.python-guide.org/en/latest/scenarios/scrape/ – marsh

ответ

2
  1. Если вы используете pygoogle из pypi, этот пакет больше не работает, поскольку Google отвергает интерфейс SOAP. Даже если вы исправите синтаксическую ошибку, это не сработает.
  2. Всегда указывайте сообщение об ошибке/трассировку стека, когда вы отправляете вопрос!
  3. Возможно, вы используете python 3, где print - это функция (print('Hello!')), а не ключевое слово (print 'Hello!') по умолчанию. Кроме того, форматирование старого стиля% устарело, вместо этого используйте .format().
+1

'%' -форматирование не устарело. Была битва над ним, и окончательный вывод состоял в том, что оба имеют свое место в разных случаях: '{}' -форматирование следует поощрять как выбор, если у вас нет веской причины, но ни один из них не должен быть устаревшим. – abarnert

+0

Спасибо за исправление @abarnert, я не знал, что он был урегулирован. – TkTech

+0

Я использую python 3.4.2, поэтому я забыл скобки для функции печати. Поскольку pygoogle не работает, кто-нибудь знает альтернативу? –