Форум сайта python.su
Здравствуйте, уважаемое коммьюнити.
Прошу вашей помощи в таком вопросике.
Имеется файлик в хтмл, в нем находится кусок отформатированного текста.
Необходимо выдрать из него текстовые данные.
Но вот беда - BeautifulSoup при выдирании не реагирует на <br> тэг.
В результате из
“Привет</br>Вася”
Получается “ПриветВася” хотя должно бы
“Привет
Вася”
paga = open("page.html").read().decode("UTF-8")
soup = BeautifulSoup.BeautifulSoup(paga)
for data in soup.findAll("div", "text_content"):
print data.getText()
Отредактировано (Янв. 27, 2010 17:16:41)
Офлайн
diam123нет, как должно быть почитайте в документации. Кроме того, обработку каждого тега вы можете переопределить сами, наследуясь от соответствующего класса.
хотя должно бы
Офлайн
regallСмотрел исходники только, по докам не рылся. В них не нашел.
Офлайн
Или используй html5lib, лучше валидирует, но работает медленней.
..bw
Офлайн
bwА что посоветуете для использования в будущем - html5lib или все-таки BeautifulSoup ?
Или используй html5lib, лучше валидирует, но работает медленней.
Офлайн
Я остановил свой выбор на html5lib прежде всего из-за его точного валидатора. Например, со структурой HTML я разбираюсь в Firefox (реже в Opera), после этого пишу код, в 99.9% случаев он работает в html5lib, а вот BeautifulSoup восстанавливает другой XHTML, отличный от “образцовых” браузеров, приходилось возиться, да еще и от версии супа зависит, какой XHTML на выходе будет. Для обхода документа DOM, полученного после парсинга html5lib использую XPath, требуется время для привыкания, но потом тебя от него за уши не оттащишь :-). Не думаю что html5lib суждено загнуться, проект весьма амбициозный.
..bw
Офлайн
Понял, тогда сейчас попробую перескочить на html5lib. :)
UPD. Короче, забил на парсеры хтмл - не могу вьехать в DOM толком :(.
Распарсил всё регулярками да и всё, ато с этими парсерами второй день вожусь, а сделать ничего не могу :(
Отредактировано (Янв. 28, 2010 17:04:33)
Офлайн