skillup

技術ブログ

Java

Javaでのスクレイピング

投稿日:2016年1月11日 更新日:

スクレイピングというと一般的にはRubyが一番有名なようですが、もちろんスクレイピング自体はどの言語でも行うことができます。

スクレイピングの手法

スクレイピングは大きく分けると

  • 正規表現でデータを取得するケース
  • HTMLパーサーを使ってデータを取得するケース

に分かれます。

※必ずしもきれいに分かれるわけではないので一部正規表現、一部HTMLパーサーを使うというケースももちろんあります。

それぞれのメリット、デメリットを上げると下記のようなところでしょうか。

正規表現

メリット

どんな言語でも同じ方法で取得が行える。

ライブラリの知識などがいらない

デメリット

コード量が多くなり、またコードが汚くなる傾向にある

HTMLパーサー

メリット

コード量が少なく、コードがきれいになる

デメリット

ライブラリの学習コスト

Javaでのスクレイピング

Javaでのスクレイピングをする場合はjsoupというライブラリが便利です。

jsoup 

http://jsoup.org/

要素の取得の仕方はgetElementByIdなどidで一気に取得する方法もあれば、CSSセレクタを使い、jqueryのように取得する方法もあります。細かい取得方法などは参考リンクを。

参考リンク

jsoup使い方メモ

jsoupでHTMLをパースする

下記に私が作ったスクレイピングのソースがありますので、興味ある方はぜひ

https://github.com/umanari145/superScraping

 

-Java
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

便利すぎる道具の弊害

現在、Javaのプロジェクトでは会社でNetbeansを使っていますが、IDEを使っているばっかりに理解できていないところがありました。便利すぎる道具の弊害ですね・・・ IDEについて一応説明をしてお …

no image

Fileオブジェクトの操作

業務でテキストファイルを読み込んで、別形式に変換して出力みたいなアプリを作ったときにファイルオブジェクトについていろいろ調べたんでまとめておきます。 Contents1 ファイルオブジェクトとは?2 …

no image

CDIの循環依存エラー&JSFでの条件分岐について

本日は小ネタなので2つのネタをまとめます。 Contents1 CDI循環依存エラー2 JSFでの条件分岐 CDI循環依存エラー 半年近くやってますが、いまだにJavaEEでエラーがでてくると焦ります …

no image

Javaビルドツール

JavaではPHPやRubyなどといったインタプリタ言語とは違い、ソースはクラスファイルといわれるファイルに変換する必要があります。この作業をコンパイルと呼びます。最低限この作業をやらないとプログラム …

no image

JSFのメッセージのレンダリング

ManagedBeanとJSFでメッセージのやり取りをする場合、直接メッセージを変数として持たせるよりは、JSFの仕組みを通じてメッセージを出力させたほうが適切です。 Contents1 エラーメッセ …

アーカイブ