読めないdat落ちスレのhtmlミラー避難所

このエントリーをはてなブックマークに追加
963水先案名無い人
>>961
>htmlファイルをDLして
>htmltodatでdat化するというのはどうでしょう
htmltodatだと完全に元のdatと同じにするのは無理
964水先案名無い人:2006/12/02(土) 18:27:14 ID:qw0Ba7Pe0 BE:245448083-2BP(111)
>>963
>完全に
とはどういうことですか?
できれば詳しくお願いします
965水先案名無い人:2006/12/02(土) 18:42:33 ID:StO5H7q50
>>964
例えばここのテンプレの>>4の場合

>前スレ 読めないdat落ちスレのhtmlミラー作ります [87]
> http://that3.2ch.net/test/read.cgi/gline/1115213835/

が正しい形
それがにくちゃんねるのクソ仕様のhtmlの場合

>前スレ 読めないdat落ちスレのhtmlミラー作ります [87]
> ../../that3_gline/1115/1115213835.html

こんな形式になってやがる
これを現行のhtmltodatで戻すのは無理
(厳密に言うと無理ではないが非常に面倒↓を参照)
http://jbbs.livedoor.jp/bbs/read.cgi/computer/1929/1038588508/355-356

htmltodatのVerUpを待つかhtml2dat.cgiの再開を待つしかない
966水先案名無い人:2006/12/02(土) 18:44:58 ID:IfRyt2KO0
にくちゃんねる内で完結している分には優れた形なんですけどね。
その代わりに汎用では無いと。
967水先案名無い人:2006/12/02(土) 18:48:46 ID:qw0Ba7Pe0 BE:460215959-2BP(111)
>>965
素早く的確なレスをありがとうございます
なるほど、それですか…
確かに29chユーザーが随分悩まされてきた部分ですよね
968水先案名無い人:2006/12/02(土) 18:52:16 ID:2lf4ENLR0 BE:686003459-2BP(2)
>>965
下のを試してみて下さい。
スレッドURLやbeも変換出来たと思うのですが。

正規表現(改行を取り除いて)
m#<dt>([0-9]+) 名前:<span .*?>(?:<span tit
le="(.*?)" class=sage>|<a href="mail
to:(.*?)" class=mailto>)? ?(.*) (?:</a>|</sp
an>)?</span> ?(.*?) <br><dd> *?(.*?) <br> *?<b
r> *?(<a name.*?>|</tl>|</dl>)#mi

前処理(「変換オプション」から行けます)
s#<a href="JavaScript:be\((\d+)\)">\?(\#*)</a>#BE:$1-$2#gi
s#(>)\.\./\d+?/(\d+?)\.html(</a>)#$1http://ex13\.2ch\.net/test/read\.cgi/gline/$2/$3#ig
s#(>)\.\./\.\./(.+?)_(.+?)/\d+?/(\d+?)\.html(</a>)#$1http://$2\.2ch\.net/test/read\.cgi/$3/$4/$5#ig

変換結果式
$4<>$2$3<>$5<>$6<>

以上の方法で
http://makimo.to/2ch/qa_nandemo/index.html
にある10スレのhtmlをローカル保存して
一括変換してみたものを
http://user.ftth100.com/mirrorhenkan/xml/
に上げてみました。
beと他スレのURLはうまくいっているようです。
969水先案名無い人:2006/12/02(土) 18:58:39 ID:2lf4ENLR0 BE:320135437-2BP(2)
で htmltodatサポ板の書き込みで聞いたのは
前処理中の

s#(>)\.\./\.\./(.+?)_(.+?)/\d+?/(\d+?)\.html(</a>)#$1http://$2\.2ch\.net/test/read\.cgi/$3/$4/$5#ig

の箇所です。
ここの「ex13」「gline」だけは欠落しているので補うしかない訳ですが
そこを半自動化出来たらいいな、と。

ただ
同じ板同じスレのhtmlを一括dat化するなら
それほど面倒でもないかもと思うですが
やはり半自動化出来ればいいな と。