Получить текст ссылки ссылок при сканировании веб-сайта с помощью crawler4j - PullRequest
1 голос
/ 08 марта 2012

Я использую crawler4j для сканирования веб-сайта.Когда я захожу на страницу, я хотел бы получить текст ссылки всех ссылок, а не только полные URL.Возможно ли это?

Заранее спасибо.

1 Ответ

1 голос
/ 14 июня 2012

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

Map<String, String> urlLinkText = new HashMap<String, String>();
String content = new String(page.getContentData(), page.getContentCharset());
Pattern pattern = Pattern.compile("<a[^>]*href=\"([^\"]*)\"[^>]*>([^<]*)</a[^>]*>", Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(content);
while (matcher.find()) {
    urlLinkText.put(matcher.group(1), matcher.group(2));
}

Затем вставьте куда-нибудь urlLinkText, чтобы вы могли добраться до него после завершения сканирования.Например, вы можете сделать его закрытым членом вашего класса сканера и добавить получатель.

...