Java

Webサイトのタイトル・テキスト取得

はじめに

事前に以下のライブラリを用意します。

  • jsoup
    • http://jsoup.org/download

実装例

サンプルでは、動作確認しやすいようにmainメソッドで実行できるようにしてあります。
結果だけを確認したい場合は、この記事の一番下のリンク先で使えるようにしてありますのでご覧ください。

Wget.java

import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

/**
 *
 * @author tool-taro.com
 */
public class Wget {

	public static void main(String[] args) throws IOException {

		//取得したいURL
		String url = "http://tool-taro.com";
		//ユーザエージェント(ある程度最新のブラウザを指定しないとコンテンツを返してくれないサイトがある)
		String userAgent = "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0";

		//取得・パース処理
		Document document = Jsoup.connect(url).userAgent(userAgent).get();
		Elements elements = document.body().getAllElements();
		StringBuilder builder = new StringBuilder();
		for (Element element : elements) {
			if (element.ownText() == null) {
				continue;
			}
			builder.append(element.ownText()).append("\n");
		}
		//標準出力
		System.out.format("タイトル=%1$s, 本文=%2$s", document.title(), builder.toString());
	}
}

動作確認

$ javac Wget.java
$ java Wget
$ タイトル=Web便利ツール@ツールタロウ, 本文=Web便利ツール@ツールタロウ
CONTACT
Web便利ツール一覧
Web制作やシステム開発に便利なツールが無料で使えます。
...(省略)

実際に使う際には、Webサイトの著作権等に充分ご注意ください。

環境

  • 開発
    • Windows 10 Pro
    • JDK 1.8.0_74
    • NetBeans IDE 8.1
  • 動作検証
    • CentOS Linux release 7.2
    • JDK 1.8.0_74

上記の実装をベースにWebツールも公開しています。
WebサイトのHTMLテキスト取得|Web便利ツール@ツールタロウ
Webサイトのクロール|Web便利ツール@ツールタロウ

スポンサーリンク