クローラーで辿ったサイトがエロサイトかどうかを調べる方法(メモ)
クローラーでジャンプしまくっていると一般サイトまで辿りつくことがよくあるので、その判定。 とりあえず考えつく方法。
Googleさんに聞く
Google検索でセーフサーチオプションを強にした状態で検索して結果が0件ならエロサイト。
Google検索のURL(https://www.google.co.jp/search
)に、
- q=site:サイトのホスト名
- safe=high
のパラメーターを渡せば結果が取れるので、プログラムからでも使いやすい。
また、ライブドアブログのディレクトリ形式(blog.livedoor.jp/**)の場合は最初のディレクトリまでつけて渡せば絞り込んでくれる。
このブログのように0件ではなく微妙に結果が返ってきてグレーな感じがする場合は、safe=high
を外して(セーフサーチオフ)で検索した結果と比べれば確実。
50%以下なら間違いなくエロサイト。
欠点としては、短時間に(おそらく同一IPアドレスから)リクエストしすぎるとGoogleさんがbot避けの認証を差し込んでくる点。
この制約にひっかからない頻度でチェックしたいなら、これが確実。
最近はてブで見かけた記事ではこのあたりの方法を使えば回避できるかと。ただしご利用は計画的に。
ちなみに、Yahoo検索のセーフサーチ設定はクッキー保存なので同じ方法は使いづらいです。
Google AdSenseが使われているか
AdSenseはチェックが結構厳しめなので、広告にAdSenseが貼ってある場合にはエロサイトではないと判断できる。
当然のことながら広告が無いサイトでは判定できない。
動画リンクで調べる
XVIDEOSなどのエロ動画サイトの埋め込みタグがあればエロサイト。
動画サイト限定。
コンテンツとリストで調べる
- エロワードリストを使って単語で調べる
- エロサイト専用広告リストを使ってその広告が使われているか
ただし、この手のものはマッチングさせるキーワードの管理が面倒。
被リンク・発リンクで調べる
2chまとめあたりのレーティンググレーなコンテンツがエロサイトにガンガンリンクしているので、そのままではあまり正確ではない。
エロサイト「専用」のアンテナサイトから被リンクされているという条件をつければ使えるかも。
SimilarWeb APIを使う
SimilarWebではAPIを公開していて、その中にアダルトカテゴリかどうかの判定APIがある。
お試しは200callまで無料、以降は25,000call/月で$249なので高い。
いくつか確認した限りでは間違った判定が多いので、だめぽ。
ペアレンタルコントロールを使う
有償製品しかないと思うし、あとAPIはないのでプログラムからは使いづらい。