Pythonでcaptchaを実装して、音声や画像でのロボット検知をする方法

スポンサーリンク

コーダーの多くのウェブサイトで、あなたが人間かロボットかを確認するCAPTCHAを目にしたことがあると思います。

そう、長いフォームを完成させるときや、時には支払いをするときにも登場する、厄介なものなのです。

以下、キャプチャのサンプルを見てみましょう。

pip install captcha

この記事では、Pythonを使って独自のキャプチャを生成してみましょう。

興味深いですよね?さっそくコードを見てみましょう。

スポンサーリンク

Captcha モジュールのインストール

他のプログラムと同様に、まず最初に CAPTCHA ライブラリをインストールします。

そのためには、コマンドプロンプトを開き、以下のコマンドを実行します。

1
2
from captcha.image import ImageCaptcha
from captcha.audio import AudioCaptcha

Python で Captcha ジェネレータを作成する手順

この記事では、画像と音声の両方のキャプチャを生成することを試みます。

そのため、ライブラリのインストールが完了したら、captcha.image と captcha.audio サブライブラリからそれぞれ ImageCaptcha と AudioCaptcha の関数をインポートする必要があります。

1
2
3
img = ImageCaptcha(width = 280, height = 90)
text = input("Enter the Text for Captcha: ")
Cap_data = img.generate(text)

Pythonで画像キャプチャーを生成します。

まずはImage captchaを作成しましょう。

ユーザから画面に表示するテキストを入力し、そのデータに対してイメージキャプチャを生成します。

キャプチャを作成するには、Imagecaptcha オブジェクトを作成し、generate 関数を使用してデータに対するキャプチャを生成する必要があります。

以下のコードを見てください。

img.write(text, 'Sample_Cap_1.png')

画像が生成されましたが、画像を保存するためには、以下のコードでwrite関数を使用する必要があります。

1
2
3
4
audio = AudioCaptcha()
text = input("Enter the Text for Captcha: ")
data = audio.generate(text)
audio.write(text,'Sample_Cap_2.wav')

キャプチャのテキストとしてPythonを入力すると、以下のようなキャプチャが表示されます。

Captcha Example

なかなかいい感じでしょう!

Pythonによる音声キャプチャの生成

次に、オーディオキャプチャの生成も試してみましょう。

オーディオキャプチャでは、ユーザが入力した数字に対して数値キャプチャを生成してみます。

以下のコードを見てください。

オーディオキャプチャは、イメージキャプチャと同様に動作します。

Sample Cap 1 1

3422を入力すると、以下のような音が聞こえます。

とても奇妙に聞こえるかもしれませんが、よく聞いてみてください。

音声に含まれるノイズの間に数字が聞こえるはずです。

まとめ

Python プログラミング言語を使って独自のキャプチャを生成する方法を学びました。

キャプチャーをいじくりまわして、もっとたくさんのキャプチャーを生成することができます。

楽しく学んでください!

タイトルとURLをコピーしました