Извлечение данных HTML в Java - PullRequest
1 голос
/ 27 июня 2011

У меня есть HTML-код, похожий на:

<tr><td >1    </td>
<td class="tab-links">Value 1</td>
</tr>
<tr><td >2    </td>
<td class="tab-links">Value 2</td>
</tr>
<tr><td >3    </td>
<td class="tab-links">Value 3</td>
</tr>
<tr><td >4    </td>
<td class="tab-links">Value 4</td>
</tr>

Теперь я хочу извлечь данные следующим образом, пожалуйста:

1 : Value 1
2 : Value 2
3 : Value 3
4 : Value 4

Любые идеи, пожалуйста?

Ответы [ 3 ]

2 голосов
/ 27 июня 2011

Как описано в этом посте , вы должны не использовать регулярное выражение для разбора HTML.

Вместо этого используйте синтаксический анализатор XML / HTML.

1 голос
/ 27 июня 2011

http://htmlcleaner.sourceforge.net/

http://jsoup.org/

http://jericho.htmlparser.net/docs/index.html

- это известный html-парсер для java. Вы можете использовать любой из них.

1 голос
/ 27 июня 2011

Предполагая, что html правильно сформирован, вы можете проанализировать html, используя HtmlUnit .

Вы также можете написать собственное регулярное выражение для обработки страницы, если есть только одна таблица, но я настоятельно рекомендую против этого, поскольку регулярные выражения могут давать странные результаты, если на страницу добавляются дополнительные таблицы, тогда как с HtmlUnit, вы можете проверить, что страница имеет только одну таблицу, прежде чем вы начнете анализировать или просто настроить таргетинг на нужную таблицу.

...