BeautifulSoup заканчивает документ там, где его не должно быть, и я не могу понять, почему - PullRequest
0 голосов
/ 24 декабря 2011

Цель: я использую Mechanize, чтобы подключиться к веб-сайту моей школы, где я могу просмотреть свои итоговые оценки. Я хочу поставить этот скрипт на таймер cron, чтобы он очистил сайт, проверил изменения и отправил мне электронное письмо, если будет опубликована новая оценка.

Пока у меня есть Mechanize для подключения к сайту без проблем. Я попадаю на страницу, где выставляются оценки, и читаю страницу в переменную.

Когда я получаю html и сохраняю необработанный HTML-файл в файл, я вижу, что все это есть, но когда я пытаюсь отправить его в BeautifulSoup, он рано заканчивает файл, прежде чем какие-либо данные, которые я пытаюсь получить.

Это полный HTML-код, который он должен получать: http://pastebin.com/hd91JZS2

Вот что я получаю, передавая BeautifulSoup: http://pastebin.com/dakaWAf5

Он обрезается сразу после канала в строке 101 в полном HTML-файле. Я попытался использовать регулярное выражение, чтобы просто удалить трубу, думая, что это может быть проблемой, например так:

myMassage = [(re.compile('\|'),'')]
newParser = copy.copy(bs.BeautifulSoup.MARKUP_MASSAGE)
newParser.extend(myMassage)
soup = bs.BeautifulSoup(html,markupMassage=newParser)

Я также пытался использовать MinimalSoup и ICantBelieveItsBeautifulSoup, но они оба дали одинаковые результаты.

Я в недоумении, почему он отрезал, где он есть, у кого-нибудь есть понимание?

Спасибо!

...