logo
languageJPdown
menu

Webスクレイピングで知るべき5つのCAPTCHA知識

約5分で読めます

Webサイトにログインしようとた際に、読みにくい文字の入力を求められたことがありませんか。こうしたロボットが判読しにくい文字列を「CAPTCHA(キャプチャ)」と呼びます。サイト運営者側がCAPTCHAを設定することは、スパム対策として有効な手段の一つです。

一方、任意のWebサイトから特定の情報だけを収集するWebスクレイピングを行う場合、CAPTCHAが設定されているサイトは、スクレイピングが難しくなります。CAPTCHAが設定されているWebサイトをスクレイピングしたい場合はどのようにすれば良いのでしょうか?

今回はCAPTCHAの基本知識から、Webスクレイピングを行う際のCAPTCHAの回避方法について解説します。

CAPTCHAとは

CAPTCHAとは、Completely Automated Public Turing test to tell Computers and Humans Apartの略で、日本語で「コンピュータと人間を区別する完全に自動化された公開チューリングテスト」を意味します。

かんたんにいえば、Webサイトやオンラインサービスを利用する際にコンピュータ(ボット)ではなく人間によって操作されていることを判断する、スパム対策の仕組みです。悪質なコンピューターボットは、マルウェアの拡散から個人情報の流出など、さまざまなセキュリティ上の被害をもたらします。

そのため、Webサイトやサービスの運営者は、ユーザーにCAPTCHAでのアクセスを促すことで悪質なスパムボットからのアクセスを防ぐことができます。

CAPTCHAの仕組み

CAPTCHAでは、ボットには識別できないような、ゆがんだ文字列と数字を表示しユーザーに入力を指示します。ユーザーは表示された文字列と数字を読み解き、フォームに入力します。文字列以外にも、風景画像の中から信号機や階段などの抽出を促すものや、ジグソーパズルのように画像を完成させるものもあります。こうしたCATCHAテストは、マイページログイン、アカウント作成、ECサイトの取引ページなどに利用されています。

人間の場合は、人それぞれ筆跡が異なったり、フォント(字体)が異なったりしても、同じ文字列として認識できます。しかし、ボットのようなコンピュータープログラムの場合は認識しきれないことからCAPTCHAはスパム対策として取り入れられるようになりました。

Webスクレイピングで動作するクローラーボットもCAPTHAを認識するのは容易ではありません。近年では、スクレイピングを防ぐためにCAPTCHAを導入されているケースも増えています。

CAPTCHAの種類

CAPTCHAにはいくつかの種類が存在します。例えば、テキストCAPTCHA、画像認識CAPTCHA、音声CAPTCHAがあげられます。

CAPTCHA

テキストCAPTCHAは、歪んだ文字列がランダムに表示される部分と、文字列を入力するテキストボックスで構成されます。ユーザーは画像に表示された歪んだ文字列を読み解きテキストボックスに入力することで、人間かどうかを判別できます。

単純な文字列の判別はコンピューターボットにとってそれほど難しくありません。OCR(光学文字認識)技術が発達したことで、人間のように読み解くことができるようになりました。近年では解読の難易度を上げるために、計算問題を出すCAPTCHAや、3D効果で文字を表示する3D CAPTCHAなども登場しています。

画像認識CAPTCHA

画像認識CAPTCHAは、画像内のモノ、動物、風景を判別させるCAPTCHAです。例えば、「花を選んでください」といった問題が表示されたら、画像の中から花に該当する部分を選択します。その他にも、ジグソーパズルのピースを埋めるように正しい画像をドラッグして画像を完成させるものもあります。

文字入力に比べて判別が難しいため、人間とコンピューターボットを正確に区別します。

音声CAPTCHA

音声CAPTCHAはランダムな単語や数字を適当に組み合わせたり、雑音に混じった数字を聞き取らせたりして、その内容を応答者に入力してもらう方式です。人間は普段様々な環境雑音(カフェ内の会話や駅前の雑音)の中でも音声を聞き分け、会話をすることができます。

しかしコンピューターボットには、環境雑音の中から音声を判別することは難しい課題です。そのため、音声CAPTCHAは正確に人間とロボットを判別することが可能です。

CAPTCHAが普及した理由

CAPTCHAの歴史は古く、一般的なタイプは1997年に作成されたといわれています。2022年現在、CAPTCHを提供するベンダーは20社以上存在し、中でもGoogleのreCAPTCHAは600万以上のWebサイトで使用されています。

ここまでCAPTCHAが広く普及した大きな理由は、悪意のあるスパムボットやサイバー攻撃からWebサイトへのアクセスを防ぐことです。特に近年ではオンラインサービスの普及に伴い、サイバー攻撃の技術も進化し続けています。

万が一、情報漏洩事故などを起こしてしまえば社会的信頼は失われ、企業としての存続すら危ぶまれるでしょう。そのため、Webサイト管理者やオンラインサービス運営者が情報セキュリティの質を高めることは企業として重要な責務です。

