概要
-
- - SSL(https)のページには使えません。
- - これはホームページの運営者が任意に実行するもので、みんなに使わせるようなものではありませんのでご注意ください。
サーバに負荷をかけないように注意しましょう。
- - リンク集など、いわゆるリンク切れ(リンク先が無くなっている等)をページごと一度チェックするプログラムです。
- - "LWP"というPerlモジュールが必要です。
サンプルとダウンロード
-
- - ダウンロード 保存ファイル名:"nph-check.cgi"
- - このシステムはフリーソフトですが、利用規定に従ってご利用ください。
設置と動作
- "nph-check.txt" は "nph-check.cgi" に名前を変更してください。
- パーミッションは 755 相当値に設定してください。
- 直接このCGIプログラムを実行してください。
- 記述されているリンクの有効性を調査したいページのアドレスを入力します。
余談ですが
ブラウザだけがWWWエージェントではありません。LWPは、Perlから直接HTTPプロトコル等を実行することができるようにするエージェントです。
これをシェル上から直接実行すると、このプログラムそのものがエージェントになり、"Mozilla"と同じように、
エージェント名を独自に付けることが出来ます。もしチェック先のアドレスにアクセス解析がついていれば、
このチェッカーからチェックに行った時に取得されるエージェント名(いわゆるブラウザ名)は、例えば
$ua->agent( "AgentName/0.1 (" . $ua->agent . ")" );
のように設定した名前が記録されることになります。ここで配布しているリンクチェッカーは、CGI経由で利用するので、
ブラウザから実行しますので、相手先にはご利用のブラウザのエージェント名が認識されるために、
プログラムにはこの設定はしていません。(設定しても対象にならない) もしやってみたい方は、
こちらのサイトを参考にして、
CGIプログラムではないPerlプログラムを直接シェル上から実行してみてください。
Google等の勝手にリンクをどんどん辿ってデータ収集するようなロボットをLWPを使って作ることが出来ます。
(GoogleがLWPを使っているかどうかは知りません)
"LWP"をインストールする方法
インストール方法を書いている、私が参考にしたサイトがあったのでこちらには書かなかったのですが、
どうもリンクが切れているようですので、当サイトにも記録を残しておこうと思います。
実はこの一式は、(株)電算システムの代行システム接続で、
自サーバでバーコードをリアルタイムに発行するために必要なものとしてインストールするものです。
その過程で、このLWPを使って出来るいろいろなことが分かったので、このページを用意した経緯があります。
- まず、http://www.linpro.no/lwp/をご覧ください。
ここにLWPをインストール方法が書かれています。英語サイトですが、もし分からなければ結構です。
- LWPをインストールするには、その前に必要なモジュールが幾つかあります。
これらのモジュールはインストールする順番がありますのでご注意ください。
というのは、一方のモジュールがないとインストールできないモジュールがあるためです。
- MIME::Base64
をダウンロードしてサーバに転送し、展開&インスールを行います。インストールにはroot権限が必要ですので、
共有サーバやレンタルサーバの場合は、サーバ管理者の作業が必要です。以下の手順のファイル名はこの時点のものです。
バージョンは変化していくものですので、置き換えてください。
$ tar -zxvf MIME-Base64-2.12.tar.gz
$ cd MIME-Base64-2.12 (展開したフォルダに移動)
$ perl Makefile.PL
$ make
$ make test
$ su (ルート権限に移行・最初からルート権限での作業でも可)
# make install
- 次にURIをインストールします。
以下すべてMIME::Base64と手順は同じです。
- 次にHTML-Tagsetをインストールします。
これはLWPの説明サイトに書かれていなかったので、必要ないかもしれません。
というのは、次のHTML::Parserをインストールする際に、Tagsetがないためのエラーが出たために入れたものだからです。
- 次にHTML::Parserをインストールします。
- 次にDigest::MD5をインストールします。
- 次にNet::FTPをインストールします。
- 最後にlibwww-perl(LWP)をインストールします。
- 以上で、(株)電算システムの代行システム接続用のプログラムの実行が可能となり、
このリンクチェッカーも動くはずです。
|