クローラ4Jを使用してWebサイトをクロールするときにリンクのリンクテキストを入手する
-
09-12-2019 - |
質問
クローラ4Jを使ってウェブサイトをクロールしています。ページを訪れると、完全なURLだけでなく、すべてのリンクのリンクテキストを入手したいと思います。これは可能ですか?
事前にありがとうございました。
解決
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));
}
.
それからあなたがそれを手に入れることができるようにあなたがそれに着くことができるようにwrllinctextを貼り付けます。たとえば、クローラクラスのプライベートメンバーになり、ゲッターを追加することができます。
所属していません StackOverflow