Apitore blog

Apitoreを運営していた元起業家のブログ

【API】URLからURL内のリンクを取る(URL2HREF、URL2SRC)

はじめに

昨日の続きです。Jsoupというライブラリを使ってウェブスクレイピングするAPIを作りましたので公開します。今回は前回より少し踏み込んだAPIです。URLを入力するとそのURL内に含まれるHrefリンク全てを取得するAPIと、URLを入力するとそのURL内に含まれるimgタグのsrcリンク全てを取得するAPIを紹介します。 amarec (20161214-224217)

注意事項

Apitoreの利用規約は遵守してください。Apitoreは本APIの利用に伴う一切の責任を負いません。スクレイピングの可否は先方の規約に依存します。例えば、Amazonのようにスクレイピングを禁止しているサイトへのスクレイピングは禁止です。ログを取っているので、通報があったり悪質な使い方をしている場合は当該アカウントを凍結、場合によっては法的な措置を取ります。

サンプルコード

使ってみる

公開したAPIは以下の2つです。

前者はURLからURL内部のHrefリンクを全部抜き出して出力し、後者はURLからURL内部のimgタグのsrcリンクを全部抜き出して出力します。ためしに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",
...
}

おわりに

スクレイピングは便利ですが、ルールはしっかり守りましょう。私はURL2HREFを使ってACL Anthologyの論文をスクレイピングしました。約1週間かけて30GB以上のファイルをダウンロードしました。自然言語処理の最先端の論文を集めて、これからWord2Vecしてみたいです。