Извлечение информации с веб-сайтов

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

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

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

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

Спасибо

Будьте осторожны при выполнении таких действий, особенно если вы собираетесь просмотреть множество страниц на одном сайте и очистить их все в поисках данных. Это может отрицательно сказаться на производительности веб-сайтов и не очень дружелюбно.

xan 25.11.2008 22:48

Я полностью согласен, меня не интересует парсинг, но бывают случаи, когда вам нужно получить доступ к данным на сайтах, обратите внимание, Java не является обязательным, просто предпочтение

Mark Sailes 25.11.2008 23:47
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
762
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

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

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

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

Ответ принят как подходящий

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

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

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

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

Другие вопросы по теме