動いていたスクレイピングが急に止まる3つの原因と、発注前に聞いておくべきこと

動いていたスクレイピングが急に止まる3つの原因と、発注前に聞いておくべきこと

記事
IT・テクノロジー
「先月まで毎週ちゃんと動いていたのに、急にデータが来なくなった」

Webからデータを自動で集める仕組み(スクレイピング)には、この「ある日突然止まる」がつきものです。作った人の腕が悪かったとは限りません。むしろ、どんなに丁寧に作っても止まるときは止まります。

なぜ止まるのか。原因はほぼ、次の3つのどれかです。


■ 原因1. 相手のサイトが模様替えをした

一番多いのはこれです。

スクレイピングは「このページのこの場所に価格が書いてある」という前提で動いています。相手のサイトがリニューアルやデザイン変更をすると、その前提が崩れて止まります。

これは直せます。新しいページの構造に合わせて、読み取る場所を直すだけです。

ただし、直りやすさは作り方で大きく変わります。ページの見た目の細部(CSSのクラス名など)に頼った作りだと、小さな変更でも壊れます。「表の中に品名と価格が並んでいる」という構造で読む作りにしておくと、デザインが変わっても生き残ることが多くなります。


■ 原因2. 相手のサイトがbot対策を入れた

アクセスが自動プログラムかどうかを判定して弾く仕組み(CloudflareやCAPTCHAなど)を、相手のサイトが後から導入することがあります。

この場合、私は修正をお断りしています。

理由は2つです。まず、bot対策の回避は相手サイトの利用規約に反することがほとんどです。そして、仮に回避できても、対策が強化されるたびにまた止まります。いたちごっこにお金を払い続けることになります。

このケースでは「公式APIがないか探す」「手作業に切り替える」「その項目は諦める」のどれかを一緒に考えるほうが、結局安くつきます。


■ 原因3. 相手のサイトが規約を変えた

作った時点では自動収集を禁止していなかったサイトが、あとから規約を変更することがあります。

怖いのは、止まらずに動き続けてしまう場合です。仕組みは元気に動いているのに、実は規約違反の状態になっている。発注者が気づかないまま、というのが一番よくないパターンです。

だから収集の前だけでなく、保守のタイミングでも規約とrobots.txt(サイトが自動アクセスへの方針を書いておく場所)は見直す必要があります。


■ 発注前に聞いておくと損しない3つの質問

これから外注する方は、契約前にこう聞いてみてください。

1.「止まったとき、止まったと分かる仕組みはありますか?」
 → 止まったことに1ヶ月気づかないと、その間のデータは戻りません。

2.「対象サイトの規約とrobots.txtは確認しますか?」
 → ここを確認しない業者に頼むと、違反リスクを発注者が背負うことになります。

3.「納品後、直せる資料は残りますか?」
 → 作った本人と連絡がつかなくなる事態は普通に起きます。修正手順書があるかどうかで、その後の選択肢がまるで違います。


■ 最後に

私はこの3つ(停止の検知・事前の規約確認・修正手順書)を全部つけたデータ収集の仕組みづくりを出品しています。気になる方はプロフィールからご覧ください。

取れないものは取れないとお伝えする方針です。まずは対象のサイトを教えていただければ、可否からお答えします。

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す