テキスト中のキーワードをリンクする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
- Million Dollar(MT4)リアルフォワード(myfxbook) #Gold(XAUUSD) #ナンピンマーチン (6 PV)
- SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (3 PV)
- FC2まとめ (2 PV)
- 有名まとめサイトの管理人「JIN」さんが株、FXで約-8000万の大損失 #もうダメだ、終わった (2 PV)
- Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (1 PV)
- 2chまとめサイト - 痛いニュース(ノ∀`) (1 PV)
- 完全無料のMT5用ナンピンEA「Nanpin K(ナンピンケイ) MT5」 使用制限無し (1 PV)
- SQLiteのSELECT文で上位 (TOP) n件のデータを取得する (1 PV)
- 海外掲示板を読むために気になったスラング系英単語まとめ | Kousyoublog (1 PV)
- マーケティング (1 PV)
今月のアクセスランキング TOP 10
- SQLのSELECT文で先頭から上位(TOP)10件のレコードを取得する方法(SQL Server、Oracle、MySQL、PostgreSQL) (136 PV)
- 2NN 2ちゃんねるニュース速報+ナビ (34 PV)
- Google Finance(グーグルファイナンス)- リアルタイム株価情報、金融ニュース、日本株 (27 PV)
- 裁量トレードを半自動化する無料のMT5向け裁量トレード支援ツール(裁量補助EA)「PositionKeeper MT5」 #FX (22 PV)
- 自作のMT4向け無料EA(口座縛り無し、ブローカー縛り無し、使用期限無し)とゴゴジャン出品中の有料EAの一覧 #MT4 (21 PV)
- [FX]高値更新・安値更新でエントリー、MT4向け無料スキャルピングEA「1Scalper」#システムトレード (18 PV)
- YouTube(ユーチューブ)日本版 - 動画共有、ライブ配信 (16 PV)
- FC2まとめ (14 PV)
- [FX]裁量ポジションを簡単に管理できるMT4向け無料の裁量補助EA「PositionKeeper」 (14 PV)
- MT4向け1ポジブレイクアウトEA「HEADLINE」オープンソースライセンス(GPL3)で公開 #USDJPY (14 PV)
アクセス統計
ディレクトリ
関連サイト