したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

htmltodatサポートスレッド

1</b><font color=#FF0000>(L44UP/ps)</font><b>:2002/11/30(土) 01:48
QA・要望等受け付けるかもしれない(?)スレッドです。
作者にスキルがないのでできないことが多いかとは思います。

931名無しさん:2015/12/09(水) 00:05:11
すみません
質問させてください

http://hanabi.2ch.net/test/read.cgi/anichara2/1447210834/
このスレが12/2の438までは上手く変換できてたのですが
それ以降設定を弄ってないのに「一行が長すぎるか正規表現が正しくないようです」とでるようになりました
HTMLは取得できています
正規表現は12/2以前もそれ以降も0.26その2を使っています
自分が見ている他のスレは同じ仕様(0.26その2)で変換できていてこのスレだけ引っかかりました

どこを直したらいいでしょうか

http://2chdays.net/anichara2/dat/1447210834.dat
これで583までは取得できたのですが残りができませんでした

932名無しさん:2015/12/09(水) 00:11:42
追記
どうやらhanabi.2ch.netだけおかしくなるみたいです

933 ◆/vmukiyuzw:2015/12/09(水) 00:47:05
>>931さん
えっと、このスレでは話題に上がってなかったんでスルーしてたのですが
2chの一部のサーバでread.cgiの仕様変更があって返ってくるhtmlの形式が
ガラッと変わっています。
なので従来の正規表現等では変換できないケースが出ています。

で、次レスで一応対応したつもりの正規表現等を紹介しておきます。
ただ、それ以前に若干の疑問が。

正規表現「0.26その2」とは「DAT2HTML0.26その2」のことですよね?
それはそもそも2chのread.cgiに対応しているものではないはずなんですが。
その時点でなんか勘違いがあるんではないかと不安になります。

934 ◆/vmukiyuzw:2015/12/09(水) 00:55:19
read.cgi 06系対応版。
05系と統一できないか考えてたのですがちょっと難しそうなので
とりあえずそのまま出します。使う側で使い分けが必要なのは
申し訳ないです。


コメント:
# 2chのread.cgiからの出力を変換-20151208
# 2chのcgi仕様変更(06系)に対応
# まだ今後の推移が読めないので様子見バージョン

URLの変換:
s#http://(.+?)/test/read\.cgi/(.+?)/(\d+)/?.*#http://$1/test/read.cgi/$2/$3/#

アンカー削除:
false

後処理:
# BE周りの処置
s#<img src="http://(img\.2ch\.net/.+?)">#sssp://$1#igk
s#</div><div class="be .*?><a href="http://be\.2ch\.net/user/(\d+).*?>\?(.*?)</a># BE:$1-$2#ig
# jump.2chは無駄なので取っ払う
s#<a href="http://jump\.2ch\.net.*?>(.*?)</a>#$1#igk
# フルパスを相対パスに変換(やらなくても問題ないかもしれないが一応昔の仕様に合わせる)
s#<a href="http://.*?\.2ch\.net/(test/read\.cgi/.*?/\d+/\d+)#<a href="../$1#igk
s#<a href="http.*?>(.*?)</a>#$1#igk
# お絵かき機能のimgタグを除去
s#<img src="(.*?)">#$1#igk

正規表現:
m#<div\ class="number">([0-9]+).+?<div\ class="name"><b>(?:<a\ href="mailto:(.*?)">)?(.*?)(?:</a>)?</b></div><div\ class="date">(.*?)</div><div\ class="message">(.*?)</div>#mi


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板