タグ

ブックマーク / diary.asuka.net (2)

  • mod_rewrite の小技 - Magical Diary, beta version

    ループ処理 mod_rewrite でループ処理を行うには、[N] (next) フラグを利用する。たとえば、/hoge/1/bar/2/baz/3/ を /hoge/index.cgi?foo=1&bar=2&baz=3 としたい (その際、パラメータの個数が不定) 場合、下記の通り記述する。"QSA" (query string append) フラグは、書き換え後の QUERY_STRING 部分のみ "追加" の扱いとする。 RewriteEngine on RewriteLog /var/log/httpd/rewrite.log RewriteLogLevel 9 # Rule 1: RewriteRule ^(/hoge/.*/)([^/]+)/([^/]+)/$ $1?$2=$3&path=$1 [QSA,N] # Rule 2: RewriteRule ^/hoge/([

    yuiseki
    yuiseki 2007/10/28
  • ニコニコ動画をWeb::Scraperでスクレイプ - Magical Diary, beta version

    ニコニコ動画のタグごとにRSSを作るため、最初は以下のように正規表現でゴリゴリと処理していたが、イマイチ綺麗じゃない。 while($html =~ m{<p><a\s+href="watch/(\w+)">\s* <img\s+.*?src="(.*?)".*?>.*? <strong>((?:\d+分)?\s*\d+秒)</strong>.*? 再生:<strong>([\d,]+)</strong>.*? コメント:<strong>([\d,]+)</strong>.*? <a\s+class="video".*?>([^<>]*)</a></p>.*? <p.*?>([^<>]*?)</p>.*? <p.*?><strong>([^<>]*?)</strong></p> }gsx) { ... } 今回は Web::Scraper というモジュールを使ってみた。これは、CSSセレク

    yuiseki
    yuiseki 2007/10/19
  • 1