「競合の価格を毎週自動で集めたい」「求人情報を一覧にしたい」
Webのデータを自動で集める仕組み(スクレイピング)を外注しようと考えたとき、多くの方は「いくらでできるか」から調べ始めます。
でも、その前に確認すべきことがあります。そもそも、そのサイトは自動収集をして良いサイトなのか、です。
サイトによっては、利用規約で自動収集を禁止しています。知らずに仕組みを作ってしまうと、完成後に止められて費用が全部無駄になったり、最悪の場合は相手サイトとのトラブルになります。作る前なら、確認は5分でできます。
■ 確認1. 利用規約を「自動」で検索する
対象サイトのいちばん下(フッター)に「利用規約」へのリンクがあることがほとんどです。
規約を開いたら、全部読む必要はありません。ページ内検索(WindowsはCtrl+F、Macは⌘+F)で、次の言葉を探してください。
・自動
・クローリング、クローラー
・スクレイピング
・ロボット、プログラム
「自動的にアクセスする行為を禁止します」といった記載が見つかったら、そのサイトのスクレイピングは頼んではいけません。ここで引き返せば、費用はゼロです。
■ 確認2. robots.txt を見てみる
サイトのトップページのURLの後ろに「/robots.txt」を付けて開いてみてください(例: example.com/robots.txt)。
これは、サイトが「機械によるアクセスをどう扱うか」を書いておく場所です。「Disallow:」の後ろに書かれている場所は、「機械は入らないでほしい」という意思表示です。
読み方が分からなくても大丈夫です。「そういう意思表示のファイルがある」と知っていて、発注先に「robots.txtは確認しましたか?」と聞けることが大事です。ここで言葉に詰まる業者には頼まない方が安全です。
■ 確認3. 公式のAPIやデータ配布がないか探す
「サイト名 API」で検索してみてください。
APIというのは、サイト側が公式に用意している「データの受け渡し口」です。これがあるなら、スクレイピングより安定していて、規約の心配もない方法でデータを取れることが多いです。
公式の入口があるのに裏口から入る理由はありません。見つけたら、発注時に「APIでできませんか」と聞いてみてください。
■ 3つ確認しても残る問題
この3つで問題がなさそうでも、集める内容に個人情報が含まれる場合や、ログインしないと見られないページの場合は、また別の確認が必要です。このあたりは判断が難しいので、発注前に詳しい人に見てもらうことをおすすめします。
■ 最後に
私は、この確認を対象サイト1件からお引き受けする「事前診断」を出品しています。規約とrobots.txtと技術面を確認し、「進めて良いか/やめた方が良いか」を報告書でお渡しするものです。「やめた方が良い」という結論も、理由と代わりの手段を添えてそのままお伝えします。
気になる方はプロフィールからご覧ください。対象サイトのURLを教えていただければ、お受けできるかどうかからお答えします。