Убедитесь, что страница правильно загружена в Python - PullRequest
0 голосов
/ 31 января 2012

Я пишу базовый скрипт очистки экрана, используя Mechanize и BeautifulSoup (BS) в Python. Однако проблема, с которой я сталкиваюсь, заключается в том, что по какой-то причине запрашиваемая страница загружается неправильно каждый раз. Я завершаю это, потому что при поиске загруженных страниц с использованием BS для существующих тегов я получаю сообщение об ошибке. Если я снова загружаю страницу, она работает.

Следовательно, я хотел бы написать небольшую функцию, которая проверяет, правильно ли загружена страница, и, при необходимости, перезагружает ее (я также мог бы решить ее, выяснив, что идет не так, но это, вероятно, слишком сложно для меня) ). Мой вопрос: как мне проверить, правильно ли загружена страница?

Ответы [ 3 ]

0 голосов
/ 31 января 2012

Я думаю, что вы можете просто найти html конечный тег, если этот тег есть - это действительная страница.

0 голосов
/ 31 января 2012

Самое общее решение - проверить, существует ли закрывающий тег </html>. Это позволит вам обнаружить усечение страницы.

Что-нибудь еще, и вам придется более четко описать режим сбоя.

0 голосов
/ 31 января 2012

Вы можете просто проверить наличие тега, который вы ожидаете найти, и, если он потерпит неудачу, повторить загрузку.

page = BeautifulSoup(page)

while page.body = None:
    #redownload the page
    page = BeautifulSoup(page)
#now you can use the data
...