Неправильный синтаксический анализ XML / HTML - PullRequest
0 голосов
/ 26 августа 2011

Мне нужно проанализировать несколько (прочитано около 1600) HTML-страниц и извлечь содержимое следующего тега из каждого файла.

    textarea name="line" cols="66" rows="5" class="textbox" id="line" style="font-size:12px;" onkeydown="textCounter()" onkeyup="textCounter(); storeCaret(this);" onselect="storeCaret(this);" onclick="storeCaret(this);">TEXT I WANT IS HERE

(на самом деле это тег html textarea)Я думал, что смогу использовать DOMparser, но файлы содержат слишком много ошибок, и поэтому я столкнулся с JTidy, из другого вопроса здесь о stackoverflow, и я пытался использовать это ...

Но это не похожечтобы иметь возможность конвертировать HTML из любой страницы в XHTML, чтобы я мог затем использовать анализатор DOM.

Затем я подумал, что могу использовать регулярное выражение, но я не мог найти конкретное выражение, необходимое для извлечения этого текста, а также я наткнулся на несколько вопросов / ответов, в которых говорилось, что НЕ использовать регулярные выражения для разбора HTML ...

ТАК, по сути, мой вопрос, есть ли другой подход, чтобы получить нужный мне текст из искаженного текста?HTML

1 Ответ

1 голос
/ 26 августа 2011

Вы должны иметь возможность анализировать документы напрямую с помощью JTidy, не преобразовывая их в XHTML. Я делал это несколько раз, предоставил это некоторое время назад, но у меня это работало нормально и с довольно уродливым HTML.

РЕДАКТИРОВАТЬ: Еще один вариант, который я посмотрел, в прошлый раз, когда мне нужно было проанализировать HTML-файлы, был TagSoup. Я не мог использовать его в коммерческом продукте из-за его лицензии GPL, но если вам просто нужна эта функциональность как внутренний инструмент, он может работать для вас

...