Проблем с уеб скрепера на Beautifulsoup

Използвам BeautifulSoup и mechanise, за да намеря малко съдържание от уеб страница. Работата е там, че ПОНЯКОГА низът, който търся, не се намира. Не знам какво може да е проблемът

Работеше добре в продължение на много месеци за много уеб страници, но изведнъж спря да работи. След това трябва да рестартирам програмата си и да се надявам на правилния резултат.

Проблемът е в 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
@Shawn Chin: добре, разбрах го. този конкретен уебсайт в момента е в процес на тестване на нов дизайн. не знам точното уравнение, но ми се струва, че едно от зареждането на преглед на двадесет страници е с различен дизайн, така че моите скрепери няма да работят :) така че правило номер едно: бъдете сигурни какво изстъргвате!   -  person nabizan    schedule 01.09.2011


Отговори (1)


Помогнах на някого с подобен проблем и се оказа, че е кодирането на низа. Тази връзка (от техните документи) може да ви помогне по пътя - Красивата супа ви дава Unicode, по дяволите

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