Разобрать HTML-страницу, используя ключевые слова в java

У меня есть ссылки на страницы contact_us с веб-сайтов почти 100 компаний. Мне нужно собрать адреса всех компаний, которые есть на каждой странице contact_us. Я пытаюсь использовать Jsoup, но если я использую Jsoup, это будет специфично для одной компании. Я должен реализовать общую реализацию.

Я рассматриваю следующую стратегию:

  • Везде, где мы находим такие ключевые слова, как офис, штаб-квартира и т. д. Я думал прочитать этот блок.

Например, см. эту ссылку: http://www.directenergysolar.com/company/contact-us/

На этой странице я должен собрать все адреса.

Есть ли лучший способ реализовать это?


person PSR    schedule 18.07.2016    source источник
comment
jsoup.org   -  person NemanjaT    schedule 18.07.2016
comment
@NemanjaT Используя jsoup, я не могу реализовать конкретную реализацию   -  person PSR    schedule 18.07.2016
comment
Возможно, вы могли бы удалить все теги HTML, а затем использовать регулярное выражение?   -  person 4castle    schedule 18.07.2016
comment
как насчет htmlcleaner.sourceforge.net   -  person NemanjaT    schedule 18.07.2016
comment
Ваши решения будут такими же разнообразными, как и страницы, которые вы получаете. Я не уверен, как реализовать универсальное решение.   -  person Hovercraft Full Of Eels    schedule 18.07.2016
comment
@HovercraftFullOfEels Вы правы. Поэтому мне нужно реализовать общее решение. Мне нужны ваши идеи по этому поводу.   -  person PSR    schedule 18.07.2016
comment
как бы вы его ни поворачивали, чтобы создать что-то действительно «общее», вам нужно будет отредактировать его в соответствии с вашими потребностями. Я не думаю, что вы столкнетесь с библиотекой, которая называется «Свяжитесь со мной, веб-сайт HTML-поиск» :) Возможно, это комбинация вышеупомянутых фреймворков (одна из них) и некоторого регулярного выражения для интеллектуального обнаружения информации «Свяжитесь со мной»?   -  person NemanjaT    schedule 18.07.2016
comment
@NemanjaT Нет, я не прошу библиотеку. Мне нужны ваши предложения.   -  person PSR    schedule 18.07.2016
comment
Также ищите микроданные, такие как google и facebook. Многие компании предоставляют микроданные для поиска в Google или публикации в Facebook, и обычно это JSON или специальная разметка. Приведенный вами пример не имеет встроенных микроданных (я не смог быстро найти их), но стоит попробовать другие. (ссылка: developers.google.com/search/docs/guides/intro -структурированные-данные)   -  person JrBenito    schedule 18.07.2016
comment
Мне кажется, что это множество операторов if. Например, сначала попробуйте найти тег с идентификатором contact-me или contactme и т. д. Если нет результатов, попробуйте захватить элемент, который содержит «Свяжитесь с нами», а затем возьмите текст после него, если это соответствует телефонному регулярному выражению и т. д. И т. д. И т. д. Я сомневаюсь, что существует истинное, простое математическое универсальное решение.   -  person NemanjaT    schedule 18.07.2016
comment
@JrBenito Google предоставляет любой API для этого search.google.com/structured-data/testing -инструмент   -  person PSR    schedule 18.07.2016


Ответы (1)


Цель, к которой вы стремитесь, определенно достижима. Jsoup — это всего лишь (небольшая) часть окончательного решения.

По сути, я вижу здесь четыре варианта:

  • Краудсорсинг
  • Машинное обучение
  • Суп
  • Сочетание трех вышеперечисленных подходов

См. ответ "извлечение информации из случайной веб-страницы с помощью JSOUP" для получения подробной информации о параметрах.

person Stephan    schedule 18.07.2016