механизировать открытие нескольких страниц - PullRequest
2 голосов
/ 04 марта 2011

Я использую Mechanize и Beautifulsoup для создания сценария Python для извлечения некоторых данных с веб-страницы. Соскоб работает нормально, но проблема в том, что я перехожу на несколько страниц. Есть ли способ перемещаться между страницами в механизме в цикле?

Вот что я попробовал

Browser().follow_link(text_regex="Next")

но она переходит на следующую страницу, что нормально, но если кнопка «Далее» не существует, она просто умирает. Я не уверен, как сделать лучший цикл или просто проверить, существует ли ссылка, перед запуском приведенной выше команды «следовать ссылке».

Большинство примеров и документации, которые я нашел, похоже, работают только на одной странице.

1 Ответ

1 голос
/ 04 марта 2011

Как ваш код "просто умирает"?Если оно выдает исключение, вы можете перехватить его и сделать что-то для правильной обработки (внутри цикла как есть):

try:
   Browser.follow_link(text_regex="Next")
except Exception:
   print "No more next button; terminating loop (but not dying mysteriously)"
   break
...