CAPTCHAの技術は今もなお進化し続けており、Webサイトに不正登録するボットや悪意のあるスパムのブロックに貢献しています。

スクレイピングでCAPTCHAを回避する方法

CAPTCHAは設定されたクローラーを簡単に破壊できるため、CAPTCHAの回避策を検討することはWebスクレイピングを実行する上でとても重要です。CAPTCHAを回避する最良の方法は、サイト側にWebスクレイパーからのアクセスであることを気づかれないようにすることです。

Webスクレイパーのアクセスリクエストの時間を空け、可能な限り低速でスクレイピングを実行します。つまり、「人間らしく行動する」ということが大切です。詳しくはこちらの記事をご覧ください。
参考:スクレイピングテクニック – バレないようにする方法を解説

その他にも、Webスクレイパーが避けられないCAPTCHAはたくさんあります。WebスクレイピングツールOctoparse(オクトパス)では、CAPTCHAを解決する機能が備わっています。詳しくは、Octoparseのチュートリアルをご覧ください。
参考:Octoparseチュートリアル

自分でWebスクレイパーをコーディングする場合は、CAPTCHAを回避するサービスとして「CAPTCHAソルバー」が有名です。例えば、「Death by CAPTCHA」「Bypass CAPTCHA」はAPIを提供しており、ユーザーは作成したスクレイパー内に組み込むことで、スクレイピングの過程でCAPTCHAを自動的に解読することができます。こうしたCAPTCHAソルバーは、テキストCAPTCHAやreCAPTCHAなど様々なCAPTCHAに対応しています。

まとめ

CAPTCHAはWebサービスを楽しむ方にとって、面倒な存在ともいえるでしょう。もちろん、悪意のあるサイバー攻撃を防ぐという役目はあるものの、健全に利用したい方にとっては、毎回CAPTCHA認証をするのはわずらわしいと感じてしまいます。

また、Webスクレイピングで効率的にデータ収集をしたい方にとっては、CAPTCHAがあることで作業が進まないため、「どうにかCAPTCHA認証を自動化したい」と感じるのは自然なことです。

しかしながら、CAPTCHAはすでにそこまで恐れる存在ではなくなりつつあります。スクレイピングツールとCAPTCHAのソルバーの発展に伴い、CAPTCHAは昔ほど意味を持たなくなっています。Webスクレイピング自体に違法性はありません。

スクレイピングの使い方を間違えず、相手に迷惑を掛けない範囲であれば問題ありませんし、スクレイピングを行うことで私たちはより重要なことに時間を割くことができます。スクレイピングに関しして詳しく知りたい方はこちらもご覧ください。
参考:スクレイピングは違法?Webスクレイピングに関する10のよくある誤解!

CAPTHAがあるサイトだからといって、必要以上に慎重にならず積極的に活用していきましょう。

人気記事

トピックを検索する

今すぐOctoparseを始めて、業務効率化を実現しましょう。

ダウンロード

関連記事

  • avatarTakahashi
    「Webスクレイピングツールを自分でゼロから構築したい」こうしたニーズが近年急増しています。Webスクレイピングツールは、インターネットの情報を収集・保存・分析に役立ちます。そのWebスクレイピングツールで、重要な役目を持つのが「Webクローラー」です。本記事ではプログラミング初心者の方でも、かんたんに作れるWebクローラーの構築方法について解説します。実際に構築をしなくても、Webクローラーの仕組みを理解することは、ITリテラシーを高める上でとても大切です。ぜひ参考にしてみてください。
    2024.02.21 · 7 min read
  • avatarTakahashi
    Webスクレイピングを行う上で、重要な役割を担うのが「XPath」です。しかし、XPathについて正しく理解できていない方も多いでしょう。そこで今回はXPathについて、基本から書き方までわかりやすく解説します。それ以外に、XPathでスクレイピングする手順とXPathを取得する方法についてもご説明します。
    2023.12.07 · 7 min read
  • avatarMurata
    Webスクレイピングを実行していると、403エラーが表示されて、データの抽出ができないことがあります。403エラーには、さまざまな原因があります。この記事では、Webスクレイピングの初心者の方に向けて、403エラーの原因や403エラーの解決策を解説します。
    2023.02.13 · 7 min read
  • avatarTakahashi
    ビッグデータは、市場動向、顧客の好み、競合他社の分析に関連した情報を提供します。今やWebスクレイピングは、単にデータを収集するだけでなく、企業のマーケティング活動において必要不可欠と言ってもよいでしょう。ただし、Webスクレイピングプロセスをスケールアップすると、ブロッキングメカニズムなどの多くの課題が発生し、データを取得できなくなる可能性があります。ここではWebスクレイピングが抱える8つの課題と解決方法を紹介します。
    2023.02.06 · 7 min read