スクレイピングというと一般的にはRubyが一番有名なようですが、もちろんスクレイピング自体はどの言語でも行うことができます。
スクレイピングの手法
スクレイピングは大きく分けると
- 正規表現でデータを取得するケース
- HTMLパーサーを使ってデータを取得するケース
に分かれます。
※必ずしもきれいに分かれるわけではないので一部正規表現、一部HTMLパーサーを使うというケースももちろんあります。
それぞれのメリット、デメリットを上げると下記のようなところでしょうか。
正規表現
メリット
どんな言語でも同じ方法で取得が行える。
ライブラリの知識などがいらない
デメリット
コード量が多くなり、またコードが汚くなる傾向にある
HTMLパーサー
メリット
コード量が少なく、コードがきれいになる
デメリット
ライブラリの学習コスト
Javaでのスクレイピング
Javaでのスクレイピングをする場合はjsoupというライブラリが便利です。
jsoup
要素の取得の仕方はgetElementByIdなどidで一気に取得する方法もあれば、CSSセレクタを使い、jqueryのように取得する方法もあります。細かい取得方法などは参考リンクを。
参考リンク
下記に私が作ったスクレイピングのソースがありますので、興味ある方はぜひ
https://github.com/umanari145/superScraping