Извлечение информации с сайтов - PullRequest
0 голосов
/ 25 ноября 2008

Не каждый веб-сайт хорошо предоставляет свои данные с помощью XML-каналов, API и т. Д.

Как я могу получить информацию с веб-сайта? Например:

...
<div>
  <div>
    <span id="important-data">information here</span>
  </div>
</div>
...

Я пришел из Java-программирования и программирования с использованием Apache XMLBeans. Есть ли что-то похожее на синтаксический анализ HTML, когда я знаю структуру и данные между известным тегом?

Спасибо

Ответы [ 3 ]

4 голосов
/ 25 ноября 2008

Вот статья , в которой есть пара инструментов очистки экрана, написанных на Java.

В общем, звучит так, как будто вы хотите взглянуть на регулярных выражений , которые соответствуют искомому шаблону.

Надеюсь, это поможет!

3 голосов
/ 25 ноября 2008

Существует несколько парсеров HTML с открытым исходным кодом для Java.

Я использовал JTidy в прошлом, и мне повезло с этим. Это даст вам DOM html-страницы, и вы сможете оттуда получить нужные вам теги.

0 голосов
/ 25 ноября 2008

Java кажется довольно сложным ограничением для такой задачи. Это жесткое требование? Языки сценариев идеальны для создания действительно большого количества кода последней мили.

Если вы открыты для этого, ruby ​​+ hpricot делает это совершенно тривиальным. Вы можете использовать селекторы css или xpath (или оба), чтобы найти (и манипулировать) контент в HTML. Захват документа, его анализ и извлечение текста в вашем примере - это буквально одна строка кода.

...