はじめに
Jsoupというライブラリを使うと簡単にウェブスクレイピングできちゃいます。つかいこなせばWeb Automationなどもできちゃいますね。Jsoupで出来る簡単な処理をAPIにしたのであわせて紹介します。
注意事項
スクレイピングの可否は先方の規約に依存します。例えば、Amazonのようにスクレイピングを禁止しているサイトへのスクレイピングは禁止です。場合によっては法的な措置を取られますのでルールはちゃんと守りましょう。
使ってみる
公開したAPIです。
それぞれ「URLをHTMLにして出力」「URLからテキストを抜き出して出力」「URLからURL内部のHrefリンクを全部抜き出して出力」「URLからURL内部のimgタグのsrcリンクを全部抜き出して出力」します。
ためしにWikipediaについてのwikipedia記事をURL2TEXTしてみます。途中を中抜しましたが、このように本文のテキストを取れます。
{
"log": "",
"startTime": "1481723361899",
"endTime": "1481723362888",
"processTime": "989",
"text": "ウィキペディア - Wikipedia ウィキペディア 出典: フリー百科事典『ウィキペディア(Wikipedia)』 移動先: 案内、 検索 本項目は、百科事典の記事としてウィキペディアを説明したものです。
...
最終更新 2016年10月2日 (日) 09:22 (日時は個人設定で未設定ならばUTC)。 テキストはクリエイティブ・コモンズ 表示-継承ライセンスの下で利用可能です。追加の条件が適用される場合があります。詳細は利用規約を参照してください。 プライバシー・ポリシー ウィキペディアについて 免責事項 開発者 Cookie statement モバイルビュー"
}
つづいて、Wikipediaについてのwikipedia記事をURL2SRCしてみます。途中を中抜しましたが、このように本文内のimgのURLを取れます。
{
"log": "",
"startTime": "1481724733607",
"endTime": "1481724734550",
"processTime": "943",
"links": [
"https://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Padlock-silver.svg/20px-Padlock-silver.svg.png",
"https://upload.wikimedia.org/wikipedia/commons/thumb/5/5a/Wikipedia%27s_W.svg/20px-Wikipedia%27s_W.svg.png",
"https://upload.wikimedia.org/wikipedia/commons/thumb/5/5f/Disambig_gray.svg/25px-Disambig_gray.svg.png",
"https://upload.wikimedia.org/wikipedia/commons/thumb/8/80/Wikipedia-logo-v2.svg/100px-Wikipedia-logo-v2.svg.png",
...
}
APIコールサンプル
元ネタ
おわりに
ウェブスクレイピングができると色々と週末ハッカソンが捗ります。もちろんルールを守って迷惑かけずに使いましょう。