LINUX.ORG.RU

Python, htmlparser, апостроф


0

0

Доброго всем времени суток! При написании прграммы на питоне возникла такая проблемка: после разбора web-странички питоновским HTMLParser'ом в строчках нету ни апострофов, ни двойных кавычек.

Разбор делается следующим образом:

1. закачивается страничка в кодировке cp1251
2. скармливается парсеру
3. в парсере находим нужные теги и ставим соответствующие флаги
4. в функции handle_data вытаскиваются значения, которые находятся между открывающим и закрывающим тегами

Вот эта функция:

data уже без апострофов и кавычек

def handle_data(self, data):
if self.in_performer:
self.performer += unicode(data, 'cp1251')

if self.in_title:
self.title += unicode(data, 'cp1251')

if self.in_duration:
self.duration = unicode(data, 'cp1251')

if self.error_occured:
self.error_description += unicode(data, 'cp1251')

Подскажите, пожалуйста, чем можно исправить сию ситуацию.

P.S. Если для установления диагноза понадобятся другие части программы или примеры html-страничек, которые не парсятся — пишите, выложу куда-нибудь.

P.P.S. Стоит упомянуть, что в страничке используются апострофы в "обычном" виде, т.е. не закодированные, например, вот так: "Majesty's".

P.P.P.S. Собственно, сам сайт — http://vkontakte.ru/. Очень там аудиоархив хорош, пишу кроссплатформенную качалку для него. :-)


Ответ на: комментарий от Minmax

Смотрел в его сторону. Пока идея все переделывать меня мало вдохновляет, но если htmlparser не раздолбаю, буду ковырять "суп".

DiGital
() автор топика
Ответ на: комментарий от anonymous

Ясно, спасибо всем ответившим. Буду переделывать.

DiGital
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.