В настоящее время я пытаюсь очистить веб-сайт с довольно плохо отформатированным HTML (часто отсутствующие закрывающие теги, без использования классов или идентификаторов, поэтому невероятно сложно перейти к нужному элементу и т. Д.).). Я использую BeautifulSoup с некоторым успехом, но все время от времени (хотя и довольно редко) я сталкиваюсь с страницей, где BeautifulSoup создает дерево HTML немного иначе, чем (например) Firefox или Webkit. Хотя это понятно, так как форматирование HTML оставляет это двусмысленным, если бы я смог получить то же дерево разбора, что и Firefox или Webkit, я мог бы легче разбирать вещи. Проблемы обычно похожи на сайт, который дважды открывает тег <b>
, и когда BeautifulSoup видит второй тег <b>
, он сразу же закрывает первый, в то время как Firefox и Webkit гнездятся в тегах <b>
.Веб-скребок с Python
Есть ли библиотека стирания веб-страниц для Python (или даже любого другого языка (я отчаянно)), который может воспроизводить дерево синтаксического разбора, созданное Firefox или WebKit (или, по крайней мере, ближе к BeautifulSoup в случаях двусмысленности) ,
Почему бы не использовать сам WebKit? Webkit - с открытым исходным кодом. Да, для того, чтобы привыкнуть, потребуется немного времени. –
Вы сказали группе beautifulsoup? Вероятно, они заинтересованы в таких трюках, как ваши http://groups.google.com/group/beautifulsoup –
Сколько раз задавались вопросы ... –