Сопоставление с образцом проанализированного HTML с плохой реализацией тега для получения информации с помощью JSOUP - PullRequest
0 голосов
/ 16 ноября 2011

Я использую java с jsoup для разбора сайта, проблема в том, что много необходимой информации не окружено тегами.

например, каждый <p> ниже имеет телефонный номер для двух разных людей. один человек имеет телефон, а другой нет.

<p class="contact-info">Tel: <strong> 059-9162997</strong> | Mob: <strong>087-2280039</strong></p>
 <p class="contact-info">Mob: <strong>086 7726712</strong></p>

Как мне разобрать / сопоставить эту информацию для получения

человек 1 -----> 059-9162997, 087-2280039

человек 2 -----> 086 7726712

Также, как мне получить информацию для этого

<p class="contact-info">Address: <strong>Suite 26, Unit 1, North Park, North Road,Dublin 11, Dublin</strong> <br />Email: <a href="mailto:info@swillydrive.ie">info@swillydrive.ie</a><br />Website: <a href="http://www.swillydrive.ie">http://www.swillydrive.ie</a></p>

, где

Адрес -----> Suite 26, Unit 1, North Park, North Road, Дублин 11, Дублин электронная почта -------> info@swillydrive.ie сайт ------> http://www.swillydrive.ie

спасибо

1 Ответ

2 голосов
/ 16 ноября 2011

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

В вашем случае вам нужно выбрать все теги p с классом contact-info, а затем тег strong в нем. Синтаксис позволяет вам написать это так:

p.contact-info strong

Что в Java дает:

Elements elements = document.select("p.contact-info strong");
for (Element element : elements) {
    String phoneNumber = element.text();
}
...