記事一覧

百度(バイドゥ)のWEBページクロールを拒否する

  • このエントリーをはてなブックマークに追加

ファイル 302-1.jpg

最近、自分のWEBページのアクセス数の割には、リクエスト数がやたら多くて、サーバーに負荷がかかっていたため、原因を調べてみることにしましたみることにしました。すると、検索エンジンの百度(バイドゥ)が、やたらページをクロールしまくっていることがわかりました。

WEBページのクロールと言ったら、Googleや他の検索エンジンもしていることなんですが、Googleの場合、サイトに負荷をかけないような対策がとられています。百度(バイドゥ)も昔に比べてだいぶんマシになったらしいのですが、どうも頭の悪いクローラーのようで、動的なサイトだと相変わらず無闇やたらにクロールしてくるようです。僕のサイトで言えば、1日に10,000~15,000ものリクエストを要求してきて、サーバーに負荷がかなりかかるので、百度のアクセスを拒否することにしました。

拒否する方法は、いろいろあるのでしょうが、僕はあまり詳しくないので、手軽な.htaccessファイルを使う方法を使うことにしました。

やり方は簡単で、以下の文字列をコピーし、メモ帳などのテキストエディタに貼り付け、「.htaccess」というファイル名で保存し、あとはWEBページの拒否したいところに「.htaccess」ファイルをアップロードするだけです。

AddHandler cgi-script htaccess

#<Files ~ "^\.(htaccess|htpasswd)$">
#deny from all
#</Files>

order deny,allow
deny from baidu.jp
deny from baidu.com
deny from 119.63.192.0/21

ここに「.htaccess」ファイルが、そのままあるので、これをダウンロードしてサーバーにアップロードするだけでもいいです。レンタルサーバーなどの場合、「public_html」にアップロードしておけば、全ページて百度を拒否する設定になっています。


書いてある内容を簡単に説明。

AddHandler cgi-script htaccess
.htaccess ファイル自体の閲覧を拒否する設定。

#<Files ~ "^\.(htaccess|htpasswd)$">
#deny from all
#</Files>
これも、.htaccess ファイル自体の閲覧を拒否する設定ですが、ISPが許可していない場合もあるので、コメントアウトしてあります。上のAddHandlerが使えない場合は、#を取り除いてこちらの設定を使ってください。

order deny,allow
deny from baidu.jp
deny from baidu.com
deny from 119.63.192.0/21
アクセス制限の設定です。「deny from 119.63.192.0/21」で百度が使うIPの範囲を指定しているので、本来なら「deny from baidu.jp」「deny from baidu.com」の行は必要ないのですが、一応書いてあったほうがわかりやすいので。

で、実際へアクセス制限してみると、以下のようにリクエスト数が減ってサーバーへの負荷がかなり軽減されました。(20110306の途中から制限)

自分のサイトが、原因不明の負荷に悩まされているという場合は、一度試してみてもいいかもしれません。

タグ:パソコン操作

  • このエントリーをはてなブックマークに追加

ARToolKitでラミエルを拡張現実上に出現させてみる

  • このエントリーをはてなブックマークに追加

ファイル 206-1.png

ARToolKitとは、拡張現実感(Augmented Reality、AR)を実現するライブラリです。カメラでマーカーを映すとリアルタイムでCGが上書きされ、実際はないものをあるように見せることができます。

Webカメラを買った時、OpenCVとARToolKitだけはやってみたかったので、今回いろいろプログラムをいじくってみました。

以下のプログラムは、マーカーの上に以前作ったOpenGLでラミエルを描画するだけのプログラムです。下にある紙のマーカーをクルクル回すと物体も回転します。

ARToolKitでラミエル(Cファイルのみ)

※詳しいARToolKit環境の設定は工学ナビ - ARToolKitを使った拡張現実感プログラミングを参照。


本当は今まで通り、Delphiで書きたかったのですが、ネットを探してもDelphi用のライブラリが見当たらなかったので、C++で書きました。Cはあまり使ったことがないので間違っているかもしれません。

で、何かに利用できるかなあと、色々いじってはみたんですが、僕には全く有効な利用手段が思いつきませんでした。でも世の中には、「その発想はなかったわ~」という、使い方をされている方がいっぱいおられます。※発想出来たとしても、実装できるスキルもないんですが。

ARToolKitで距離を表示してみた

ARToolKitで複数マーカーを使ってみた

タグ:カメラ プログラム アニメ

  • このエントリーをはてなブックマークに追加

素数のリズムを知ってるかい?

  • このエントリーをはてなブックマークに追加

ファイル 149-1.pngファイル 149-2.pngファイル 149-3.jpg

昨日の夜にBS2でやっていた『ザ・ベストテレビ2010「第5部」』の『魔性の難問 ~リーマン予想・天才たちの闘い~』を見ました。数学史上最難関の難問と言われるリーマン予想に挑む数学者を特集した番組だったんですが、数学的なことは素人な僕でも非常に面白かったです。

リーマン予想とは、ドイツの数学者ベルンハルト・リーマンによって提唱された、素数と密接に関係している予想です。数学の世界の最も基本的な数「素数」。数学界最大の謎となっているのが、2,3,5,7,11,13,17,19,23・・・と「一見無秩序でバラバラな数列にしか見えない素数が、どのような規則で現れるか」らしいです。

