Проблема с парсером Beautifulsoup

Я использую BeautifulSoup и механизацию, чтобы найти контент с веб-страницы. Дело в том, что ИНОГДА искомая строка не найдена. не знаю в чем может быть проблема

Он работал нормально в течение многих месяцев для многих веб-страниц, но внезапно перестал работать. Затем я должен перезапустить свою программу и надеяться на правильный результат.

Проблема в data.find(text=re.compile('string to find')). Веб-страница всегда загружается, но строка иногда не найдена. Думаю проблема может быть в неправильном HTML форматировании загружаемой страницы? Есть идеи?

Вот очень небольшая часть кода, с которым я работаю, и это только для вашего обзора.

from BeautifulSoup import BeautifulSoup as soup
from mechanize import Browser
import sys, re

def get_page(url):
    mech = Browser()
    page = mech.open(url)
    return page.read()

def test():
    data = soup(get_page('some url'))

    div_pages = data.find(text=re.compile('string to find'))

    try: pager = div_pages.strip().split(' ')
    except:
        print div_pages
        sys.exit()

    print 'ok'

if __name__ == '__main__':
    test()

person nabizan    schedule 01.09.2011    source источник
comment
Попробуйте зарегистрировать страницу, когда необходимые данные не найдены. Это может быть проблема со страницей, которую вы загружаете, а не со скриптом.   -  person Shawn Chin    schedule 01.09.2011
comment
@Шон Чин: окей, я понял. этот конкретный веб-сайт в настоящее время находится в процессе тестирования нового дизайна. я не знаю точное уравнение, но мне кажется, что одна из двадцати просмотров страниц имеет другой дизайн, поэтому мои скребки не будут работать :), поэтому правило номер один: будьте уверены, что вы очищаете!   -  person nabizan    schedule 01.09.2011


Ответы (1)


Я помог кому-то с похожей проблемой, и это оказалось кодировкой строки. Эта ссылка (из их документов) может помочь вам в этом: Beautiful Soup дает вам Unicode, черт возьми

person diversemix    schedule 01.09.2011
comment
спасибо за помощь, такого не было. см. мой комментарий выше к Шону Чину о решении проблемы - person nabizan; 01.09.2011
comment
Нет проблем - просто подумал, что включу его на случай, если это поможет - удачного очистки - person diversemix; 01.09.2011