AkismetのスパムフィルタをpythonとDjangoで実装 - 株式会社CoLabMix

AkismetのスパムフィルタをpythonとDjangoで実装

AkismetはスパムフィルタリングサービスでAutomattic社によって提供されています。
Automattic社はWordPressへの貢献で有名な会社で、AkismetもWordPressのスパムフィルタのプラグインとして有名です。

スパムフィルタとしては非常に強力なツールなのでこちらをWordPress以外でも利用できるよう、PythonとDjangoで実装してみます。

尚、AkismetのIDの取得は今回は触れませんが以下のURLで行ってください。

https://akismet.com/signup/

プランが複数ありますので商用などの利用では適したプランを選択してください。

 

Akismetのライブラリのインストールと実装

今回は以下のpipのライブラリを使用します。

https://pypi.org/project/akismet/

マニュアルは以下にあります。

https://akismet.readthedocs.io/en/1.1/

インストールは以下のコマンドで行います。

サンプル用のプログラムは以下になります。

「comment_check」では引数としては「IPアドレス」と「ユーザーエージェント」を渡しています。

戻りとしてTrue、Falseが返ってきてスパムと判定されるとTrueが戻ります。

こちらをコマンドラインから実施すると以下のようになります。

この他に「submit_spam」と「submit_ham」という2つのメソッドがあります。

「submit_spam」はメッセージがスパムだった時に報告を行うメソッドです。

「submit_ham」は逆にスパムでないものがTrueで帰ってきた時に報告を行うメソッドです。

基本的な使い方はこちらになります。

 

Djangoでの実装

以下はDjangoでの実装です。

シンプルではありますが、Djangoでお問い合わせフォームなどを作成するとスパムチェックなどが難点になってしまうのでこちらで対応が可能となります。

 

このブログは株式会社CoLabMixによる技術ブログです。

GCP、AWSなどでのインフラ構築・運用や、クローリング・分析・検索などを主体とした開発を行なっています。

Ruby on RailsやDjango、Pythonなどの開発依頼などお気軽にお声がけください。

開発パートナーを増やしたいという企業と積極的に繋がっていきたいです。

お問い合わせやご依頼・ご相談など

    関連記事

    1. CentOS7でscrapy-splashを使ってJavaScript…

    2. Tableau server運用手順〜外部DBサーバーの連携〜

    3. Elasticsearch 6 を使ったデータ検証 その2(マッピング…

    4. Tableau Desktopでダッシュボードの編集

    5. 「outlook.jp」や「hotmail.co.jp」宛のメールがエ…

    6. Django でWebアプリケーションを作成してみる その1(ubun…

    最近の記事

    制作実績一覧

    ITシステム開発の開発先・発注先の選び方を見つけるコンシェルジュサービス

    ITシステム開発の開発先・発注先の選び方を見つけるコンシェルジュサービス

    ITクリエイターのための転職・仕事情報サイト

    ITクリエイターのための転職・仕事情報サイト

    SNS分析での転職支援

    SNS分析での転職支援

    受託パートナーのマッチングとSES人材のマッチング

    受託パートナーのマッチングとSES人材のマッチング