クローラ4Jを使用してWebサイトをクロールするときにリンクのリンクテキストを入手する

StackOverflow https://stackoverflow.com//questions/9610946

質問

クローラ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を貼り付けます。たとえば、クローラクラスのプライベートメンバーになり、ゲッターを追加することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top