楽天モバイル[UNLIMITが今なら1円] ECナビでポインと Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!


無料ホームページ 無料のクレジットカード 海外格安航空券 解約手数料0円【あしたでんき】 海外旅行保険が無料! 海外ホテル
告知欄です


■掲示板に戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 最新50
メモ4

649 :名無しさん@停滞中 ★:11/01/02 11:19:34 ID:???
いちおうメモ

2ch勢いランキング:過去ログ置き場(http://archive.2ch-ranking.net/)のdat化について

URL例
http://ranking.sitepedia.jp/cache.php?thread=hayabusa.2ch.net/liveanb/1293888022/
http://2ch-ranking.net/cache.php?thread=hayabusa.2ch.net/liveanb/1293888022/
http://archive.2ch-ranking.net/liveanb/1293888022.html

正規表現(長すぎるので複数行に分けてます)
m#<dt id="title\d+"><div class="gi"><a href="\#\d+" class="trigg
er" name="\d+" id="res\d+">([0-9]+)</a><div class="popup" nam
e=".+?"></div></div> : <span style="color:.+?"><b>(.+?)</spa
n></b> \[(.*?)\] (.+?)</dt><dd id="content\d+">(.+?)</dd>(<d
t|</dl>)#mik

前処理(長すぎるので複数行に分けてます 本来は「s#」が行頭にある2行)
s#<div class="gj"><a href="javascript.+?><span class="trigger">(I
D)</span></a><div class="popup".+?></div></div>(:.+?</dt>)#$1$2#igk
s#<a.+?onclick=\"be\((\d+)\).+?>\?([A-Za-z]{3}\(\d+\))</a>#BE:$1-$2#igk

変換結果式
メール欄逆転



いちおうこれでdat化出来るっぽい
ただしBE表記の変換がまだ出来てない



上の場合、レス523と578でBEが出ていますが
元のdatでは

BE:3751430988-PLT(16701)

となっている箇所が、上のhtmlだと

<a href="#" onclick="be(1055091029); return false;">?PLT(16701)</a>

となっているです。

つまり、
元datの「3751430988」が
htmlだと「1055091029」に置き換わってるっぽい。
htmlからbeをクリックして飛んでみてもそのプロフィールに行くみたいだし
わざわざBEの基礎番号を計算して置き換えてるのかなと

だもんで、前処理の2行目で「BE:1055091029-PLT(16701)」となるようにやってるんですが
何だかうまくいかない。
しまいにはfatal error連発でhtmltodatが落ちて折角書いた正規表現が飛んじゃったり
トホホ

もう少しだが今回はこのくらいで勘弁してやるからな
覚えてろよ(雑魚キャラの常套句)



500KB
続きを読む

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail(省略可)

0ch BBS 2006-02-27