テキスト中のキーワードをリンクするPerlサンプルスクリプト
任意のキーワードリストに含まれるテキスト中のキーワードに、特定のページ(URL)にリンクするPerlのサンプルスクリプトを作ってみました。ブログソフトとか掲示板ソフトを開発する際に役に立つと思います。文字エンコードがUTF-8、EUCではOKでしたが、SJISではうまく動きませんでした。
以下、サンプルスクリプトの一部です。
リンクの処理のところが微妙ですが、適当に修正して使っていただければ幸いです。
はてなダイアリーのキーワードにリンクするためのサンプルもあるようです。動かしてみたわけでないのでハッキリとはいえませんが、ソースを見る限りテキスト内でアンカータグでリンクを行っている場合は、まずいような気もします。
はてなダイアリーキーワード自動リンクAPI - はてなダイアリー日記
以下、サンプルスクリプトの一部です。
my @wordlist = ('はてな', 'ブログ', 'アルファブロガー');
foreach my $word (@wordlist) {
my $encword = $word;
$encword =~ s/(\W)/'%'.unpack('H2', $1)/eg; # uri encode
my $link = "<a href=\"serach.cgi?querystr=$encword\">$word</a>";
$text =~ s/$word/$link/g;
# アンカーテキストのキーワードは元に戻す
my $pattern = "(<a href.+)<a href.+$word</a>(.+/a>)";
$text =~ s/$pattern/$1$word$2/g;
}
print $text;
リンクの処理のところが微妙ですが、適当に修正して使っていただければ幸いです。
はてなダイアリーのキーワードにリンクするためのサンプルもあるようです。動かしてみたわけでないのでハッキリとはいえませんが、ソースを見る限りテキスト内でアンカータグでリンクを行っている場合は、まずいような気もします。
はてなダイアリーキーワード自動リンクAPI - はてなダイアリー日記
なお、上記ファイルは現状で300KBほどありますので、アプリケーション側で一定時間キャッシュして頂くなどの措置をお願いできればと思います。テキスト一つ処理するだけで300KBですか、はてな側も大変かも知れませんが呼び出す方も大変ですね。
[1177] Posted by kagahiro at 2008/02/24 23:14:33
オープン | 1 point | Link (2) | Trackback (1) | Comment (0)
オープン | 1 point | Link (2) | Trackback (1) | Comment (0)
キーワード
perl プログラミング オープンソース CGI サンプル プログラム キーワード リンク
追記
サンプルスクリプトのソース | |
サンプルスクリプトのソースを添付ファイルに登録しています。 | |
Posted by kagahiro at 2008/02/24 23:22:00 |
添付ファイル
1177_1_sample1.pl | 1069 byte | 2008/02/24 23:20:14 | kagahiro |
テキスト中のキーワードをリンクするPerlサンプルスクリプト 関連リンク
Perl(パール) | |
perl(パール)とは、Larry Wall氏によって開発された、テキストの検索や抽出やレポート作成に適した、C言語... |
URLを元にページのタイトルを取得するPerlのサンプルスクリプト | |
URLから元ページのタイトルを取得するためのperlのサンプルスクリプトです。処理手順は以下の通りです。1.ペ... |
テキスト中のキーワードをリンクするPerlサンプルスクリプト トラックバック
トラックバックURL :
Linked from IT土方日記 : はてなを潰すためにはどうすればいいのか at 2008/02/25 02:10:58 | |
この方がおっしゃっているように、はてなの強みはSEOにあります。それならば、はてなを潰すにはその強みを無効化、弱体化すればよいのではないでしょうか。 はてなはなぜ潰れないのか? 「はてなはSEOが強いので、検... |
テキスト中のキーワードをリンクするPerlサンプルスクリプトへのコメント
アクセスランキング
今日のアクセスランキング TOP 10
- [FX]裁量ポジションを簡単に管理できるMT4向け無料の裁量補助EA「PositionKeeper」 (5 PV)
- 2chまとめサイト - 痛いニュース(ノ∀`) (4 PV)
- SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (2 PV)
- 裁量トレードを自動化する裁量補助EA「AutoScalper Demo」 (1 PV)
- 裁量トレードを半自動化する無料のMT5向け裁量トレード支援ツール(裁量補助EA)「PositionKeeper MT5」 #FX (1 PV)
- 安全性重視の完全無料ナンピンマーチンEA「Million Dollar(ミリオンダラー)」 #FX #ゴールド #ビットコイン (1 PV)
- 無料の決済支援ツール「PositionKeeper」を使って楽々半自動スキャルピング #MT4 #MT5 (1 PV)
- MT4向けオープンソースナンピンマーチンEA「Automaton」 (1 PV)
- 将棋倶楽部24がフィッシャールール(早指し3)導入 (1 PV)
今月のアクセスランキング TOP 10
- SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (182 PV)
- 2chまとめサイト - 痛いニュース(ノ∀`) (87 PV)
- Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (41 PV)
- 使用制限無し完全無料のMT4向けナンピンEA「Nanpin K(ナンピンケイ)」 (32 PV)
- 安全性重視の完全無料ナンピンマーチンEA「Million Dollar(ミリオンダラー)」 #FX #ゴールド #ビットコイン (27 PV)
- 自作のMT4向け無料EA(口座縛り無し、ブローカー縛り無し、使用期限無し)とゴゴジャン出品中の有料EAの一覧 #MT4 (25 PV)
- 日経平均株価(にっけいへいきんかぶか) (21 PV)
- 仲値トレードが簡単にできる無料EA「NAKANE3 Ver 2.04」 #MT4 (21 PV)
- 時間指定で仲値トレードも簡単にできる無料EA「NAKANE3 Ver 2.02」 (20 PV)
- 裁量トレードを半自動化する無料のMT5向け裁量トレード支援ツール(裁量補助EA)「PositionKeeper MT5」 #FX (18 PV)
アクセス統計
ディレクトリ
関連サイト