Beautifulsoup проблема с веб-скребком - PullRequest
1 голос
/ 01 сентября 2011

Я использую 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()

1 Ответ

0 голосов
/ 01 сентября 2011

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

...