外部サービスのデータ自動収集(スクレイピング)
ログイン要否・利用規約・リクエスト間隔で変わるスクレイピングの法的リスク。過負荷は刑事責任も
| 項目 | 内容 |
|---|---|
| 疑うべき法令 | 不正アクセス禁止法・不正競争防止法・刑法(業務妨害) |
| 確認タイミング | 機能企画〜実装時 |
なにが問題になるか
最も誤解されているのが robots.txt の扱いです。robots.txt は慣習的なファイルであり、法的拘束力はありません。無視することが「即違法」になるわけではありませんが、無視して大量アクセスしたり、利用規約で禁止されているスクレイピングを行ったりした場合は、民事上の損害賠償請求の対象になりえます。「法律違反ではないからOK」と「問題がない」は別の話です。
リスクは大きく3層あります。
- 不正アクセス禁止法:認証で制限されたシステムに認証を回避してアクセスする行為は禁止。他人のアカウントの認証情報を使ったアクセスは同法違反(3年以下の懲役または100万円以下の罰金)です。自分のアカウントでも、利用規約でボットが禁止されていれば規約違反になります。
- 不正競争防止法:データベースの内容を体系的に大量取得し同様のサービスを構築する行為は、データ不正取得等(同法第2条第1項第11号・第12号)の問題になることがあります。
- 業務妨害罪(刑法第234条の2):悪意がなくても、ループのバグや過度な並列処理で相手サーバーを過負荷にしサービスを停止させると、電子計算機損壊等業務妨害として刑事責任を問われる可能性があります。2010年の岡崎市立中央図書館事件では、デフォルト設定のままのクロールプログラムが障害を起こし、開発者が逮捕されました。
なお、「利用規約違反」は民事上の問題(アカウント停止・損害賠償)、不正アクセス禁止法や不正競争防止法の違反は刑事上の犯罪(逮捕・起訴の対象)です。この2つを混同しないことが重要です。
リクエスト間隔(スリープ)を適切に設けることは、マナーではなく自分を守るための法的防御策です。
確認すべきこと
- ログインが必要なページへの自動アクセスについて、利用規約と不正アクセス禁止法の観点から確認した
- 対象サービスの利用規約でスクレイピング・ボットが禁止されていないか確認した
- スクレイピング処理にリクエスト間隔(sleep/wait)を設定した
- スクレイピング処理のループ・並列数が過剰にならないよう、コードレビューで確認した
- スクレイピング処理のUser-Agentに自社名・連絡先を記載した
- 体系的な大量取得・ビジネス化にあたる場合、不正競争防止法の観点を法務に確認した
こんな仕様が出たらアラート
- 外部サービスのデータを自動収集して自社サービスに取り込む
- ログインが必要なページへのアクセスを自動化する
- 競合サービスの商品情報・価格情報を定期的に収集する
- 短時間に大量リクエストを送る処理を実装する(リクエスト間隔の設定は必須)
あわせて確認
- 収集データに個人情報が含まれるなら → 外部CRM・メール配信サービスへのデータ連携