番組中、数学者オイラーが、素数の規則性を知るために、正の整数を移動距離、素数の数を階段の数に置き換えた「素数階段」なるものを作ったと紹介されており、それがCGで視覚化されていました。
素数階段
それを見て、ふと「正の整数を時間、素数出現時を音に置き換えるとどんなリズムになるのか?」と思い立ち、ついカッとなって素数のリズムを表現するソフトを作ってみました。

素数のリズムを表現するソフト

指定時間ごとに整数がカウントされ、素数が出現するとビープ音が鳴るようにしました。一応、簡易的な素数階段も表示するようにもしました。カウントは10万までされます。

で、リズムを聞いてみたんですが、「NHKの相撲中継開始時の太鼓の音」もしくは「祭囃子の太鼓」みたいな不思議なリズムでした。

もちろんのことながら、素数の規則性についても全くわかりませんでした。

【使い方】
素数のリズムを表現するソフト

[Start]…開始
[Stop]…停止

[Sleep(ms)]…カウント間隔、少ないとリズムが早くなります

[Save chart]…カレントフォルダにチャート画像を保存します

[Sound off]…音を鳴らしません
[Chart off]…チャートを描画しません(描画に時間がかかってしまう場合、リズムのずれを防ぐため)
[hohohoi]…遠藤章造 作詞作曲「愛 ~ほほほほーい~」のサビの部分でリズムを表現します

※作者は専門数学的知識は0です。
※Sleep(ms)はWindowsのものをそのまま使っているので厳密に言うと正しいリズムではないかもしれません(特に50ms未満)。
※Sleep(ms)によってはテキスト音声はズレます。

素数参考
素数一覧表 : 天文研究部 : 明石北高等学校
音声合成
AquesTalk - テキスト音声合成ミドルウェア

タグ:プログラム

  • このエントリーをはてなブックマークに追加

Webカメラを入手したら一度はやってみたかった「笑い男ツール」

  • このエントリーをはてなブックマークに追加

ファイル 124-1.pngファイル 124-2.pngファイル 124-3.png

先日、ロジクール ウェブカムプロ 9000 QCAM-200SXを購入したので、以前からカメラを手に入れたらやってみたかった「笑い男ツール」を作ってみました。カメラ映像から人間の顔の部分を認識して、笑い男のロゴで顔を覆います。

使い方
[Intercepter]…顔部分に笑い男ロゴを表示する
[Box]…顔部分に矩形を表示する
[Snapshot]…表示されている画面のスナップショットを撮ります

※USBカメラがないと使用出来ません。
※キャプチャボードを使っていると、キャプチャボードがカメラとして認識されてしまいます。(ソース中のカメラのインデックス番号を変更することで解決されます)
※上の写真はAVIファイルを読み込んで、スナップ写真を撮ったものです。

以下、実行ファイルとDelphiで書いたソースです。

ダウンロード(ソース付き)


顔認識には、デフォルトのOpenCV認識の「haarcascade_frontalface_alt.xml」を使っていますが、背景にごちゃごちゃしたものさえなければ、遊びツールとしては結構な精度で顔の認識をしてくれます。

ただ元々、カメラを買った目的は、手を使わず、顔の表情や目、口の開閉でパソコン操作できないものか?というものでした。しかし、いろいろと試してはみたのですが、パソコンの操作のような確実性を求められる動作をさせるには、デフォルトのOpenCVの認識と僕の能力では、実用たりうるものを作るには、まだまだほど遠かったです。OpenCVの認識機能にもっと学習させ、自分自身も、もっとOpenCVの関数を理解し、数学の知識も付けないと厳しそうです。


笑い男ツールは他にも色々な方が作っておられます。
工学ナビ - 攻殻機動隊ネタ
2005-09-22 - 某ソフト作者の開発日記
「笑い男模倣ツール」の模倣ツール | 王様の箱庭


関連:WebカメラでPCに視覚を持たす「Logicool Webcam Pro 9000 QCAM-200SX」
関連:Webカメラ追加発注「Logicool Webcam C500」
関連:【アニメ】攻殻機動隊 STAND ALONE COMPLEX

タグ:PCデバイス カメラ プログラム アニメ

  • このエントリーをはてなブックマークに追加

OpenGLで攻殻機動隊の電脳通信風インターフェース

  • このエントリーをはてなブックマークに追加

ファイル 83-1.pngファイル 83-2.pngファイル 83-3.png

前回:OpenGLでラミエルを愛でる

攻殻機動隊によく出てくる例のインターフェースをディテールは甘いですが作ってみました。前回のラミエルと一緒で使い道は無いです。あえて使い道を言えば

画像と文字を自分のものに変更
   ↓
ショートカットをスタートアップに登録
   ↓
次回Windows起動時に、なんか電脳通信に繋がったっぽい

というくらいでしょうか。

かなり雑ではありますがDelphiのソース付きですので、やろうと思えば改造も出来ます。

以下ソフトの説明
[設定]
カレントフォルダ内のiniファイルの文字列を変更するとCAUTIONメッセージを変更することが出来ます。
カレントフォルダ内のphoto.bmpは256x256のbmpなら好きな画像に変更できます。

[操作]
閉じる:ダブルクリックor何かキー
回転:フォームドラッグorカーソルキー
画像ズーム:右クリック

ダウンロード(ソースコード付き)


続き:Webカメラを入手したら一度はやってみたかった「笑い男ツール」

タグ:プログラム アニメ

  • このエントリーをはてなブックマークに追加

ページ移動