JavaTips

Javaでスクレイピングをしよう【ライブラリ使用で5行で出来る】

スクレイピング
Java初心者
Javaでスクレイピングをする方法を知りたいな、、

上記悩みに答えます。

たけ
大手SI企業の現役Javaエンジニアです。Java Goldの資格を保有しています。

Javaのスクレイピングはライブラリを使用

JavaAI

Javaでスクレイピングをするには「jsoup」というライブラリを使用します。

利用方法や注意点は後述しますが、まずはJavaでスクレイピングを行うプログラムを見てみましょう。

実行結果は以下になります。

当ブログのトップページに表示されている、記事のタイトルを取得しています。

およそ、5行程度のプログラムですので、難しくないですね。

スクレイピングとは

ウェブサイトから情報を取得し、データ解析や目的に沿う情報に整形する事をスクレイピングといいます。

 スクレイピングのイメージ
スクレイピングイメージ

具体的なスクレイピングの処理イメージです。

Javaから「jsoup」のライブラリを使用して、所定のページへアクセス(Webサーバ)すると、HTMLの情報が取得出来ます。

取得したHTMLの情報を解析をして記事のタイトル一覧を表示しています。

本格的なスクレイピングを行う場合、クライアントではなくWebサーバやDBサーバのレンタルをして、定期的にスクレイピングを行った結果をDBに蓄積するのが一般的です。

スクレイピングの注意点

無作為にスクレイピングをすると、捕まる危険性があります

有名なスクレイピングでの逮捕事例は下記の通り。

岡崎市立中央図書館事件(おかざきしりつちゅうおうとしょかんじけん)は、2010年3月頃に岡崎市立図書館の蔵書検索システムにアクセス障害が発生し、利用者の一人が逮捕された事件である。利用者に攻撃の意図はなく、また、根本的な原因が図書館側のシステムの不具合にあったことから論議を呼んだ。逮捕された人物が取調べの後、Librahackというサイトを立ち上げて解説をしたことから、Librahack事件とも呼ばれる。

Wikipedia引用

こういった事例もあるので、スクレイピングを行う際のマナーは最低限守りましょう

明確な法律等、まだ整備されていない部分もありますので、マナーの詳細は技術雑記様の【Webスクレイピング】注意事項や最低限のルールに目を通して貰えればと思います。
私も参考にさせて頂いております。

jsoupの利用方法

jsoup公式ページへアクセスして、ライブラリをダウンロードしましょう。

トップページ
JSOUP設定イメージ

トップページ下段の「Getting started」欄にある「Download」リンクをクリックします。

JSOUP設定イメージ

ページ上段部の「jsoup-1.12.1.jar」ファイルをダウンロードします。
最新バージョンは「1.12.1」です。(2019/11月時点)

JSOUP設定イメージ

所定のフォルダにダウンロードされた事を確認します。

これでJavaでスクレイピングに必要なライブラリのダウンロードは完了です。
この後、Javaで利用出来るように設定を進めていきます。

Eclipseに「jsoup.jar」を追加

Eclipseを起動します。

JSOUP設定イメージ

プロジェクトを「右クリック」します。

JSOUP設定イメージ

ビルド・パス」→「外部アーカイブの追加」を選択します。

「jsoup-1.12.1.jar」を選択します。

JSOUP設定イメージ

プロジェクト配下に「jsoup-1.12.1.jar」が表示されていますね。
これで環境設定は完了です。後は冒頭のプログラムをコピペすればOKです。

プログラム解説

プログラムの解説をしていきます。

指定されたURLのページに「GET」のリクエストを発行して、ページの情報を取得しています。

取得したページ情報から「<h3>」タグ内のデータを全て取得する処理になります。

取得したタグの値を表示する処理になります。

5行程度ですが、Javaのスクレイピングはライブラリを使用すれば簡単に出来ますね!

たけ
Javaで挫折しそうだったり、悩んだ場合は気軽にお問い合わせから連絡下さい。良いプログラムが出来た!という報告も待ってます!

以上になります。

人気記事Java初心者にオススメの入門書籍2冊【現役エンジニアが厳選選択】

-JavaTips

Copyright© JavaSkillHacks , 2020 All Rights Reserved.