Нет больше BeautifulSoup - PullRequest
3 голосов
/ 14 июля 2010

Я использовал BeautifulSoup, но, насколько я понимаю, библиотека больше не поддерживается.Так что я должен использовать?Я слышал о Xpath, но что еще там?

Ответы [ 4 ]

6 голосов
/ 14 июля 2010

Я бы держался подальше от lxml, это слишком капризно на мой вкус. Я бы попробовал html5lib на вашем месте. Он не только анализирует html, но и исправляет ошибки, которые вы видите в супе тега, известном как недействительный html.

Он даже имеет режим эмуляции BeautifulSoup, генерируя дерево разбора в форме Beautiful Soup, чтобы упростить перенос старого кода:

import html5lib
from html5lib import treebuilders

f = open("mydocument.html")
parser = html5lib.HTMLParser(tree=treebuilders.getTreeBuilder("beautifulsoup"))
minidom_document = parser.parse(f)
4 голосов
/ 14 июля 2010

Попробуйте lxml lib: http://codespeak.net/lxml/

0 голосов
/ 14 июля 2010

Ну, если вы не обязаны работать с Python, вы всегда можете использовать парсер TagSoup. Это библиотека Java, но она дает очень хорошие результаты. Вы также можете просто использовать Tidy для очистки ввода, прежде чем пытаться его проанализировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...