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

htmltodatサポートスレッド

820 ◆/vmukiyuzw:2015/01/19(月) 21:10:48
>>819に関連して
2chのread.cgiのレスポンスが変更されてるので、ミラーしてるログ速なんかにも
影響でてるんじゃないかと思って調べてみたんですが
ログ速がうまくやってるのか特に影響はなかったみたいです。

ただ、ログ速のhtml形式がいつの間にか微妙に変更されていて
今までの記述ではうまくマッチしなくなってる
(エラーになるわけではないがdat中に不要なタグが混入する)
ようなので修正してみました。
正規表現に拡張形式を使ってみたのでhtmltodatのバージョン0.11.2以上で
使ってください。


コメント:
# ログ速変換用-20150119
# ID周りの変更に対応

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

前処理:
# スレタイ補正
s#(<title>)(.*?) \| \S*?(</title>)#$1$2$3#ik
# ニュー速等のアイコンを2ch形式に補正(663さんのものをアレンジ)
s#<img src="http://cdn.logsoku.com/(img.2ch.net/ico/.+?)&quot;&gt;#sssp://$1#igk
# 「〜回発言」を取り除く(663さんのものをアレンジ)+ID周りの変更を反映
s#<span class="id_color.*?>(ID)</span>(:)<span.*?>(.*?)</span>(.*?)\[.*?\]#$1$2$3$4#igk
# ニコ動やyoutubeのサムネイル削除
s#<div class='video.*?>.*?<img .*?></div>##igk
s#<(iframe|img class).+?<br/>##g;
# <br/>タグに対応してない専ブラへの対応
s#<br/>#<br>#igk

プレビューを表示しない:
false

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

正規表現:
m`
(?# レス番号) <div\sid="(\d+)".*?
(?# 名前) <span\sclass="n?em">.*?<b>(.+?)</b></span>.*?
(?# メール欄) \[(.*?)\].*?
(?# 投稿日・ID) :(.*?)\s*
(?# レス内容) <div\sclass="comment">(.*?)</div>
`imkx

821 ◆/vmukiyuzw:2015/01/24(土) 01:28:00
バージョンアップしました(0.11.3)
 ・2chのCloudFlare採用によるメール欄の難読化をデコードするよう修正。
 ・Ver0.11.0で削除したコントロールのうち
  「一括変換」「subject.txt作成」を復活。

一点目は>>819で書いたことに関連してなのですが
対応策をいろいろ検討した結果、htmltodat内部に
デコード処理を取り込むのが当面いいかなと考え
そのように修正しました。
それ以外のエンコードロジックが出てきたらどうするんだとか
汎用性の面で問題はあるのですが、これに汎用的に
対処しようと思うとなかなか難しい面があって・・・
まあ当面対処すべきなのは1パターンだけですし
汎用性が要求されるケースが発生したらその時考えます。

で、若干の考慮事項があるのですが次スレで。

二点目は、>>805で「一括変換は使う」という方がいらっしゃったので
確かにまだニーズはありそうだなと復活させてみました。
「subject.txt作成」は「一括変換」を使う人には必要かもと思い
一緒に復活させました。

822 ◆/vmukiyuzw:2015/01/24(土) 01:36:20
>>821の関しての考慮事項です。
(バージョン番号間違えた。0.11.4です)

この変更は、>>819に書いたように

> <a href="mailto:sage">
> みたいな形式でメール欄が表現されていたのが
> <a href="/cdn-cgi/l/email-protection#abd8caccce">
> みたいになります。

となってしまうのを、元の"mailto:sage"に戻すためのものなわけです。

ところで、エンコードされた形式の
/cdn-cgi/l/の部分をハードコードするには気持ち悪かったのと、
内部処理的に、<a href="mailto:email-protection#abd8caccce">
みたいにmailtoの内容として表現されていると処理しやすい
というのがあったんで、前処理で変換してくださいという仕様にしました。
(形式が変わっても"mailto:email-protection#〜"の形式にすれば変換可能ということ)

これを含んでのread.cgiの変換prmは以下のように。


コメント:
# 2chのread.cgiからの出力を変換-20150124
# 元datに近づけるためアンカー削除はオフにし
# 後処理で不要なもののみ削除する。
# メール欄デコード処理対応を反映

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

前処理:
# メール欄デコードの前処理
s#(<a href=)"/cdn-cgi/l/(email-protection\#.*?">)#$1"mailto:$2#ikg

アンカー削除:
false

プレビューを表示しない:
true

後処理:
# アンカータグ削除(レスアンカーに対するタグは削除しない)
s#<a href="http.*?>(.*?)</a>#$1#igk
# BE周りの処置
s#<img src="http://(img\.2ch\.net/.+?)">#sssp://$1#igk
# 以下はhtmltodatの内部処理に組み込まれているので不要
#s#<a href=.?javascript:be\((\d+)(?:,\d+)?\).*?>\?(.*?)</a>#BE:$1-$2#igk

正規表現:
m#<dt.*?>([0-9]+).+?(?:"mailto:(.+?)">)?<b>(.+?)</b>(?:</font>|</a>) ?:(.*?)<dd>(.*?)<br><br>(<dt.*?>|</dl>)#mi

823 ◆/vmukiyuzw:2015/02/04(水) 00:46:45
バージョンアップしました(0.11.5)
 ・prmファイル作成時に、無駄な要素(デフォルトから変更していない
  チェックボックスの内容)が含まれないようにする。
 ・「HTMLソース」「dat変換結果」欄の内容をエディタで開く機能を追加。
  (それぞれの欄の右クリックから指定)

今回はまあ正規表現書いたりprmファイル作ったりする
開発サイドの人(ってほぼ私か^^;)向けの機能強化です。

一点目は、今まではprmファイルを作成しようとするときに
デフォルトから変更していないチェックボックスの情報も全部出力され
ちょっと冗長な状態になっていました。
これを、デフォルト状態から変更されていないものは出力しないよう
修正しました。
今までは実は目で見て削除していたんですがそれが多少楽になるかな
て感じです。

二点目は、これはかなり前からやりたかったことなんですが、
「HTMLソース」「dat変換結果」欄は表示するデータ量も多いので
もっと大きいウィンドウで表示したり自由に検索したりしたかったのですが
現状の機能の延長線では難しかったので、外部エディタでの表示による拡張を
することにしました。これにより正規表現等の作成が捗ることになると思います。
(現状でも私はエディタにコピペして作業することがほとんどだったので)

デフォルトでは、拡張子 .txt に関連付けられたエディタが起動します。
(関連付けを特に弄ってなければ普通はメモ帳になると思います)
好みのエディタに変更したい場合は、iniファイルで変更できるように
しました。配布ファイルにサンプルのhtmltodat.iniファイルを
同封しているので弄ってみてください。
(今のところ、エディタ側で編集してその結果を反映、とかはできません)

824 ◆/vmukiyuzw:2015/02/08(日) 12:21:57
バージョンアップしました(0.11.6)
 ・前バージョンの「エディタで開く」機能に不具合があったので修正。

今回は不具合修正のみです。
エディタによっては、htmltodatのインストールパスに空白を含む場合に
上手く起動できないケースがあったので修正しました。

自分の環境で使ってる時にはパスに空白を含まないとこで使ってるので
気づくのにちょっと時間かかりました。
今後も同様な問題は起こり得るんで気を付けないといけないですね。

825名無しさん:2015/03/15(日) 00:11:15
htmltodatByFiddler 1.03使わせてもらってます
JaneXeno 150312(Win7 64bit)で余裕で動きました
ありがとうございます

826名無しさん:2015/03/17(火) 21:25:36
htmltodatByFiddler1.03を使わせてもらってます。
質問です。
UAをMonazillaから以下に書き換えると全レス”ここ壊れてます”と出て、
レスを取得できません。
なんででしょうか?以下に書き換えてます。

(oSession.oRequest["USER-AGENT"].Contains("Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"))) //専ブラ以外からのリクエストは変換しないほうがよさそう。Monazillaを名乗らない専ブラの場合は適当に変えて下さい

827名無しさん:2015/03/17(火) 22:01:35
>>826
OnBeforeRequest内でIEのUser-Agentに書き換えた上で、OnBeofreResponseのそのif文書き換えてるんだよね?

828 ◆/vmukiyuzw:2015/03/17(火) 22:14:18
>>826さん
UAを変更したいという話なら、修正個所はそこではなく、
OnBeforeRequest のほうに次の一行を足してください。

oSession.oRequest["USER-AGENT"] = "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko";


お書きいただいたOnBeforeResponse のほうの判定ロジックは
現状あんまり意味ないと思うので外してくださっていいと思います。

if ((oSession.url.match(/(?:\.2ch\.net|\.bbspink\.com)\/test\/read/)) &&
(oSession.oRequest["USER-AGENT"].Contains("Monazilla"))) //専ブラ以外からのリクエストは変換しないほうがよさそう。Monazillaを名乗らない専ブラの場合は適当に変えて下さい

この2行は、以下に変更して下さい。

if (oSession.url.match(/(?:\.2ch\.net|\.bbspink\.com)\/test\/read/))

上のロジックを入れていたのは、Fiddlerがデフォルトでは汎用ブラウザのプロキシになっちゃうので
汎用ブラウザからread.cgiを見た時にdat変換されちゃうのはまずいかなと思っていたためです。
ですが、Fiddlerのオプションで「Act on system proxy startup」をオフにすれば
問題ないと分かったので、外して構わないと考えました。

829名無しさん:2015/03/17(火) 23:46:58
>>826-827
ありがとございます。
>>827に書き換えで出来ました。

830名無しさん:2015/03/17(火) 23:48:20
間違えました。
>>827-828
ありがとうございました。

>>828に書き換えで出来ました。

831名無しさん:2015/03/18(水) 19:53:36
2chブラウザ Jane Style Part117 [転載禁止](c)2ch.net
http://anago.2ch.net/test/read.cgi/software/1426520789/614

614 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2015/03/18(水) 18:50:16.69 ID:gSYCzAIq0
http://mukiyu.g.ribbon.to/
 htmltodat 0.11.6(910k byte)の中のhtmltodat.exe/bregexp.dll/ntf32.dllの3つと
http://mirrorhenkan.g.ribbon.to/jane/htmltodat-convert2/
 htmltodat-convert2_20121221 (5k byte)の中のhtmltodat-convert2.wsfをJane2ch.exeと同じフォルダに解凍する

http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/822

コメント:
(中略)
m#<dt.*?>([0-9]+).+?(?:"mailto:(.+?)">)?<b>(.+?)</b>(?:</font>|</a>) ?:(.*?)<dd>(.*?)<br><br>(<dt.*?>|</dl>)#mi

までコピーする

htmltodat.exeを起動
左下3番目prmファイルボタン→入力欄を右クリックして貼り付ける
保存ボタン→任意の名前.prmと名づけJane2ch.exeと同じフォルダに保存する
htmltodat.exeを閉じる


command.datを開き
LINKからdat取得=wscript "$BASEPATHhtmltodat-convert2.wsf" "$LINK" "任意の名前"
入力からdat取得=wscript "$BASEPATHhtmltodat-convert2.wsf" "$INPUT" "任意の名前"
と入力して上書き保存

あとはGetLogと同じ右クリから外部コマンド使って取得
ただし差分入力には対応してないのでログが多少でもある場合は
スレurlをコピー後ログ削除→右クリ入力からdat取得でペーストして取得

832名無しさん:2015/03/18(水) 19:54:46
2chブラウザ Jane Style Part117 [転載禁止](c)2ch.net
http://anago.2ch.net/test/read.cgi/software/1426520789/622

622 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2015/03/18(水) 19:13:19.12 ID:SPOUqZL00
"$LINK"は"$LINK$URL"の方がいいよ
開いてるスレですぐ使える

2chブラウザ Jane Style Part117 [転載禁止](c)2ch.net
http://anago.2ch.net/test/read.cgi/software/1426520789/626

626 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2015/03/18(水) 19:18:13.92 ID:2NT7R8KV0
"$LINK$URL"だとgetlogと全く同じ使い方できるね
色んなパターン作っておけばいいか
後はこの閉じて開き直す手間が無くなれば完璧なんだけど厳しいか

833名無しさん:2015/03/20(金) 10:21:08
2chブラウザ Jane Style Part11(c)2ch.net (実質Part118スレ)
http://anago.2ch.net/test/read.cgi/software/1426777984/113,134,148より

・フォルダで管理する場合


Jane Style
   ┗script
     ┗htmltodat
         ┗htmltodat-convert2.wsf

・command.datに
LINKからdat取得=wscript "$BASEPATHscript\htmltodat\htmltodat-convert2.wsf" "$LINK$URL" "任意prm(拡張子書くな)"

・htmltodat-convert2.wsf修正箇所
【13行目 挿入】
var base = (new ActiveXObject("WScript.Shell")).CurrentDirectory + "\\";
(new ActiveXObject("WScript.Shell")).CurrentDirectory = cur;

【20行目 curをbaseに】
var log = GetProf("PATH", "LogBasePath", base, base + "Jane2ch.ini");

【66行目 curをbaseに】
cmd.Run("\"" + base + "Jane2ch.exe\" " + "\"" + WScript.Arguments(0) + "\"");

834名無しさん:2015/03/20(金) 10:21:52
2chブラウザ Jane Style Part11(c)2ch.net (実質Part118スレ)
http://anago.2ch.net/test/read.cgi/software/1426777984/135より

必ず1つ下のサブフォルダの固定でよければ、

1.「htmltodat」というサブフォルダを作り、
bregexp.dll,nkf32.dll,htmltodat.exe,htmltodat-convert2.wsf,任意の名前.prm
の5ファイルを移動

2.htmltodat-convert2.wsfを2行修正する
20行目
var log = GetProf("PATH", "LogBasePath", cur, cur + "Jane2ch.ini");
 ↓
var log = GetProf("PATH", "LogBasePath", "", cur + "..\\Jane2ch.ini");

66行目
cmd.Run("\"" + cur + "Jane2ch.exe\" " + "\"" + WScript.Arguments(0) + "\"");
 ↓
cmd.Run("\"" + cur + "..\\Jane2ch.exe\" " + "\"" + WScript.Arguments(0) + "\"");

3.command.datのwsfとprmファイルにパスを追加
LINKからdat取得=wscript "$BASEPATHhtmltodat\htmltodat-convert2.wsf" "$LINK$URL" "htmltodat\任意の名前"
入力からdat取得=wscript "$BASEPATHhtmltodat\htmltodat-convert2.wsf" "$INPUT" "htmltodat\任意の名前"

835名無しさん:2015/03/22(日) 14:22:53
janexeno & chaikaでhtmltodatByFiddler 2.00を使わせてもらっています

http://kanae.2ch.net/test/read.cgi/nmb/1423569517/
このスレを新規で読み込んだ後、新着チェックをすると416になり「ここ壊れてます」となります。

http://anago.2ch.net/test/read.cgi/software/1426858616/907
ということらしいので差分取得の部分を修正すればいいと思うのですが
htmltodatByFiddlerではどう修正すればいいでしょうか?
ご教示お願いします

836 ◆/vmukiyuzw:2015/03/22(日) 19:35:48
>>835さん

http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038409548/239

にレスしました。
まあそんなこだわりがあるわけでもないんですが
htmltodatByFiddlerについては上のスレでやってきたので
情報が分散するのはあまりよくないなというのと、
本家(?)htmltodatの話題と混ざるとややこしいかもという
感じです。

837835:2015/03/22(日) 20:09:18
>>836
さっそくの対応ありがとうございます。

スレ違いだったようで申し訳ありませんでした。
fiddlerに関する話題はそちらのスレにお邪魔させていただきます。

838名無しさん:2015/03/23(月) 00:34:48
Fiddlerとかあったのか

謎の多い迎撃機だよな

839名無しさん:2015/03/24(火) 23:28:58
突然ですが質問させていただきます。
以下のような、外部板の過去ログとして保存されているスレッドの場合、
http://www2.atchs.jp/spacestar/oldkako/
HTML化は通常の方法でやっても良いのでしょうか?
また、正規表現はどれを選択すれば良いのでしょうか?

どうか返答をお願いします。

840 ◆/vmukiyuzw:2015/03/25(水) 01:03:27
>>839さん
そこの保存過去ログに限定しての回答でいいですかね?

> HTML化は通常の方法でやっても良いのでしょうか?

とは多分prmファイルを使わない方法でもいいかという意味かと思うのですが
そこのログに関していえば前処理も必要になりますので
prmファイルを使わない場合前処理と正規表現の両方の管理が必要になります。
それでも構わないというならいいですがお勧めはprmファイルのほうですね。
前処理・正規表現は以下でいけるかな。
サンプルが少ないのでまだわからないとこもありますが。


前処理:
s`<br />`<br>`ig
s`.nbsp;<br></dt>``ig

正規表現:
m`<DT>(?:<A.*?>)?([0-9]+).+?(?:<A HREF="mailto:(.+?)">)?<b>(.*?)</B>(?:</A>|</FONT>) ?:(.*?)<DD>(.*)<BR><BR>(<dt>|</dl>)`mik

841名無しさん:2015/03/25(水) 18:20:03
>>840
ありがとうございます。無事にdat化に成功しました。
prmファイルというのがわからず検索しましたが理解できませんでした。
普通にhttp://www2.atchs.jp/spacestar/oldkako/3.htmlをHTML化し、
◆/vmukiyuzwさんが教えてくれた前処理と正規表現を記入して変換開始を押しました。

しかし、dat化したファイルを専ブラで読んだ後、専ブラを再起動させると
スレビューが真っ白になり読めなくなってしまいます。
読みたくなったら専ブラを起動するたびにdatファイルを放り込まないといけないようです。

842 ◆/vmukiyuzw:2015/03/26(木) 00:05:44
>>841

> しかし、dat化したファイルを専ブラで読んだ後、専ブラを再起動させると
> スレビューが真っ白になり読めなくなってしまいます。
> 読みたくなったら専ブラを起動するたびにdatファイルを放り込まないといけないようです。

専ブラの種類&バージョンは何でしょう。
あとdatファイルの取り込みはどのように行いましたか?
環境が許せば追試してみます。

# といいながら明日からちょっと忙しいので週末まで何もできないんですが

843名無しさん:2015/03/26(木) 02:10:21
>>842
専ブラはJaneXenoです。
datの取り込み方は、http://www2.atchs.jp/spacestar/ を板登録して、
その板一覧にdatファイルをドラッグ&ドロップしました。
それ以外の方法を知らないので…

お忙しい中すみません。
時間ができたらで結構ですのでどうかよろしくお願いします。

844名無しさん:2015/03/26(木) 07:40:35
>>843
横からごめんなさい。(◆/vmukiyuzwさんではありません)
D&Dはとりあえず読むための方法ですね。
その板はどのツリーに、何という名前で登録しましたか。
例えば、 外部板
        └宇宙の星
というように登録したのだとしたら、(適当でごめんなさい)
\JaneXeno\Logs\2ch\外部板\宇宙の星 という感じのフォルダがあるはずです。
コンピュータからこのフォルダを開いて、ここにファイルを移動します。
よくわかんなければ、外部コマンドに
%板フォルダを開く=explorer "$LOCALDAT\.."
と書いて、板一覧で右クリックし、「板フォルダを開く」をクリックすれば、フォルダが開きます。

845名無しさん:2015/03/26(木) 22:00:18
>>844さん、アドバイスをありがとうございます。
その通りに実行したのですが、やはりスレは真っ白で何も表示されませんでした。
(コマンドも登録しましたが実行されませんでした)
やはり特殊な過去ログ倉庫に入っているスレだからでしょうか。

板登録は、 その他
         └宇宙の星
というふうにしました。

846名無しさん:2015/03/27(金) 00:08:01
2chで途中までログを持っているスレで使用するには
一旦ログを削除してからhtmltodat-convert2.wsfを実行するしか方法はないのでしょうか?

847名無しさん:2015/03/27(金) 00:54:04
質問というか要望というか、です。

1、スレタイの挿入位置を任意のところにしたいのですがデフォで出来ますか?
2ch形式と違いしたらばではスレタイがレス1の末尾でなくその1つ前のブロックなので、
正規表現と変換結果式を工夫してみたり、後処理の中で出来ないかと試したのですが一向にうまくいきません。
もしスレタイ挿入が後処理のあとなのでしたら、変換結果式の中で$titleのような形で指定できるようにしてほしいです。

2、上に関連してですが、したらばのタイトルは<h1>タグの方が本来のタイトルなのでそちらから取得するようにしてほしいです。
前処理でのスレタイ補正も考えたのですが、スレタイや板名次第では面倒なことになるので。
より汎用的にするなら変換結果式の中で$h1titleのような形で指定できたらと思います。

3、datを保存するときに文字エンコードを変更したいのですがどこで指定できますか?
readmeに書かれている「保存文字コード」を探したのですが見つけられません。
少なくともdat保存時のダイアログには表示されてないのです。

一応使用環境はOSはXP SP3、専ブラはChaikaです。

よろしくお願いします。

848844:2015/03/27(金) 07:52:24
>>845
・Windowsのバージョンは?
・Jane2ch.exeの場所は?
 ショートカットから起動しているなら、それを右クリックして「リンク先」をここにコピペしてください
・JaneXenoの設定-【パス】の「ログとボード一覧のフォルダ」をコピペしてください
・その板の現行スレの一覧は見えていますか?
・取得した現行スレはありますか?
・外部コマンドをまだ削除していなければ、スレ一覧で右クリックして「板フォルダを開く」が見えますか?

> やはり特殊な過去ログ倉庫に入っているスレだからでしょうか。
そんなことはないです。

849845:2015/03/27(金) 18:16:11
>>848さま

・Windowsのバージョンは?
Windows7 Home Premiun SP1

・Jane2ch.exeの場所は?
C:\Users\***\Documents\Jane Xeno\Jane2ch.exe

・JaneXenoの設定-【パス】の「ログとボード一覧のフォルダ」をコピペしてください
今見たら白紙状態でした。どう設定すべきでしょうか?(もしやこれが問題!?)

・その板の現行スレの一覧は見えていますか?
はい、見えています。

・取得した現行スレはありますか?
ありません。

・外部コマンドをまだ削除していなければ、スレ一覧で右クリックして「板フォルダを開く」が見えますか?
見えます。クリックしたところ、ちゃんと目的のところまでファイルが開きました!
datをそこにコピーして開いてみたのですが、
(・∀・)サテオシゴト・・・          ε三三三三(; ・∀・)鯖マデオツカイ
HTTP/1.1 400 Bad Request
( ・∀・)(・∀・ )オツカイオワリ 三三三三3
(・∀・∀・)
(・∀・)ナンカエラーダッテ HTTP/1.1 400 Bad Request
(・∀・)カンリョウ!!
というエラーで読むことはできませんでした。

850 ◆/vmukiyuzw:2015/03/28(土) 02:33:29
ちょっと忙しくて離れてた間にあちこちでいっぱいレスがついてる・・・^^;
とりあえずややこしそうなのから行ってみよう。

>>847さん
そもそも、したらばのログを変換してChaikaで読みたいという話なんですよね?
Chaikaの仕様をよく知らないのでわからないとこもあるんですが、
読みたいログはしたらばの現行(生きてる)ログ?それとも過去ログ?
現行ログにしてもhtmlで取得する(read.cgiを使う)方法と
したらば独自のrawmode.cgiを使う方法があるのですがどちらですか?
(貴方の書き方ではどれにでも判断できる気がしてよくわかりません)

変換したいURLのサンプルを(できれば複数)示していただきたく。
また、欲しい結果の形式も通常の2chのdat形式と違うような気もするので
その場合はそれも示していただければと。

1と2についてはまずはそこからってとこで。
3については、確認なんですがChaikaではしたらばのログはEUCのまま
ログを保存してるんですかね?
大抵の専ブラは2chと同様に扱いたいためSJISに変換して保存してるのが
ほとんどだと思うんですが、Firefoxのプラグインだからその辺あまり
頓着しなくてもできるってことなのかな?

851848:2015/03/28(土) 07:40:32
>>849
そうそう、パスにユーザ名が入っていたら伏せてください、って書くの忘れました
ちゃんと***にしてくれてよかったです
ログとボード一覧のフォルダも、(空欄のこともあります)と書いておいたほうが親切でしたね

\Program Filesフォルダ絡みだと超めんどくさいんで、とりあえずそうでなくてよかった

現行スレの一覧が見えるなら、外部コマンドで開いたフォルダにsubject.idbとsubject.txtが
あるはずなのですが、ありますか? 他にファイルはありますか?
フォルダ名は「宇宙の星」で、フォルダのプロパティの「場所」は、
「C:\Users\***\Documents\JaneXeno\Logs\2ch\その他」となっていますか?

以下を試してみてください
・スレ一覧で「宇宙の星」板を開いていたら、閉じる
・レス欄でそのスレを開いていたら、削除する
 フォルダにコピーしたdatは消えると思います
・あらためて、(JaneXenoにではなく)フォルダにdatファイルをコピーする
・「宇宙の星」板を開く
これでスレ一覧の一番下にそのスレが出てくるはずなのですが…

852848:2015/03/28(土) 07:44:36
はっ、◆/vmukiyuzw さんが!
>>850
>>844,848,851

853848:2015/03/28(土) 07:51:18
ミスった…>>852

>>850
>>844,848,851 です。
差し出がましいとは思いましたが、htmltodatとは関係ない所でつまづいてるっぽかったので…
JaneXenoユーザなのでこのくらいは。
chaika使っていればそちらもお手伝いできるんですが、そうじゃないのでさっぱりです。

854847:2015/03/28(土) 22:53:44
>>850
まず確認不足による事実誤認があったので一部撤回します。

>>847の2について現行、過去ログ問わずh1タグが本来のスレタイだと思ってましたが、過去ログではh1タグ自体がないのですね。
てっきりしたらば共通仕様としてあるものとばかり思ってました。
また仮にh1タグの方を使いたい場合でも前処理で本来のタイトルを削除後h1タグをtitleタグに置換すればいいだけと気づきました。

そういうわけで2については撤回します。申し訳ない。

で変換したいのは過去ログです。
ただChaikaと他の専ブラのdatの扱い方が根本的に違うので、どこのスレと指定する必要はないかな。
なんせ、

> 大抵の専ブラは2chと同様に扱いたいためSJISに変換して保存

これに驚きました。多くの専ブラがそういう仕様だったなんて。
テストがてら入れていたJaneXenoで試したら確かに。
Chaikaは最後までofflaw2対応を見送り続けるぐらいに公式ないし準公式な公開情報を尊重し実装してるので、
2ch仕様に変換済みのdatの保存は基本無しの方向です。
(尤も今回のAPI騒動のおかげで封じてきたWebスクレイピングを次回以降の大型アップデートで実装予定ですが)
ですのでサイトから取得したものはそのまま保存し、表示の都度然るべき変換を行ないます。
すなわち

したらば仕様
文字エンコード:EUC-JP
レス番号<>名前欄<>メール欄<>日付<>レス本文<>スレタイ<>ID

のままdatファイルとして保存しています。
このスレならば
http://jbbs.shitaraba.net/bbs/rawmode.cgi/computer/1929/1038588508/
をダウンロードしたのと同じですね。
なので文字エンコード指定とスレタイ位置指定が出来ればということです。

あと追加でprmファイルの読み書きダイアログがやや小さく思います。
初めて開いたときボタン類が見えなかったため使い物にならないと判断してしまいました。
ウインドウを広げればいいだけだったんですが出来れば修正願います。
一応開いた直後のスクショです。
http://light.dotup.org/uploda/light.dotup.org164419.png

855 ◆/vmukiyuzw:2015/03/28(土) 23:31:30
>>854さん
自分でもchaika使って調べてみて、だいたいお書きになった状況だろうなと
想像していました。

で、まず文字エンコードについてですが
htmltodatのウィンドウの何もない場所(例えばプレビュー欄の右上など)
をダブルクリックすると今まで見えなかったボタン等がいろいろ出現すると思います。
そのうち、一番下の欄、「prmファイル」のボタンの右に
「保存文字コード」というリストボックスが現れますので、そこで「EUC」を選択してください。
その状態のままdat保存するとEUC形式になります。

なんでそんな隠し機能になってるかというと>>784参照
つまり、SJIS以外で保存するブラウザがあるとは思っていなかったからです。

で、
> レス番号<>名前欄<>メール欄<>日付<>レス本文<>スレタイ<>ID
については次レスで。

856 ◆/vmukiyuzw:2015/03/28(土) 23:47:18
>>855続き。
後処理で、ID欄を削ってdat一行の最後に付け直すようにしてみました。
スレタイの付加は後処理より前にやっています。
実際に必要なのはスレタイの位置指定ではなくIDの場所移動だったみたいです。
ただ、テキスト上では変換結果を確認したのですが、私のほうで
htmltodatで変換したdatをchaikaで読む方法がまだわからず・・・
確認していただけたらと思います。(できたら教えてください)


コメント:
# したらば過去ログをrawmode.cgiが返すのと
# 同様の形式に変換する

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

後処理:
s`(\d+?<>.*?<>.*?)(\sID:(.+?))(<>.+?)\r\n`$1$4<>$3\n`ig

正規表現:
m#<DT><A.*?>([0-9]+).+?(?:<A HREF="mailto:(.+?)">)?<B> ?(.*?) ?</B>(?:</A>|</FONT>)(?: 投稿日)?: ?(.*?)(?:<BR>)?<DD>(.*) ?<BR><BR>#mik

857849:2015/03/28(土) 23:59:33
>>851さま、原因がわかりました。
htmltodatでHTML化、dat化した時に、スレタイである日本語そのままのファイル名で保存されており、
再起動するとそれが文字化けして読み込み不可能となっていたのです。
http://www2.atchs.jp/spacestar/oldkako/を見るとスレッドID項目がありましたので、
その数字にファイル名を書き換えて、>>851さまの
>>以下を試してみてください を実行したところ、成功しました。

外部コマンドで開いたフォルダにはsubject.idbとsubject.txtがあり、
例の文字化けしたdatファイルとidxファイルがありました。
それを削除して、ファイル名を変更したdatファイルをコピーし、
「宇宙の星」板を開いたら目的のスレが出てきました。
今度は再起動しても問題なく読めます。

過去ログ倉庫に移動された際に、**********.datという、従来のような
ファイル名ではなくなったためだと思います。

作者である◆/vmukiyuzwさま、そして救済に入ってくださった851さまには
とんだお騒がせをしてしまい申し訳なく思います。すみませんでした。
お付き合いいただきまして本当にありがとうございました。

858 ◆/vmukiyuzw:2015/03/29(日) 00:10:59
>>855さらに続き。

>>854
> あと追加でprmファイルの読み書きダイアログがやや小さく思います。
> 初めて開いたときボタン類が見えなかったため使い物にならないと判断してしまいました。
> ウインドウを広げればいいだけだったんですが出来れば修正願います。

これ、もともとXPの環境で開発してて、win8.1の環境に移植したときに一回発覚したので
その時に修正したんですが(>>800)、まだ出るんですか。
お使いのOS及びhtmltodatのバージョンをよろしければお教えください。
(といってもいろんな環境でテストできる状況でもないので修正できるかどうかはわからないです)

859 ◆/vmukiyuzw:2015/03/29(日) 00:17:26
>>857さん
問題解決したようでよかったです。
>>851さん
私が留守の間に丁寧にサポートしていただきありがとうございます!

860 ◆/vmukiyuzw:2015/03/29(日) 00:39:23
さてここまでの残件は
>>846さんですか。

htmltodat-convert2.wsfについてはすでにいろんなところで話に上がっていて
まとめページを書いてくださってる方もいて
http://pastebin.com/0QDr9S8v
私が語れることはあまりないと思うんですが

途中までログを持っているスレでhtmltodat-convert2を使うと
その時点で取得済みのログは上書きされるはずなので
「一旦ログを削除してから」という動作は必要ないと思いますよ。
上の参考スレにもありますが、再描画、もしくはいったん閉じて開きなおす
でいいと思います。

861名無しさん:2015/03/29(日) 03:31:57
要望です

解像度の低いディスプレイだとウインドウ下部が見切れて
マウスでの操作が出来ません
下部の見えないボタンは現在キーボードから操作しています

スクロールバー等での対応出来ればお願い致します

862名無しさん:2015/03/29(日) 11:46:47
>>860
そのまとめページにも

>※ 一度でも該当スレを開いたことがある場合は、事前にログ削除して、a)、c)の手順で実行すればレス内容が表示されないということは起きない
>※既に開いたことがある場合は、ログ削除しないと「ここ壊れています」と表示される場合がある

とあります。
スレの再描画はやっていますが差分は表示されません。
一度ログを削除してから実行すると全部取得できるのですが。

とここまで書いた後でいろいろ試してみてわかったのですが、
どうやら該当スレの板のスレッド一覧を更新しないとダメな様です。

つまりお気に入りや最近読み込みから該当スレを開いて差分取得を試みるとスレの再描画やスレの開き直しをやっても差分は表示されない。
コマンドを実行した後に該当スレの板のスレッド一覧を更新してからスレの再描画やスレの開き直しをすると差分が表示される。
もしくは該当スレの板のスレッド一覧を更新してからコマンドを実行してスレの再描画やスレの開き直しをすると差分が表示されるみたいです。

863名無しさん:2015/03/29(日) 12:42:09
途中までログを持っているスレは
メモ欄のプレビューでいけるかと・・・

864名無しさん:2015/03/30(月) 23:24:01
>>855-856
ありがとうございます。
多少の定義の変更が必要でしたけどほぼうまくいきました。
したらば自体何度か仕様変更があったようで定義も修正する必要があるでしょうけど、
ヒントは得たのでそれはその時おいおいやることにします。
以下でテストしました。

メンテナンス告知スレッド
http://jbbs.shitaraba.net/bbs/read.cgi/computer/10298/1071739838/
テストその1
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1024130759/
テストその3
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1117200553/
テストその4
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1117201019/

テストその1のスレで文字化けする以外はおおむね満足な結果です。
文字化けは使用してるライブラリの所為でしょうがないのかな?

現時点で保存したprmです。

コメント:
# したらば過去ログをrawmode.cgiが返すのと
# 同様の形式に変換する

前処理:
# アンカーではないリンクのタグ除去
s#<a href="h[^>]+>([^<]+)<\/a>#$1#migk
# 旧仕様のID欄をrawmode.cgi仕様に置換
s#<font size=1>\[ ([^ ]*) \]<\/font>#ID:$1#migk

アンカー削除:
false

透明あぼーんを補う:
true

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

後処理:
# スレタイをrawmode.cgi仕様の位置へ移動
s#(\d+?<>.*?<>.+?)(\sID:([^<]+?))?(<>[^\r]+?)\r\n#$1$4<>$3\n#ig
# 透明あぼーん補完時の文字列除去
s#透明あぼーんかも<>##gk

正規表現:
m#<DT><A.*?>([0-9]+).+?(?:<A HREF="mailto:(.+?)">)?<B> ?(.*?) ?</B>(?:</A>|</FONT>)(?: 投稿日)?: ?(.*?)(?:<BR>)?<DD>(.*) ?<BR><BR>#mik

865名無しさん:2015/03/30(月) 23:28:24
>>856
残念ながら板フォルダにdatを放り込むだけではChaikaのデータベース(storage.sqlite)には自動登録されないのでスレ一覧には表示されません。
一応今後の実装予定で何らかの形で登録しやすくするらしいですが。
手動での登録は現状sqliteを扱えるソフト、あるいはFirefoxのアドオンSqlite Managerを利用しますが今回は割愛。

とりあえず見るだけに限定しての話。

1、板フォルダはChaikaサイドバーの板一覧から板を選択、スレ一覧を表示。
2、右上のツールを押すとあらわれる「ログディレクトリの表示」で開く。
または、
1、同じサイドバーの右上のアイコンを押して「フォルダを開く」メニューからログフォルダを開く。
2、該当の板フォルダを探し出して移動。どれを開くべきかはフォルダ名で類推できると思うので割愛。

3、datを板フォルダに放り込みスレのリンク(多くは/read.cgi/なリンク)をChaikaで開く。

開くときは右クリックのChaikaメニューを利用するか、
Chaikaオプションの「ブラウザ」にあるスレッドリダイレクタをonにしてリンククリック。

>>858
OSは>>847で書いた通りXP SP3です。htmltodatのバージョンは0.11.6です。
またシステムフォントをMeiryoKe(ただしフォント名はMSゴシック系に改編)に変更しています。
このフォント変更の影響なのかボタン等の文字が切れて表示されるソフトがあったことを思い出しました。
どのソフトだったかまでは思い出せませんが、確かResourceHackerで修正したと記憶しています。
参考になったら幸いです。

866 ◆/vmukiyuzw:2015/03/31(火) 00:08:23
>>864-865さん
私がChaikaの使い方をあまり知らない中、
ご自分で努力いただきありがとうございます。
Chaikaのデータベース登録はこれから研究してみます。

> テストその1のスレで文字化けする以外はおおむね満足な結果です。
> 文字化けは使用してるライブラリの所為でしょうがないのかな?

そんなスレを引用されるとは・・・
そのスレは昔自力でプロキシ的動作をするソフトを作っていて
そこから文字コードの変換をテストしていたものなんです。
文字化けするかどうかをテストしていたんで文字化けは当然なんです。

あと、
> あと追加でprmファイルの読み書きダイアログがやや小さく思います。

これはこちらで確認できる環境を作る自体がなかなか難しく。
>>861さんの要望なんかも類似の問題の気がするのですが
しばらく時間を頂きたく思います。

867861:2015/03/31(火) 01:45:40
>>866
宜しくお願い致します

868名無しさん:2015/04/01(水) 04:55:26
画面が小さいモバイルPCで起動すると画面からボタンがはみ出してしまい、
下部の「prmファイル」「dat保存」のボタンが押せないのですが、
どうすれば良いのでしょうか?

OSはWin7です。解像度は最大で1024x600までしか出せず、
フォントサイズを小にしても表示し切れません。
幸い、VGA出力端子が付いているので外部ディスプレイに繋いで
なんとか使っている状態です。

よろしくお願いします。

869名無しさん:2015/04/01(水) 06:23:59
>>868

>>861,866

870名無しさん:2015/04/01(水) 09:24:38
>>868
見切れている部分がどの程度なのか分からないけど

タスクバーを自動的に隠す設定にしてみるとか
 タスクバー右クリック - プロパティ

タイトルバーをモニターの外にはみ出させるとか
 Alt+Space - 移動(M) - ↑キー

キー操作でサブウィンドウを表示させるとか
 prmファイル(R) = Alt+R
 dat保存(S) = Alt+S

こんなんじゃアカンのだろうか

871861:2015/04/01(水) 10:22:41
>>870
まー取り敢えずありがとう
でもアカンから要望してるんだよ
親切でレスしてるのは分かるけど自分の力量の範囲にしようよ
まして確認できないものを無理して答えなくてもよいと思う

例えばタスクバーを自動的に隠すはタイトルバーの幅では追いつかない
ウインドウを移動しての対処はウインドウが自動的に最大化してしまう
見えないものをショートカットで操作する事が想像出来ないのかな

上記後出し情報は作者さんの力量を考えてあえて書いてない
初心者にレスするなら必要な情報かも知れないが
こういったものを創れる作者さんだからね

ウインドウが見切れる事例は他にもあるから検索すれば分かるはず

872名無しさん:2015/04/01(水) 17:28:39
なんだこいつ

873名無しさん:2015/04/03(金) 16:58:16
お邪魔します。

以下のしたらばログ倉庫の
http://jbbs.shitaraba.net/bbs/storage.cgi/otaku/5678/
スレッドをdatファイルにしたいです。

前処理と後処理は必要でしょうか?(その場合どれを選べばいいでしょうか)
また、正規表現は「jbbs過去ログ改」で間違いないでしょうか。

874 ◆/vmukiyuzw:2015/04/04(土) 00:13:00
>>873さん
えーと、基本的には前処理も後処理も必要ないはずですし
正規表現もそれで問題なくdat変換できると思うのですが
ここに質問してこられたからには何かうまくいかなかったんですかね?
その場合、お使いの専ブラの種類・バージョン、あとdatファイルを
どうやって取り込もうとしたかなど教えていただければアドバイス
できるかもしれません。

>>861さん、>>868さん
解像度の低い(or低くできる)環境というのが今私の周りになくて
ようやく来週には調達できるかなという感じです。
また、本業のほうがこのところかなり忙しく
プログラム修正のほうにまとまった時間をなかなか取れない状況です。
申し訳ないですが気長にお待ちいただければと思います。

875名無しさん:2015/04/04(土) 04:39:50
>>874
873です。先程は正規表現が違うとのエラーでできなかったのですが、
もう一度試したら無事dat化できました。
ありがとうございました。

876 ◆/vmukiyuzw:2015/04/10(金) 23:51:56
htmltodatをバージョンアップしました(0.11.7)
 ・解像度の低いディスプレイで使用する場合に画面下部が見切れてしまう問題の
  対処として、スクロールバーを出せるよう修正。
  また、それに伴いいくつかのフォームの位置・サイズ等の属性を修正。

そんなに色々な環境でテストできたわけでもないので若干推測を含むのですが。
解像度の低いディスプレイでは起動すると右端にスクロールバーが見えるようになると思います。
(環境によってはこのスクロールバー自体見切れてしまうかもしれません)
また、このスクロールバーで下までスクロールしても画面下部まで見られないかもしれません。

ウィンドウを最大化するとスクロールバーが見切れずに見えるようになると思います。
この状態だと画面下部までスクロールできると思います。
ちょっと一手間二手間必要なのはお許しください。

解像度に合わせて適宜リサイズして自動でディスプレイに収まるようにするのが本当はいい方法なんでしょうが
なにせ最初からそういう想定をせずに作っていたもので今から変えるとなると結構大変で・・・
とりあえずこんなものでお許し頂けないかと。

あと、>>854さんからご指摘があったprmファイル読み書きウィンドウが小さい(ボタンが見えない)件ですが
該当するかもと思われる件があったので修正してみました。
ただこちらの環境では不具合自体を再現できず直ってるかどうかを確認できないため
ご確認いただければ幸いです。

>>871さん
私は万年素人のサンデープログラマーなんで過大評価しないでください。
情報があればぜひ教えていただきたいです。

877861:2015/04/11(土) 00:23:45
>>876
お忙しいところお手数をお掛けしまして申し訳ありませんでした
私の環境では最下部のボタン操作が出来るようになりました
有難う御座います

昔から利用させて貰ってましたが最近の仕様変更で更にお世話になっています
革めて有難うございます

何か気づいた点がありましたらお役に立てるか分かりませんが
私で宜しければご協力させて頂きたいと思います

878854:2015/04/11(土) 13:01:34
>>876
0.11.7確認してみました。
prmのダイアログは問題ありませんね。
http://light.dotup.org/uploda/light.dotup.org170296.png

ただ本体の方が起動直後こんなことになってます。
http://light.dotup.org/uploda/light.dotup.org170297.png

0.11.6まではこんな感じでした。
http://light.dotup.org/uploda/light.dotup.org170301.png


あちらを立てればこちらが、といったところでしょうか。
とりあえずこれまで通り0.11.6を使うことにします。

879 ◆/vmukiyuzw:2015/04/11(土) 21:57:24
>>878さん
> あちらを立てればこちらが、といったところでしょうか。

うーむ、確かにそれに近い状況かもしれません。
なんとか両方立てられないかと考えた結果、以下の人柱バージョンを作ってみました。
一応目指したのは
・解像度が十分な環境であれば今までどおり一番下のボタンまで表示される
・解像度が低く全体を表示できない環境であればウィンドウを最大化すれば
 スクロールバーで一番下のボタンまで表示される

自分の環境(一応8.1、XPの2台でいろんな解像度で試しているつもり)では
うまく表示されるようなのですが、いろんな環境の方にお試しいただければと思います。

http://mukiyu.g.ribbon.to/cgi-bin/download2.cgi?name=htmltodat0.11.8&amp;url=htmltodat0.11.8b.zip

htmltodat.exeファイルのみ入ってます

880861:2015/04/11(土) 23:27:05
>>879
ご苦労様です

うちの2台(解像度が高と低)で確認しました
どちらも特に問題ありませんでした

881854:2015/04/12(日) 03:30:09
>>879
今度は大丈夫なようです。
http://light.dotup.org/uploda/light.dotup.org170653.png

ありがとうございました。

882 ◆/vmukiyuzw:2015/04/12(日) 04:05:36
>>861=880さん、>>854=881さん、ご確認いただき本当にありがとうございます。

多分htmltodatをよく使っていただいてる方からのコメントなんで間違いないとは思うのですが、
もうちょっと他の方からのコメントも待ちたいなというのと
もう少し弄ってみたいかなという部分があるんで正式リリースはちょっとお待ちください。

883名無しさん:2015/04/12(日) 05:27:37
そもそも漠然と小さい画面だからと要望を出す馬鹿がいるから困るんじゃなかろうか
せめて自分の環境がどのような解像度と縦横比なのかぐらい書いてもらえよ
http://www.a-ain.net/2click/pc/pc_081siryo_gamen.html

884 ◆/vmukiyuzw:2015/04/19(日) 01:30:24
2ch.netのread.cgiでftp://の書き込みをしたら読めなくなるバグがなかなか修正されないようなので
何かできないか考えて、とりあえずびんたん(スマホ用の2chビューア)からdat変換するのを考えてみました。
ただ、残念ながらread.cgiとは違い過去ログは読めないようです。
また、メール欄の情報が存在しないため欠落してしまいます。


コメント:
# びんたんの読み込みをdatに変換してみる

URLの変換:
s`http://(.+?\.2ch\.net)/test/read\.cgi/(.+?)/(\d+)/?.*`http://bintan.ula.cc/test/read.cgi/$1/$2/$3`

前処理:
# スレタイ置換
s`<title>.*?</title>``
s`<div class="topic_name_inner_left">\s*?<p>(.*?)</p>`<title>$1</title>`i
# レス1だけ形式が違うので他と合わせる
s`<span\ id="read_one_body(?:.|\s)*?<span>\s:\s(.*?)</span>`<a\ class="respop">1</a>.<b>$1</b>`i
s`<div\ style="clear:both;"\ class="topic_date">(.*?)</div>(?:.|\s)*?(<div\ class="honbun">.*?</div>)`$2<font>$1</font>`i

アンカー削除:
false

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

後処理:
s`<a\ href=.*?>``ig
s`</a>``ig

正規表現:
m`<a\ class="respop".*?>
(\d+) # レス番
</a>.+?<b>
() # メール欄情報は存在しないためダミーに
(.*?)</b> # 名前欄
.*?<div\ class="honbun">
(.*?) # レス本文
</div>.*?<font.*?>
(.*?) # 投稿日 一般的なhtmlと違いレスの後ろに付いている(よって変換結果式で引っくり返しが必要)
</font>`mikx

885名無しさん:2015/04/20(月) 13:41:26
htmltodatが急に使えなくなって、取得すると「2ちゃんねる専用ブラウザをご利用の皆さまへ」が表示されるんだけど、
対策されたかな?

886名無しさん:2015/04/20(月) 14:27:30
>>885
UA変えてダメ?

887 ◆/vmukiyuzw:2015/04/20(月) 22:34:03
>>885さん
サーバによっては大丈夫なところもあるようですが確かにエラーになるところもありますね。
>>886さんのおっしゃるようにUAの問題のようなので、適当に変えてもらえれば回避できるかと。

htmltodatでUAを変更するには、受信オプション - HTTPヘッダの追加 のところで
User-agent: なんたらかんたら
と指定してください。
汎用のwebブラウザのUAを指定しておけばかなり安全なんじゃないですかね。
例えばIE11のUAであれば(うちの環境でですが)
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; LCJB; rv:11.0) like Gecko
こんな感じです。

# UAを色々弄ってテストしてみたのですが、現バージョンでの
# User-Agent: Monazilla1.00 (htmltodat/0.11.1)
# てのがエラーになるようです。(0.11.0とか0.11.2にしてもエラーにはならない)
# てことは2ch側でピンポイントではじく対象UAのリストに入ってることなのね・・・なんか複雑

888885:2015/04/21(火) 20:33:41
>886, 887
User-agent 設定したら使えるようになりました、ありがとうございました

889名無しさん:2015/04/29(水) 02:30:44
>>887
いつもツールを使わせていただきありがとうございます。
すみません、どうしても回避できません。
先月までは何も問題なく使えていました。

htmltodat起動
受信オプションクリック
httpヘッダ追加ボタンクリック
User-Agentとコピペ&OKクリック
下の欄にUser-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; LCJB; rv:11.0) like Geckoをコピペ&OKクリック
htmltodatを再起動し、受信オプション、一覧表示と、User-Agentとクリックし、上記コピペがあることを確認し、閉じる
Janeの右クリックからwscript "$BASEPATHhtmltodat-convert2.wsf" "$LINK" "htmltod"を使うがご利用の皆様へ表示
試しにコピペをUser-Agent:抜きとかやってますが、駄目でした。

どこか間違っていたら教えてください。

Win7Pro、C:\Progra~1\Jane\jane2ch.exe Jane3.81、自動車板
log C:\Jane
当該過去ログ削除済

890 ◆/vmukiyuzw:2015/04/29(水) 03:30:06
>>889さん
多分勘違いがいくつかある気がするんですが。

「受信オプション」の内容はhtmltodatの全体で保存されるのではなく
各prmファイルに保存される仕組みになっています。
また、「受信オプション」から「追加」で設定するものは
「HTTPヘッダの追加」欄に入力した内容に名前を付けて保存するためのものなので
「追加」をクリックして出てきた入力ボックスにUser-Agentを入力しただけでは
何の意味もありません。(そこに入力した名前でファイルが作られるだけ)

てなわけで、お使いのprmファイルは「htmltod.prm」でしょうか?これをお使いなら
・htmltodat起動
・「prmファイル」ボタンで「htmltod.prm」ファイルを読み込む
・受信オプションからhttpヘッダ欄にお書きになった「User-Agent: 〜」を入力&OKクリック
(追加ボタンを押すのではないですよ?そこ間違えないように)
・再び「prmファイル」ボタンで「htmltod.prm」ファイルを(上書き)保存

これでいけると思うんですがどうでしょう。

891名無しさん:2015/04/29(水) 14:11:59
>>890
htmltod.prm=任意の名前.prm
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

http://anago.2ch.net/test/read.cgi/software/1426520789/614
>htmltodat.exeを起動
>左下3番目prmファイルボタン→入力欄を右クリックして貼り付ける
>保存ボタン→任意の名前.prmと名づけJane2ch.exeと同じフォルダに保存する
>htmltodat.exeを閉じる

892名無しさん:2015/04/29(水) 15:10:40
今まで使えていたのに使えなくなったのでスレに来たら解決法が書いてあったので試しました

が、駄目です
2ちゃんねる専用ブラウザをご利用の云々言われて見れません

HTTPヘッダの追加:
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; LCJB; rv:11.0) like Gecko

という内容でPRMファイルを作りJane2ch.exeと同じフォルダに保存しました
なのでこのフォルダにはPRMファイルが2つ入っています
その後Janeを再起動しログを削除し再度コマンドを実行してみたのですが変わらず見れませんでした
UAを変えて自分の環境のものを入力してみたのですが意味はなかったです
足りないことは何でしょう?

893名無しさん:2015/04/29(水) 17:41:36
新しくprmファイルを作るんじゃなくて
今まで使ってたprmファイルに追記する形になるんだよ

894名無しさん:2015/04/29(水) 17:43:02
なるほどn

895名無しさん:2015/04/30(木) 19:48:25
困ってたらこのスレにたどり着きました
>>890の手順で解決しました
有り難うございました!

896 ◆/vmukiyuzw:2015/05/01(金) 01:26:27
UA絡みの問題で2ch.netからエラーを返されるケースが多発しているのかな?
>>892さんは多分解決したかな?
>>889さんはどうだろう。

近々、>>879あたりを反映したバージョンアップをする予定ですが
その際UAも変更すると思うので、この問題は解消するかも。
でも2ch.net側からは「はじくUA」のリストに入れられてるぽいので
>>890みたいな対処をかましておいたほうがいいかもです。

897名無しさん:2015/05/02(土) 01:26:37
横からだけど受信オプション設定のHTTPヘッダ一覧にあるUA変更1だけでいまのところ問題なしです

898名無しさん:2015/05/15(金) 23:26:52
2ちゃんねる専用ブラウザをご利用云々が増えてきたなぁ…

899名無しさん:2015/05/15(金) 23:56:14
どこかのスレで見たが専ブラの独自UAは弾くらしい。
非対応専ブラはお断りってことなんだろう。

900名無しさん:2015/05/16(土) 00:39:48
ち、相変わらずイライラさせるw
コレだからアメリカのストリップバーの経営者上がりは…w
たとえ独善的でも、妙な感覚の上に成り立ったひろゆきの新しさのほうが まだ面白かった…w

901名無しさん:2015/05/16(土) 10:37:59
FC2のようにならないためだから仕方ない。
サーバ>アメリカ
経営者>アメリカ

902名無しさん:2015/05/16(土) 12:30:04
>> 900
だよな。ひろゆきは自分しか儲からないような仕組みであってもユーザーの自由っていう哲学を持ってやってた。
今のJIMクソには哲学も何もありゃしない。自分以外のすべてが不自由を感じていても金さえ独占できればあいつは満足するんだろうな。

>> 901
FC2もしれっと鯖や登記をアメリカじゃなくて日本が国交結んでるかどうかも怪しい中南米の島国にでもすればよかったのにな。
AnyDVDのアンティグア・バーブーダみたいにさ。

903 ◆/vmukiyuzw:2015/05/28(木) 01:30:34
http://anago.2ch.net/test/read.cgi/software/1427376861/983-985
htmltodatはもともと2chのread.cgiを読むために作ったツールじゃないので。
むしろ2chで読めないスレを読むために何とかしようと作ったものなんで
こういう言い方されるのは正直むかっとしました。

でも、UAでmonazillaをかたるのには特にこだわりはないし
適当に変えてもいいんでしょうが、
その適当なUAの相手に迷惑かけるなんてことはまさかないでしょうが
ちょっと気持ち的に抵抗があるのです。
なので、問題がある方は
>>887あたりで対処していただけないかと。
(今後気持ちが変わるかもしれませんが)

904名無しさん:2015/05/28(木) 03:26:07
Monazilliaが弾かれるわけじゃなくてhtmltodatが弾かれてるのが現実なのに
Monazilliaを問題にするのは相当なこだわりがあるように見受けられますが?
使う人の利便性を考えたら、Monazilliaを名乗るのはこだわり次第として、
htmltodatを入れるのは止めておいたほうが良くはありませんか?

905 ◆/vmukiyuzw:2015/05/28(木) 04:07:07
>>904さん
Monazillaにもhtmltodatにも何のこだわりもありません。
>>887で対処できるのに何の文句があるの?て感じですが
次のバージョンでは文句出ないようになんか考えます。

906名無しさん:2015/05/28(木) 13:13:48
User-Agent: Mozilla/4.0

でいんじゃね?

907名無しさん:2015/05/28(木) 17:42:31
受信オプション設定のHTTPヘッダ一覧
UA変更1がUser-Agent: Mozilla/5.0
なんだからそれでいいじゃん

908 ◆/vmukiyuzw:2015/05/28(木) 19:57:18
バージョンアップしました(0.11.8)
 ・前バージョンの解像度問題の対処が不十分だったため再度修正。
 ・User-Agentの変更。

メインの変更は>>879でやった人柱バージョンの正式リリースですが
ここんとこ問題になってたUser-Agentもとりあえず変更しました。

「とりあえず」というのは、前バージョンまでの「htmltodat」を含むUAが
ピンポイントではじかれたんであれば、今バージョンでのUAも
対策される可能性がないとは言い切れないと思うのです。
まあそのときはそのときでまた考えるしかないんですが。

909名無しさん:2015/05/28(木) 22:33:35
大感謝祭

910名無しさん:2015/06/06(土) 03:45:47
バージョン0.11.8だけど、誤検出王のNortonで「WS.Reputation.1」が検出されて消されちゃいましたよ
復元して対象外にしたけど

911名無しさん:2015/06/27(土) 17:48:36
なくなってしまったワイワイカキコの板のスレをInternet Archiveから取得してみようとしているのですが
変換が上手くいきません

↓例
https://web.archive.org/web/20090924202521/http://yy700.60.kg/yaruo/kako/1249/12499/1249978566.html

まず、URLを指定して「HTML変換」を押すと
「IOHnadler value is not valid」
というエラーが出てしまいます。

しかたないのでHTMLをデスクトップに保存して
「一覧表示」からひとつずつ試しましたが
変換できないか、変換できたDATのサイズが元板から取得したDATとサイズが合いません
(ワイワイカキコが生きていた頃に取得したDATと、そのスレのInternet Archiveのページを変換したDATとを比較)
>>119の方のを試してみてもダメでした

正規表現のどの部分をいじればいいのでしょうか?

912名無しさん:2015/06/27(土) 18:46:58
>>911
html2datはhttpsに対応していないはず。(ですよね?)
httpで取得すれば「IOHandler value is not valid」はでない。

そのまま取得あるいはダウンロードすると本来はUTF-8で開くはずがcharsetのせいでShift_JISで開く。
ローカルで
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
と、charsetをUTF-8に変えて保存し直すこと。

913 ◆/vmukiyuzw:2015/06/28(日) 23:02:35
>>911さん

>>912さんのご指摘のとおり、htmltodatは現状httpsには対応していないので
URLをhttp://に修正して取得してください。

で、charsetのせいで文字コード変換がうまくいかないのも
>>912さんのご指摘の通りなのですが、もう少し楽に対処する方法が。

・htmltodatを起動後、ウィンドウ上の何もないところ(例えばプレビュー欄の右上など)
 をダブルクリックする。今まで見えなかったボタン等がいろいろ出現する
・ウィンドウ最上段、「文字コード自動判別」チェックボックスをオフにする
・URLを入力しHTML取得
・URL欄の下の「ソース文字コード」で「UTF-8」を選択
・その右の「->SJIS変換(J)」(ちょっとわかりにくいけどボタンです)を押す

これで手動(?)文字コード変換ができます。
(文字コード自動変換をサポートしてなかった時の名残の機能)
# 文字コードはcharsetを見なくても自動判別できると考えられるため
# いっそ一切見ない方法も今後検討します

以上をやった上で、>>911のURLのHTMLの形式は
2chのread.cgiと同じみたいなので正規表現としては
「read.cgi7.00?」が使えるんじゃないでしょうか。
もしくは元datにより近づけるには>>807のほうがいいかもです。

914名無しさん:2015/07/01(水) 23:24:28
おーぷん2ちゃんねるの変換はどのようにしたらいいのでしょうか?
http://awabi.open2ch.net/test/read.cgi/news4plus/1396515469/
なのですが

915 ◆/vmukiyuzw:2015/07/02(木) 01:18:38
>>914さん
htmltodatで変換してdatを得ることはもちろん可能だと思うのですが
それ以前におーぷん2ちゃんねるって基本的に2chのdatと互換ですよね?
お使いの専用ブラウザによって方法はいろいろかもしれませんが
open2ch.netを読める設定にすればhtmltodatは不要だと思うのですが。

私の環境ではボード一覧取得のURLを
http://kita.jikkyo.org/cbm/cbm.cgi/20.p0.m0.sc.op/-all/bbsmenu.html
にしてるのですが(scやおーぷんも読める設定)、
>>914のURLは何も意識せずとも読めましたけど。

そういうのがしたくなくてどうしてもhtmltodatで変換したいということなら
またご相談ください。

916914:2015/07/06(月) 00:37:15
>>915
あれ?取れますか
JaneViewで取得できなかったので質問させてもらったんですが、どうやらおま環だったようですね
ありがとうございます

917名無しさん:2015/07/06(月) 02:21:21
>>916
URLを変えただけじゃダメでボード一覧にopen2chのエントリがちゃんと設定されてないとダメ
具体的には、板一覧の更新を実行(更新されなかったらCTRLキーを押しながら実行)

918 ◆/vmukiyuzw:2015/07/06(月) 21:33:05
>>916
数種類の専用ブラウザでいろいろ試してみたのですが
Jane系では>>914のスレはdat落ち扱いになる?ようで、
http://awabi.open2ch.net/test/read.cgi/news4plus/1396515469/ のURLでなく
http://awabi.open2ch.net/news4plus/kako/1396/13965/1396515469.dat のURLでアクセスしようとして
エラーになるみたいです。(subject.txtに存在するかどうかでアクセスするURLを読み替えている)
他の専ブラではボード一覧を変えなくても読めたりボード一覧を>>915にするだけで読めたりするので、
Jane系でのURLを読み替える動作は、こういう場合はあまりうまくないような感じです。

とりあえず、専ブラで直ではないですがdatを取得する方法としては、
>>914のようなおーぷん2ちゃんねるのスレは汎用ブラウザで開くと一番下にdatへのリンクがあるんで、
そこからダウンロードする方法があります。
(おーぷんでの過去ログの扱いがよくわかってないので常に通用する方法かどうかわかりませんが)
htmltodatでやるなら以下の手でURLだけ読み替える方法もあります。


コメント:
# おーぷん2ちゃんねるを変換その1(URLのみ)

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

dat変換をしない(前処理のみ行う):
true



あと、htmlから変換するための正規表現等も一応考えてみました。
おーぷん独自の仕様を把握し切れてないので抜けがあるかもですが。


コメント:
# おーぷん2ちゃんねるを変換その2(HTMLを変換)

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

プレビューを表示しない:
true

後処理:
# ID周りのごちゃごちゃを処理
s`<span\ (?:class=_id\ )?val=.*?><a\ .*?>(.*?)</a>(?:<font\ .*?>)?(\(.*?\))?.*?</span>`$1$2`ig

正規表現:
m`
<dt\ res="?(\d+) # レス番
.+?(?:mailto:(.+?)>)? # メール欄
<b>(.+?)</b>(?:</font>|</a>)+ # 名前欄
\ ?:(.*?) # 投稿日・ID
<dd.*?>\ ?(.*?)<br><ares.*?> # レス本文
`mikx

919名無しさん:2015/07/20(月) 03:20:31
UAがUser-Agent: Mozilla/5.0だと弾かれるようになったので
個人の汎用ブラウザのUAにしてdat取得には一応成功したのですが
右側のプレビューとdat変換結果枠の下のスレ数とかが出ていた部分が
なにも表示されなくなりました

これを直すことはできますか?

920 ◆/vmukiyuzw:2015/07/20(月) 19:35:34
>>919さん

> 右側のプレビューとdat変換結果枠の下のスレ数とかが出ていた部分が
> なにも表示されなくなりました
> これを直すことはできますか?

変換オプションの「プレビューを表示しない」をオフにしてください。
(二重否定表現になっちゃってややこしいですが「表示する」にするということです)
デフォルトではオフ(false)なので、多分prmファイルでオン(true)に指定されてるのかなと思います。

以前、prmファイルを使ってスクリプト等から呼び出せるように修正した頃に
プレビューの表示処理はちょっと重いしスクリプト等から呼ぶ場合は不要だなと思ったので
オプションでオンオフできるようにしたのです。(>>785参照)


しかしまあ、>>908で変更したUAが

> UAがUser-Agent: Mozilla/5.0だと弾かれるようになったので

になっちゃったのは気づいてませんでした。懸念していた通りのことが起きてしまった。
当たりさわりのなさそうなものにしたつもりが、それでもアウトなんですかね。
自力でUAを変更できる手段は一応用意してるとはいえ、今後どうしたものか。

921名無しさん:2015/07/20(月) 21:19:19
UAはIEの設定かデフォルトブラウザの設定を引っ張ってきたらどうかな

922 ◆/vmukiyuzw:2015/07/21(火) 03:14:29
>>921
ブラウザのUAなんてプログラムソースにハードコーティングされてるようなものじゃないんですか?
私が無知なので申し訳ないんですがそれを外から引っ張る方法をご存じなら是非ご教示いただきたく。
一応レジストリを検索してみて、IEのUAかなと思われるエントリはあったのですが
Monazilla/4.0 とかになってたんでこれ実際に動いてるものじゃないんじゃないのって思いました。

923 ◆/vmukiyuzw:2015/07/21(火) 03:23:18
>>922
ハードコーティング→ハードコーディング
Monazilla→Mozilla
眠いんでいろいろ間違え気味です

924名無しさん:2015/07/21(火) 22:46:42
IEのUAは以下の説明を参照されたし。
https://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx
https://msdn.microsoft.com/ja-jp/library/ms537503(v=vs.85).aspx (日本語。若干情報が古い)
https://msdn.microsoft.com/en-us/library/ff986085(v=vs.85).aspx (IE9での変更部分)
https://msdn.microsoft.com/en-us/library/hh869301(v=vs.85).aspx (IE10〜Edge)

925919:2015/07/22(水) 02:46:31
>>920
遅くなりましたがありがとうございます
無事解決しました

926 ◆/vmukiyuzw:2015/09/09(水) 00:49:00
また2ch.netのread.cgiで読めない不具合が起きているようなので
>>884のびんたんからの変換を修正してみました。
(自分にできそうなのはそんくらいしかないので・・・)
最近あちこちの板で見かける、名前欄にいろんな送信元の情報?を含んで
表示されるケースに対処できてなかったので修正しました。


コメント:
# びんたんの読み込みをdatに変換してみる ver.2

URLの変換:
s`http://(.+?\.2ch\.net)/test/read\.cgi/(.+?)/(\d+)/?.*`http://bintan.ula.cc/test/read.cgi/$1/$2/$3`

前処理:
# スレタイ置換
s`<title>.*?</title>``
s`<div class="topic_name_inner_left">\s*?<p>(.*?)</p>`<title>$1</title>`i
# レス1だけ形式が違うので他と合わせる。名前欄の内容にspanタグが含まれることがあるのでそれとぶつからないよう注意
s`<span\ id="read_one_body(?:.|\s)*?<span>\s:\s(.*?)</span>\s*</div>\s*</div>`<a\ class="respop">1</a>.<b>$1</b>`i
s`<div\ style="clear:both;"\ class="topic_date">(.*?)</div>(?:.|\s)*?(<div\ class="honbun">.*?</div>)`$2<font>$1</font>`i

アンカー削除:
false

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

後処理:
s`<a\ href=.*?>``ig
s`</a>``ig

正規表現:
m`<a\ class="respop".*?>
(\d+) # レス番
</a>.+?<b>
() # メール欄情報は存在しないためダミーに
(.*?)</b> # 名前欄 </b>を複数含む場合があるため単に最短一致ではなく後続<div class="honbun">のみマッチさせる
\s*?<div\ class="honbun">
(.*?) # レス本文
</div>.*?<font.*?>
(.*?) # 投稿日 一般的なhtmlと違いレスの後ろに付いている(よって変換結果式で引っくり返しが必要)
</font>`mikx

927 ◆/vmukiyuzw:2015/09/10(木) 22:54:02
>>926
これで変換したdatを専ブラで読んでみるとなぜかレスアンカーがリンクにならない・・・
調べてみると、例えば>>1のようなレスアンカーは本来html上では&gt;&gt;1と表現されるべきものが、
びんたんではそのまま>>1と出力されているのがまずいみたいです。
(むか〜し昔read.cgiでもあった事象です。>>72-78あたり)

とりあえずの対処として、後処理の最後に以下を足して下さい。


s`>>`&gt;&gt;`ig

928名無しさん:2015/09/17(木) 14:19:08
>>927
>>924から組み立てているのかどうかは判らないが
IEコンポーネントを使ってるブラウザDountRAPTは自動的にUAを初期化してる
ソースも公開されてるので興味があれば調べてみては?

929 ◆/vmukiyuzw:2015/09/18(金) 01:05:32
>>924さん>>928さん
アドバイスありがとうございます。
技術的にどうすればいいかはある程度イメージはあるんですけど
あんまりやる気は起きないってのが正直なとこです。

前から書いてますがUAを自力で変える手段は提供してますし
それを使えないような方はそもそもこのソフトを使えないんじゃないかと思います。
こういう言い方はちょっとどうかとも思いますが
もともと万人が使えることを目指したものでもないんで。

930 ◆/vmukiyuzw:2015/09/22(火) 00:31:49
びんたんが吐くhtmlが微妙に仕様変更されてて
>>926-927 ではうまく変換できなくなっているようなので修正しました。


コメント:
# びんたんの読み込みをdatに変換してみる ver.3

URLの変換:
s`http://(.+?\.2ch\.net)/test/read\.cgi/(.+?)/(\d+)/?.*`http://bintan.ula.cc/test/read.cgi/$1/$2/$3`

前処理:
# スレタイ置換
s`<title>.*?</title>``
s`<div class="topic_name_inner_left">\s*?<p>(.*?)</p>`<title>$1</title>`i
# レス1だけ形式が違うので他と合わせる。名前欄の内容にspanタグが含まれることがあるのでそれとぶつからないよう注意
s`(<a\ class="respop".*?>1</a>\ :\ )(.*?)\ :\ `$1<b>$2</b>`i
s`<div\ style="clear:both;"\ class="topic_date">(.*?)</div>(?:.|\s)*?(<div\ class="honbun">.*?</div>)`$2<font>$1</font>`i

アンカー削除:
false

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

後処理:
s`<a\ href=.*?>``ig
s`</a>``ig
s`>>`&gt;&gt;`ig

正規表現:
m`<a\ class="respop".*?>
(\d+) # レス番
</a>.+?<b>
() # メール欄情報は存在しないためダミーに
(.*)</b> # 名前欄 </b>を複数含む場合があるため単に最短一致ではなく後続<div class="honbun">のみマッチさせる
.*?<div\ class="honbun">
(.*?) # レス本文
</div>.*?<font.*?>
(.*?) # 投稿日 一般的なhtmlと違いレスの後ろに付いている(よって変換結果式で引っくり返しが必要)
</font>`mikx

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

935名無しさん:2015/12/09(水) 15:11:45
横からですがありがとうござます。
やっと自作PC板のdatが取得できますた・・・

936 ◆/vmukiyuzw:2015/12/09(水) 22:56:18
えーと、従来のread.cgiも変更されてるので対応しておかないといけませんね。

元々正規表現「read.cgi7.00?」の発展形としてやってきたものなんですが
現在のread.cgiのバージョンは 05.02.02だって?
うーん、なんか巻戻ってるけどあまり気にしないことにしよう・・・
とりあえず>>934のものは06系、このレスのもの(従来のものの発展形)は05系と呼んで区別することにします。
>>807>>822あたりからの変更になります。


コメント:
# 2chのread.cgi 05系からの出力を変換-20151209
# 元datに近づけるためアンカー削除はオフにし
# 後処理で不要なもののみ削除する
# メール欄デコード処理は不要になったので削除
# バナー広告にマッチしないよう正規表現を修正

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

アンカー削除:
false

後処理:
# アンカータグ削除(レスアンカーに対するタグは削除しない)
s#<a href="http.*?>(.*?)</a>#$1#igk
# BE周りの処置
s#<img src="http://(img\.2ch\.net/.+?)">#sssp://$1#igk
# 以下はhtmltodatの内部処理に組み込まれているので不要
#s#<a href=.?javascript:be\((\d+)(?:,\d+)?\).*?>\?(.*?)</a>#BE:$1-$2#igk

正規表現:
m#<dt.*?>([0-9]+).+?(?:"mailto:(.+?)">)?<b>(.+?)</b>(?:</font>|</a>) ?:(.*?)<dd>(.*?)<br><br>(<dt.*?>|</dl>|<div)#mi

937931:2015/12/11(金) 17:40:58
/vmukiyuzwさん

ありがとうございます
>>934でいけました

DAT2HTML0.26その2の件はかなり昔に何かでdat化できなかったときに
これを試したら出来てたのでそのままにしてました
いままで不便なく2ちゃんもdat化できてたのでほっておいたという次第です

938 ◆/vmukiyuzw:2016/03/18(金) 00:23:22
最近2ch.netの一部の鯖でhtmlベースでの過去ログが取得できない不具合が出ているようですが。
2ch.netでdat落ちしていても2ch.scで拾われてるケースが多いので、これをなんとかできないか
考えてみました。

最初、単に2ch.netでのURLを2ch.scのURLに読み替えればいいかと考えたのですが
鯖名(xxx.2ch.netのxxxの部分)が異なる場合もあるので単純には変換できない。
どうしたものかと考えたのですが、ふと気づいたのは
2ch.scに拾われてるということは、取得先を2ch.netから2ch.scに切り替えた「ログ速」でも
かなりの確率で拾われていると考えられます。

となるとhtmltodatにも出番がありそうです。「ログ速」からの変換は>>820
Jane系であればhtmltodat-convert2のスクリプトも使えます。

939名無しさん:2016/03/18(金) 01:32:08
頑張ってください!

940名無しさん:2016/03/31(木) 02:40:07
>>938
お疲れ様です、いつも利用させてもらってます

>>820の方法で echo鯖(軍板)のdat落ちのログを変換して
jane style ver3.81 に落とし込むことができ
jane styleに表示は可能ですが、改行?がされておらず(横方向に長い)
非常に読みにくい表示になってます

この状況の改善は可能でしょうか、よろしくお願いします。

941名無しさん:2016/03/31(木) 07:05:33
>>940
ログ速の?URLを貼ってください

942名無しさん:2016/03/31(木) 11:28:42
質問です
今は存在しない外部掲示板のdatを取得することは可能でしょうか?
ちなみに太陽板というなりきり掲示板でした

943 ◆/vmukiyuzw:2016/03/31(木) 21:50:29
>>940さん
>>941さんのおっしゃるとおりで、具体的なURLを示して頂かないと検証できません。
ただ、URLはログ速のものでなくても元スレ(2ch.netのもの)でもいいです。
>>820のパラメータの中でURLを読み替えるようになっているので)


以下は推測にすぎないのですが。
改行がされていない?という状況だと、レス内の<br>タグが何らかの理由で
削除されてしまっているのではないかと思います。
>>820をそのまま使用していた場合そんなことにはならないはずですが
以前、JaneでReplaceStr.txtを使用していた場合に
このスレの表示の一部が変更されてしまい、パラメータをコピペする際に
内容が変わってしまって不具合が起きたということがありました。
今回のケースもそれかもしれないという気がします・・・

>>820をJaneStyleからではなく、IE等の汎用ブラウザからコピペしても
同じ結果になるか試してみてください。

944940:2016/03/31(木) 22:00:11
ご返事が遅くなり申し訳ありません

元スレのURL
民主党ですが他国の同類です
http://echo.2ch.net/test/read.cgi/army/1459050594/
(ログ速URL)
http://www.logsoku.com/r/2ch.sc/army/1459050594/

このURLでいいのかちょっと不安ですが、こちらの方でも自力で問題解決できるかやってみます

945 ◆/vmukiyuzw:2016/03/31(木) 22:04:22
>>942さん
なりきり太陽板については以前(>>516-517)扱ったことがあるのですが
2012年頃に閉鎖されたようですね。
元データがなければhtmltodatとしてはできることはないです。

webarchive等でたまたま拾われてるのを探すか、
有志の方が過去ログをまとめて保存してくれているサイトを探すか、
いずれにせよGoogle先生に頼まないと仕方ないですね。
(「なりきり太陽板」でぐぐってみるとそれらしきサイトはいくつか見かけましたけど)

946 ◆/vmukiyuzw:2016/03/31(木) 22:56:00
>>940,944さん
こちらでも現象再現しました。で原因も半分わかりました。
>>943で推測したのに近く、<br>タグが<br/>のままになっている
ことが改行がうまくいかなかった理由です。

しかし、<br/>を<br>に変換する処理は前処理に入れてるのですが
何故か効いていない。
他のdat落ちスレで試してみると効いているので
なぜこのスレだけが効かないのか・・・
で、この処理を後処理に移してみるとこれまた何故か効く。
・・・ということで根本原因は今のとこ分かってないです。

詳しくはこれから調べますが、当面お困りの問題の回避策としては
後処理(前処理ではない!)に

s#<br/>#<br>#igk

を入れる、というのでいけるかと思います。

947942:2016/04/01(金) 02:00:33
>>945
ありがとうございます
検索してみたところ唯一見つかったのが以下のURLでした
http://karinto.in/taiyoulog/comic/jamp/hxh.html
ここからdat取得は可能でしょうか?

948940:2016/04/01(金) 09:02:00
>>946
忙しい中、素早い対応ありがとうございました。
私の方でも解決できました。

949 ◆/vmukiyuzw:2016/04/01(金) 20:47:37
>>942,947さん
そのサイトに関してだけいえば、htmlの形式が非常にクラシカル
(昔の2ch.netが吐いていたhtmlに近いという意味)で、
前処理だのなんだのは不要で単に正規表現「DAT2HTML0.26」で
dat変換できると思います。

950942:2016/04/01(金) 22:02:06
>>949
成功しました。ありがとうございました!

951名無しさん:2016/04/05(火) 10:00:52
すみません
自分も便乗します

閉鎖された外部板のスレのログを取りたいのですが
ぬこでも見ていたのでそっちの自分の履歴からは過去ログが保存されてます
これをhtmltodatで専ブラdat化できますか?

952 ◆/vmukiyuzw:2016/04/05(火) 21:18:50
>>951さん
まず私が「ぬこ」というのを全然知らなかったので調べてみました。
確認ですが、 http://n2ch.net/?guid=ON から行けるサービスのことでいいんですよね?
だとすると、
http://n2ch.net/r/-/xxxx/1000000000/?guid=ON
みたいな形式で得られるhtmlをdatに変換するには、という問題だと考えていいですかね?

953951:2016/04/05(火) 22:14:35
>>952
レスありがとうございます

そうです
携帯2chブラウザサービスのぬこです
キチンと書き込んでいなくて申し訳ないです
形式もそれで問題ないと思います

954 ◆/vmukiyuzw:2016/04/06(水) 20:45:38
>>951,953さん
もともとガラケー向けのサービスみたいなので、通信量を減らすための工夫がいろいろされてるんですが
いざ専ブラ用datに変換しようとするとやっかいな点がいくつかあります。

1つは、いろいろ省略オプションが設けられてる点。
(名前欄が板のデフォルト名無しの場合に省略される、投稿日欄が一部省略される、等)
これらを省略せず表示させるには、ぬこ(n2ch.net)側の設定を変更する必要があります。

もう1つは、一度に表示できるレス数に上限がある点。
最大が127レスで、これは設定画面でも明記されてるので当面どうにもならないようです。
ということは、htmltodatで変換する場合、127レス以上のスレは複数回に分けて変換し
結果をテキストエディタ等でつなげ合わせないといけないということになります。

これらへの対処はちょっと長くなるので次レス以降で。

955 ◆/vmukiyuzw:2016/04/06(水) 21:04:01
>>954続き
まず、ぬこ(n2ch.net)の設定変更についてです。

設定の変更は、IE等の汎用ブラウザでn2ch.netでのスレッドを表示し
画面の下のほうにある「設」をクリックします。
「ユーザ設定」画面が出てきて「レス表示」のところで色々弄れるのですが、
ここで設定した内容はn2ch.netにアクセスするURLの一部に反映されるようになっています。
なので、私が設定してみた結果の値を書いておきます。

ブラウザでn2ch.netのスレッドを表示した後、
URLの n2ch.net/r/-/ の「-」の部分を「-tE--OKxI」に変更してください。
次に、レス番号(板名/スレッド番号/ の後の数字)には「1-」を入れてください。

例: http://n2ch.net/r/-tE--OKxI/software/1458254677/1-?guid=ON

これでブラウザには該当スレの先頭から127までのレスが表示されると思います。
(名前欄の省略等もなくなっているはず)
ここでブラウザのURL欄に表示されてるURLをhtmltodatのURL欄にコピペしてdat変換します。

次に、ブラウザ側でn2ch.netのスレッド画面下部の「次」をクリックします。
これでブラウザには該当スレの128以降のレスが表示されるはずです。
(URLを直接htmltodatに入力するのではなく一旦ブラウザを経由させるのは
この「次」機能を使いたいため。でないと自分で次のレス番号を計算しないといけない)
で、ブラウザのURL欄のURLを再びhtmltodatにコピペしてdat変換します。
※このとき、dat保存するファイル名は前回と同じになるはずなので重複しないように適当に変えてください。
※「変換警告」ウィンドウが出て「レス 0-128 の間が飛んでいます」等と出ると思いますが
 気にしなくていいです。

これをスレの最後まで繰り返して、得られたいくつかのdatファイルをテキストエディタ等で一つにつなげると。

とりあえずこんな手順で考えてみました。
かなり手間だしわかりにくい部分もあるかもしれませんがどうでしょう。

正規表現等は次レスで。

956 ◆/vmukiyuzw:2016/04/06(水) 21:29:20
>>954-955続き
正規表現等は以下。
前レスでの設定変更云々に時間がかかったのでテストが不十分かもしれません。


コメント:
# ぬこ(n2ch.net)の変換 2016/04/06

前処理:
# ぬこが独自につけるアンカータグを除去
s`<A HREF="\./.*?>(.*?)</A>`$1`g

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

後処理:
# ID後の(1/2)みたいな表示を取り除く
s`( ID:.*?)\([/\d]*\)`$1`g

正規表現:
m`
(?# レスの区切り) <HR>
(?# レス番号) (\d+)
(?# レス番号の後の数字をスキップ) (?:</FONT>.*?<FONT\ SIZE="-1">)?
(?# 名前) :\ <B>(.*?)</B>
(?# メール欄) \ \[(.*?)\]
(?# 投稿日・ID) \ (.*?)<BR>
(?# レス内容) (.*?)
(?# 次のレス区切り$6)(<HR>)
`kx

957951:2016/04/09(土) 01:02:50
ありがとうございました
無事ぬこから過去ログ取得できました
助かりました

ぬこ自体の鯖に残っていれば板やスレッドが消えても取得できるのは大変ありがたいです

958名無しさん:2016/04/22(金) 09:45:16
お尋ねします
read.cgi7.00?で変換開始をすると、一行が長すぎるか、正規表現が正しくないようですとメッセージが表示されます
その他のタイプを選んでも同じようになります
http://shiba.2ch.net/test/read.cgi/akb/1460929521/ で現象が発生します
対処の仕方を教えて下さいますようよろしくお願い致します

959名無しさん:2016/04/22(金) 17:41:14
>>958
>>934

960名無しさん:2016/04/22(金) 22:19:23
>>959
何をどうすれば良いのか正直わかりません

961 ◆/vmukiyuzw:2016/04/22(金) 23:09:43
>>958,960さん
>>959さんのご指摘でわからないということは
推測ですがhtmltodatでprmファイルを使ったことがないのでは?

prmファイルとは何か、どう使うのかについては、
htmltodatのreadme.txtに書いてますので「prm」で検索して参照ください。
また、>>797のレス等も参照ください。

初期のhtmltodatでは、正規表現を一覧から選択または編集して変換すれば
良かったのですが、それだけでは済まないサイトが徐々に増えていき
前処理等の変換オプションが追加されていきました。
で、段々それらの管理・指定方法が面倒になってきたので
ひとまとめで指定できるようにしたのがprmファイルです。
現状では、正規表現だけを選択して変換できるケースのほうが稀で
prmファイルを使ってる方が多いのではと思います。

まあ、言葉でいうほど難しいことではないと思うので一度お試しください。

962名無しさん:2016/04/23(土) 10:18:33
>>961
prm初めて聞きました。
何をどうすればわかりませんでしたので。
試してみてわかりませんでしたらまた相談させていただきます。
教えていただきありがとうございます。

963 ◆/vmukiyuzw:2017/03/31(金) 23:13:25
最近Fiddlerのスクリプトにばかりかまけていてこちらのほうはほったらかしだったんですが
2ch.net および bbspink.com の read.cgi に仕様変更があったので
こちらにもそれを反映させておきます。
(現状 2ch.net や bbspink.com の過去ログを読むためにこのソフトを使っておられる方が
どれくらいおられるかわかりませんが)

まずは 2ch.net の read.cgi 06系。>>934に対する修正ということになります。


コメント:
# 2chのread.cgi 06系からの出力を変換-20170331
# 2chのcgi仕様変更(06系)に対応
# read.cgi側の細かい仕様変更にぼちぼち対応

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

前処理:
# メール欄にURLが貼られた時のとりあえず対応
s#(<a href="mailto:)([^<>]*?)(?:<a href[^>]*?>)?([^<]*?)(?:</a>)?([^>]*?)(">)#$1$2$3$4$5#ig

アンカー削除:
false

透明あぼーんを補う:
true

後処理:
# BE周りの処置
s#<img src=".*?//(img\.2ch\.net/.+?)">#sssp://$1#igk
s#</div><div class="be .*?><a href=".*?//be\.2ch\.net/user/(\d+).*?>\?(.*?)</a># BE:$1-$2#ig
# アンカータグ削除(レスアンカーに対するタグは削除しない)
s#<a href="http.*?>(.*?)</a>#$1#igk
# お絵かき機能等のimgタグを除去
s#<img src=".*?(//.*?)">#sssp:$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

964 ◆/vmukiyuzw:2017/03/31(金) 23:23:29
続いて、bbspink.com の read.cgi への対応。
2017年3月上旬に仕様変更があり 2ch.net の read.cgi とはかなり異なるものとなりました。


コメント:
# bbspink.comのread.cgi からの出力を変換-20170331

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

前処理:
# メール欄にURLが貼られた時のとりあえず対応
s#(<a href="mailto:)([^<>]*?)(?:<a href[^>]*?>)?([^<]*?)(?:</a>)?([^>]*?)(">)#$1$2$3$4$5#ig

アンカー削除:
false

透明あぼーんを補う:
true

後処理:
# 名前欄のfontタグ除去
s#<font color="green">(.*?)</font>#$1#igk
# BE周りの処理
s#</span><div class="be .*?><a href=".*?//be\.2ch\.net/user/(\d+).*?>\?(.*?)</a></div># BE:$1-$2#ig
# BE周り処理との絡みでゴミが残るので除去
s#</span><>#<>#ig,"<>")
# アンカータグ削除(レスアンカーに対するタグは削除しない)
s#<a href="http.*?>(.*?)</a>#$1#igk
# お絵かき機能等のimgタグ削除
s#<img src=".*?(//.*?)">#sssp:$1#igk

正規表現:
m#<dl class="post".*?><dt class=""><span class="number">(\d+).*?</span><span class="name"><b>(?:<a href="mailto:(.*?)">)?(.*?)(?:</a>)?</b></span><span class="date">(.*?)</dt><dd class="thread_in">(.*?)</dd></dl>#mi

965名無しさん:2017/04/02(日) 10:43:25
>>963
> 過去ログを読むためにこのソフトを使って…

います、ここにいますー(´・ω・`)ノ
今回の仕様変更に伴って、ちょっと自分の力ではどうしようもなかったので
対応されたOnBeforeResponseの中から必要そうな部分を移植してどうにか使用しておりました…

このたびprmの形にしていただきまして大変助かりました
ありがとうございます

966名無しさん:2017/04/03(月) 00:33:03
>>963
ここにもおります
ご対応いただきまして助かります
本当にありがとうございました

967名無しさん:2017/04/03(月) 01:46:54
>>963
利用させてもらってます
有難うです

968名無しさん:2017/04/07(金) 16:29:31
>>963-964
利用させてもらってます!

969名無しさん:2017/04/17(月) 20:36:57
>>963
1時間ほど前に落ちたν速のとあるスレで動作確認しました。
ありがとうございます。

970969:2017/04/24(月) 21:05:57
ν速の過去ログ取得できない(´;ω;`)ブワッ

971 ◆/vmukiyuzw:2017/04/25(火) 01:04:09
>>970さん
ご存知の方も多いかもしれませんが、2chのread.cgiにバージョンアップ(07.0.0)があり
htmltodatByFiddlerのほうでその対応をしていました。
でとりあえず落ち着いたような気もするのでこちらにも反映しておきます。


コメント:
# 2chのread.cgi 07系からの出力を変換-20170424
# 2chのcgi仕様変更(07系)に対応

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

前処理:
# メール欄にURLが貼られた時のとりあえず対応
s#(<a href="mailto:)([^<>]*?)(?:<a href[^>]*?>)?([^<]*?)(?:</a>)?([^>]*?)(">)#$1$2$3$4$5#ig

アンカー削除:
false

透明あぼーんを補う:
true

後処理:
# BE周りの処置
s#<img src=".*?//(img\.2ch\.net/.+?)">#sssp://$1#igk
s#</span><span class="be .*?><a href=".*?//be\.2ch\.net/user/(\d+).*?>\?(.*?)</a># BE:$1-$2#ig
# アンカータグ削除(レスアンカーに対するタグは削除しない)
s#<a href="http.*?>(.*?)</a>#$1#igk
# お絵かき機能等のimgタグを除去
s#<img src=".*?(//.*?)">#sssp:$1#igk

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

972 ◆/vmukiyuzw:2017/04/25(火) 01:43:04
>>971 補足
現状はまだ流動的で正確に把握しているわけではないのですが、
read.cgi 06系が動いているサーバもまだあると思われるので、
>>971 は >>963 に対する修正というわけではないのでご注意ください。
(両方生かしておいて使い分ける必要がある)

さらには read.cgi 05系(>>936)が動いてるサーバも未だ存在しますし
bbspink はそれらとはまた異なり >>964 になります。
つまり現状4パターンを使い分ける必要があります。
htmltodatByFiddlerではどのパターンか自動判別して使い分けるようにしてますが
htmltodatでは申し訳ないですがユーザーが判断して使い分けるしか今のとこありません。

あと、htmltodatに昔からある正規表現一覧の中に
「read.cgi7.00?」 というのがあるのですが、
これは今回の2ch側のバージョンアップ read.cgi 07.0.0 とは別物なので
混同しないようにしてください。
(管理している人が変わっていつのまにか元のバージョン番号に戻ってしまった感じ?)

973970:2017/04/25(火) 06:09:49
>>972
ありがとうございます。無事取得できました。

974名無しさん:2017/04/26(水) 00:11:43
いつもお世話になります。私も変換できました。
ありがとうございます

975名無しさん:2017/04/30(日) 04:59:32
色々探しまくってこのスレにたどり着きました
過去ログが何故かgoogleとかで検索すると読めるけど
何故かjaneで見ると読めなくて困ってました
>>971 を試したら出来ました
ありがとです

976 ◆/vmukiyuzw:2017/05/05(金) 23:49:20
2chのread.cgi 07系にバージョンアップ(07.0.1)があったので
対応したものを反映しておきます。
>>971への修正ということになります。


コメント:
# 2chのread.cgi 07系からの出力を変換-20170505
# 2chのcgi仕様変更(07.0.1)に対応

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

前処理:
# メール欄にURLが貼られた時のとりあえず対応
s#(<a href="mailto:)([^<>]*?)(?:<a href[^>]*?>)?([^<]*?)(?:</a>)?([^>]*?)(">)#$1$2$3$4$5#ig

アンカー削除:
false

透明あぼーんを補う:
true

後処理:
# BE周りの処置
s#<img src=".*?//(img\.2ch\.net/.+?)">#sssp://$1#igk
s#</span><span class="be .*?><a href=".*?//be\.2ch\.net/user/(\d+).*?>\?(.*?)</a># BE:$1-$2#ig
# アンカータグ削除(レスアンカーに対するタグは削除しない)
s#<a href="http.*?>(.*?)</a>#$1#igk
# お絵かき機能等のimgタグを除去
s#<img src=".*?(//.*?)">#sssp:$1#igk
# IDの前に付くようになった不要なタグを除去
s#</span><span class="uid"># #igk

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

977名無しさん:2017/05/06(土) 15:38:22
いつもありがとうございます
非常に助かっております

978名無しさん:2017/05/06(土) 17:42:50
日がだいぶ長くなった夕方〜…w

979名無しさん:2017/07/05(水) 10:11:06
また1行が長すぎるか正規表現が正しくないようですって出て
変換できなくなりました

980名無しさん:2017/07/05(水) 10:12:42
やっぱり昔の使ったら出来ました
すみませんでした

981 ◆/vmukiyuzw:2017/07/05(水) 22:14:25
状況説明がほぼないので推測にすぎないですが
2chのread.cgiが07系にバージョンアップしていた鯖が
鯖移転により06系に戻ってるケースが多く見られるようですので
その関係ですかね。
まあread.cgi 07系はいろいろ問題があってそれが改善されないまま今に至るんで
個人的には「07系の不具合を直せないんなら06系に戻すべき」と思います。

982名無しさん:2017/07/06(木) 15:33:16
いつもありがとうございます(`Д´)ゞ

983名無しさん:2017/08/21(月) 17:06:29
いつも利用させていただいてます
ありがたい

最近知ったのですが
dat保存ボタンを押してファイルダイアログボックスが表示したとき、
Alt+↑キーで上の階層に素早く移動できる

984名無しさん:2017/10/02(月) 17:00:19
過去ログが5chになってhttpsになって、そのまま入力してもみつかりませんでしたになっちゃうね
しょうがないから5chのログ落としてローカルhtmlファイルとして食わせてdat変換できるようになった

985名無しさん:2017/10/02(月) 20:38:11
久しぶりに"htmltodat.exe"を起動した〜

986 ◆/vmukiyuzw:2017/10/03(火) 00:16:04
>>984さん
すみません。
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038409548/
のほうがちょっと大変でまだいろいろありそうなので・・・
最近では向こうでいろいろやってうまくいった結果をこっちにフィードバックしてる形なので
向こうが落ち着くまで並行してこちらをサポートするのは難しい感じです。

987名無しさん:2017/10/03(火) 00:34:54
httpsのs抜くだけで正規表現も変えずに今まで通り変換できたよ
全板確認したわけじゃないけど

988984:2017/10/03(火) 10:28:51
>>986
ああ、急ぎませんから大丈夫ですよ。ひと手間かかるとはいえ使えてますから
>>987
確かにいけるね。ありがとう

989 ◆/vmukiyuzw:2017/10/29(日) 01:10:04
久しぶりですがバージョンアップしました(0.11.9)
 ・https://〜 のURLにとりあえず対処。SSL/TLSに完全対処できたわけではない。
 ・2ch(5ch)でTITLEタグの形式が修正されたので対応。

最近の2ch(5ch)のURLがhttps://〜 に変更されつつあるので、
とりあえずhttps://の入力だけでも受け付けるようにしないとまずいと思い修正しました。
URL欄にhttps://と入力してもエラーにならないようにしただけで内部的に
SSL/TLSに対処したわけではないので、
「受信オプション」-「URLの変換」でhttps→httpに変換することが前提です。

現状、
read.cgi 05系 >>936
read.cgi 06系 >>963
read.cgi 07系 >>976
bbspink >>964
のprm形式ではこの変換をやっているつもりなので
これらを使っておられる方なら問題ないと思うのですが。
(いや、よく見ると05系は対応してないな・・・^^;)

990 ◆/vmukiyuzw:2017/10/29(日) 01:50:14
ちょっと長くなるので続きます。

>>987さんの指摘にあった「httpsのs抜くだけでいける」というのは、
htmltodatは内部的にhttpレスポンス301や302のリダイレクトは自動で追尾するようになっているので
.2ch.netのURLから.5ch.netに追尾してうまくいってたんだと思います。
これも「URLの変換」で2ch.net→5ch.netに読み替えるのが正しい対処なのかもしれません。

あと、SSL/TLSに対処したわけではないと書きましたが実は以前から試し中で
環境によっては動く(https://のURLでも取得できる)かもしれません。
(あまり色々な環境で試したわけではないので動作を保証できない)
libeay32.dll,ssleay32.dllがある環境なら動くかも・・・

991 ◆/vmukiyuzw:2017/10/29(日) 05:42:26
うわわわわ申し訳ない
トップページを更新してなかったです・・・
凡ミス申し訳ないです

上2レスの書き込みを見てダウンロードされた方は
前のバージョン(0.11.8)をダウンロードされてると思うので
ダウンロードし直してください。
本当にごめんなさい。

992名無しさん:2017/10/30(月) 13:41:28
0.11.9落としてまっさらのところから使ってみました
試しに
http://yomogi.2ch.net/test/read.cgi/kaden/1436017606/
で取得時に「Could not load SSL library.」と出たのでOpenSSLのライブラリを入れたら取得できるようになりました

対応ありがとうございます

993名無しさん:2017/11/09(木) 17:03:36
ログ速、また変化ですかね?
https://www.logsoku.com/r/2ch.net/korea/1073404182/
がダメでした

#本家から消えてるdatがちらほらあるなあ…

994 ◆/vmukiyuzw:2017/11/10(金) 23:32:18
>>993さん
挙げられたスレのように 2ch(5ch).net 上には見つからないスレも
少なからずありますよね。であればログ速の動向もチェックしとかないといけないか・・・

ここでログ速を扱ったのは最近では >>820>>940-946 あたりですが
そこからログ速の形式は結構変更されているようです。
で、対応したprm形式を以下に・・・とその前に一点留意事項。

現在のログ速は https に完全対応したようで、http:// のURLでアクセスしても
https:// にリダイレクトされてしまうようです。
なので、SSL/TLS暫定対応のhtmltodat 0.11.9を使う必要があるし
OpenSSLのdllの導入も必要です。
でも、https:// のリンクを貼っておられるので>>993さんは
多分その辺は理解して頂いてると期待して・・・
SSL/TLS対応についてはまたあらためてちゃんと書きます。

例によって(?)前置きが長くなってしまったのでprm形式は次レスで。

995 ◆/vmukiyuzw:2017/11/10(金) 23:34:27
>>994続き


コメント:
# ログ速変換用-20171110
# html形式の変更に対応

URLの変換:
s#http://(.+?)/test/read\.cgi/(.+?)/(\d+)/?.*#http://logsoku.com/r/2ch.net/$2/$3/#

前処理:
# スレタイ補正
s#(<title>)(.*?) \| \S*?(</title>)#$1$2$3#ik
# ニュー速等のアイコンを2ch形式に補正(663さんのものをアレンジ)
s#<img src="http://cdn.logsoku.com/(img.2ch.net/ico/.+?)&quot;&gt;#sssp://$1#igk
# 「〜回発言」を取り除く(663さんのものをアレンジ)+ID周りの変更を反映
s#(ID:)<a class="id_color.*?>(.*?)</a>(.*?) ?\[.*?\] #$1$2$3#igk
# ニコ動やyoutubeのサムネイル削除
s#<div class='video.*?>.*?<img .*?></div>##igk
s#<(iframe|img class).+?<br/>##g;
# <br/>タグに対応してない専ブラへの対応
s#<br/>#<br>#igk

透明あぼーんを補う:
true

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

正規表現:
m`
(?# レス番号) <dl\sid="(\d+)".*?
(?# 名前) <span\sclass="n?em">(?:<b>)?(.*?)(?:</b>)?</span>.*?
(?# メール欄) \[(.*?)\].*?
(?# 投稿日・ID) :(.*?)</dt>\s
(?# レス内容) <dd>(.*?)</dd>
`imkx

996名無しさん:2017/11/11(土) 15:47:34
>>995
対応ありがとうございます
無事変換できました

997 ◆/vmukiyuzw:2017/11/18(土) 01:23:36
htmltodat-convert2改をリリースしました(htmltodat-convert2_20171117)

これは、663さん(mirrorhenkanさん)が作成されて
http://mirrorhenkan.g.ribbon.to/jane/htmltodat-convert2/
で公開されていたもので、htmltodatのバッチ呼び出し機能を利用して
Jane系の専ブラから外部コマンドでdat変換できるようにしたものです。

近頃の2ch(5ch).netの仕様変更により修正が必要になっていたので、
mirrorhenkanさんにご連絡して許可を頂き、改造・再配布させてもらう
ことになりました。mirrorhenkanさんありがとうございます。

修正内容は https と 5ch.net への対応といった程度のことなのですが、
5ch.net 対応はスクリプトの手修正が必要になる場合があります。
(readme2.txt参照)
これは本当は自動判定が可能なのですが、元のスクリプトの作りに
影響しそうだったんでとりあえず安直な方法で対応しました。
今後いい方法をまた検討したいと思います。

998 ◆/vmukiyuzw:2017/11/18(土) 01:47:38
> (readme2.txt参照)
改_readme.txt の間違いでした。(この名前をどうするかで実は結構悩んだ)

正直、gethtmldatみたいなもっと取り扱いが簡単で便利なものもあるので
htmltodat-convert2にいまさらニーズはあるだろうかとは思いました。
が、最近たまたまログ速の話題が出たので、
「ログ速等外部サイトを読むのにまだ使えるじゃん」と考え、
まだメンテしておく必要があるかなと思いました。

999名無しさん:2017/12/14(木) 13:46:06
http://peach.archive.ailesblanc.com/
桃羽書庫という所でログ見つかったのだけど
正規表現教えて下さい。<(_ _)>

1000 ◆/vmukiyuzw:2017/12/15(金) 00:31:49
>>999さん
できればこういうご質問では、TOPページだけでなく
具体的なスレへのURLも貼って欲しいです。
(こちらで検索してスレを探さないといけなかったので^^;)

さて、件のサイトのTOPページには
「生datは専用ブラウザでアクセスしてください」とのコメントがあります。
ということはdat形式に直接アクセスできるということでは?と思い
http://peach.archive.ailesblanc.com/erog/dat/1298449985.dat
みたいなURLを試してみたのですが read.cgi にリダイレクトされてしまいます。
が、「専用ブラウザで」の一言が気になったんで試しにUAをMonazillaのものにしてみると
dat形式で取得できることがわかりました。
(なんなら、外部板扱いで専ブラに登録したら直接読めるのでは?とも思ったのですが
subject.txtがないようなのでそれは無理なようでした)

一応正規表現でのHTMLからのdat変換も考えてはみたのですが、datで取得できるなら
その方が楽なので保留にします。どうしてもHTML形式で取得したいということなら
またご相談ください。



コメント:
# 桃羽書庫からdatを取得-20171215
# htmltodat変換を行わずdatを直接取得する
# User-Agentの設定がポイント

HTTPヘッダの追加:
User-Agent: Monazilla/1.0

URLの変換:
# read.cgiへのリクエストをdatへのリクエストに変換
s#https?://(.*?)/test/read\.cgi/(.*?)/(\d+)/.*#http://peach.archive.ailesblanc.com/$2/dat/$3.dat#

dat変換をしない(前処理のみ行う):
true

1001名無しさん:2017/12/15(金) 16:59:15
>>1000さまありがとう。datにできました。<(_ _)>
ピンクで恥ずかしくて・・・。以後恥ずかしく無い
スレ探してURL貼るように努めます。
(って、トップにエロゲ3板って書いてあるし(恥)

生datはirvineで落としてみたら、中身htmlで諦め
たんだけど/erog/dat/にしたら落とせました。

本当にありがとう。

1002 ◆/vmukiyuzw:2017/12/15(金) 21:25:12
>>1000
> (なんなら、外部板扱いで専ブラに登録したら直接読めるのでは?とも思ったのですが
> subject.txtがないようなのでそれは無理なようでした)

と書いたのですが、専ブラの種類にもよるかもしれませんが
外部板として登録して専ブラに認識させれば
専ブラのURL欄に入力することでdatでの取得ができるようです。
>>1000の例でいえば
http://peach.archive.ailesblanc.com/erog/ を外部板として登録し
http://peach.archive.ailesblanc.com/test/read.cgi/erog/1298449985/
のURLを入力)

この方法であればもはやhtmltodatは不要ですw
まあでも、最終的には元の板のログとして読みたいと思われるので
手動でログをマージする手間が多分必要になり
どっちが楽/簡単かは何とも言えないですが。

1003名無しさん:2017/12/16(土) 00:57:15
>>1002さま
何度もありがとう。<(_ _)>
外部板登録で読めました。楽です。

Janeでリンク右クリから”リンクを桃から読む”
とかで元板にDLできればいいのですけどね。

1004 ◆/vmukiyuzw:2017/12/16(土) 01:56:23
>>1003さん
もはや蛇足かもしれませんが

> Janeでリンク右クリから”リンクを桃から読む”
> とかで元板にDLできればいいのですけどね。

ということなら、>>997で書いた htmltodat-convert2改 を使うという手もありますよ。

・htmltodat.exeと関連dllをJane2ch.exeと同じフォルダに置く
・htmltodat-convert2.wsf(http://mukiyu.g.ribbon.to からダウンロード)を同じフォルダに保存
・レス>>1000 後半の内容をテキストファイルで「桃羽書庫.prm」の名前でやはり同じフォルダに保存
・Janeの外部コマンドで

 wscript "$BASEPATHhtmltodat-convert2.wsf" "$LINK$URL" "桃羽書庫"

でお望みの形に近くできるかもしれません。

1005名無しさん:2017/12/16(土) 14:04:43
今頃気づいたけどコテだったのね。^^;
ありがとう>>◆/vmukiyuzwさま。
更に>>1000のはprmだったのね。
今までhtmltodatの入力欄に書いて、毎回セット
してました・・・ :Drz

書式理解不能で、>>1000のrpmをまんま使いま
したらエラー無く読めましたけど、まずいですか?

1006 ◆/vmukiyuzw:2017/12/16(土) 21:56:37
>>1005さん
> 書式理解不能で、>>1000のrpmをまんま使いま
> したらエラー無く読めましたけど、まずいですか?

prmの形式は、特に書式を分からなくても
単にコピペすればいいようにしているので
それでうまく動いているのであれば特に問題ないと思います。

ただ、専ブラのレスからコピペする場合、
Replacestr.txt等の機能が作用してレス内容が置き変わってしまい
不具合の原因となったことが以前ありました。
なのでこのスレからのコピペでprmを作る場合はできれば専ブラではなく
汎用ブラウザを使うことをお勧めします。

10071005:2017/12/17(日) 00:15:45
>>◆/vmukiyuzwさま
ブラウザから貼り直しました。
ほんとにほんとにありがとう。<(_ _)>

1008名無しさん:2017/12/19(火) 09:35:18
変換中。しばらくお待ち下さい。。。

1009 ◆/vmukiyuzw:2018/05/05(土) 00:11:16
バージョンアップしました(0.11.10)
 ・SSL/TLSに対応した。

これでhttps:// のURLへのアクセスもできるようになったと思います。

OpenSSLのdllの導入が必要になります。
http://indy.fulgan.com/SSL/ の openssl-ほにゃらら-i386-win32.zip の一番新しいやつを
ダウンロード・解凍して libeay32.dll と ssleay32.dll をhtmltodat.exeと
同じフォルダーにコピーして下さい。
(OpenSSLのライブラリは最近いろんなプログラムで使われているので
Windowsのシステムフォルダに置くよう推奨したほうがいいのかな?
また、頻繁に更新されているライブラリなので最新の情報をウォッチしておく必要も
あると思われます)

前バージョンまでが「SSL/TLS暫定対応」だったのは、
今まで使っていたコンポーネントがTLS1.2に対応してなかったためです。
TLS1.2対応にはコンポーネントのバージョンを上げる必要があったのですが、
互換性の部分で不具合が出がちと聞いていたので二の足を踏んでいました。
ですが、意を決してやってみるともちろん不具合はいくらか出たのですが
意外に楽に対処できたのでまあ良かったかなと思います。

現在使われているprmファイル等への影響は基本的にはないはずですが
なにかありましたらここへご連絡ください。

1010名無しさん:2018/06/21(木) 15:35:29
eggサーバーなどで使われている read.cgi ver 07.1.0 2017/10 Walang Kapalit ★
で使える正規表現のパターンがあれば教えていただけないでしょうか

1011 ◆/vmukiyuzw:2018/06/22(金) 00:00:21
>>1010さん
変換自体は>>976 でできるはずですが5chへの対応ができてない部分とか
冗長な部分とかあったので修正しておきます。
2018/06/21現在 bbspink で使われている 07.2.0、運用情報等のagree鯖で使われている 07.2.1 にも対応。


コメント:
# 2chのread.cgi 07系からの出力を変換-20180621
# 2chのcgi仕様変更(07.1.0 - 07.2.1)に対応

URLの変換:
# htmltodat 0.11.10以降を使っていればこれはなくてもよい
s#https?://(.+?)/test/read\.cgi/(.+?)/(\d+)/?.*#http://$1/test/read.cgi/$2/$3/#

前処理:
# メール欄にURLが貼られた時のとりあえず対応
s#(<a href="mailto:)([^<>]*?)(?:<a href[^>]*?>)?([^<]*?)(?:</a>)?([^>]*?)(">)#$1$2$3$4$5#ig

アンカー削除:
false

透明あぼーんを補う:
true

後処理:
# BE周りの処置
s#</span><span class="be .*?><a href=".*?//be\.(?:[25]ch\.net|bbspink\.com)/user/(\d+).*?>\?(.*?)</a># BE:$1-$2#ig
# アンカータグ削除(レスアンカーに対するタグは削除しない)
s#<a(?: class="image")? href="http.*?>(.*?)</a>#$1#igk
# お絵かき機能等のimgタグを除去
s#<img src=".*?(//.*?)">#sssp:$1#igk
# IDの前に付くようになった不要なタグを除去
s#</span><span class="uid"># #igk
# 07.2.1で追加された不要な要素を除去
s#<><span class="AA">(.*?)</span><>#<>$1<>#igk
s#(target="_blank").*?>#$1>#igk

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

1012名無しさん:2018/10/04(木) 15:03:16
vip・実況系の画像関係の仕様が変わったようで、htmltodatで変換すると
<a class="image" href="http://jump.5ch.net/?https://xxx.jpg&quot;&gt;https://xxx.jpg&lt;/a&gt;
という文字列が入るようになりました。
このdatを専ブラで表示すると、
http://jump.5ch.net/?https://xxx.jpghttps://xxx.jpgの二種類のリンクが表示されるようになります。
ご対応していただけたら幸いです。

1013 ◆/vmukiyuzw:2018/10/04(木) 23:58:16
>>1012さん
それは多分、read.cgi 07.2.1 と呼ばれているものが
当初agree鯖(運用系のサーバ)でだけ使われていたものが他のサーバにも
適用されてきている状況かと思います。
で、それへの対応ということなら>>1011で出来ている筈なのですが。
s#<a(?: class="image")? href="http.*?>(.*?)</a>#$1#igk
の行がその問題に対処しています。

もし>>1011を適用してもうまくいかないという場合、
専ブラでなく汎用ブラウザで>>1011のレスを表示しそれをコピペして
prmファイルを作り直してみてください。
(専ブラからコピーするとReplaceStr等の機能で正しくコピーできない可能性がある)
それでもうまくいかない場合は該当のスレのURLをお教えください。

1014名無しさん:2018/10/06(土) 11:11:16
>>1013さま
コピペした所、問題なく変換出来ました!
ご対応して頂きありがとうございます。

1015名無しさん:2018/11/25(日) 16:11:37
現在のみみずんで使える正規表現ありませんか?

1016 ◆/vmukiyuzw:2018/11/26(月) 19:57:03
>>1015さん
現在のみみずんの状況があまりよく分かってないので
みみずんでのスレのURLをいくつか例示して
頂けないでしょうか。

1017名無しさん:2018/11/28(水) 07:33:33
みみずん
http://mimizun.com/log/2ch/girls/1257859037/
ここもメルアドがcdnになってます

1018 ◆/vmukiyuzw:2018/11/29(木) 01:07:27
バージョンアップしました(0.11.11)
 ・0.11.4で取り入れたメール欄難読化のデコード処理を復活

「メール欄難読化のデコード処理」については、
>>819あたりから問題になって>>821(v0.11.4)で対応したのですが
その後(2015年3月頃?)2chでは難読化は行われなくなったので
htmltodatの処理としては無効にしていました。

が、>>1015,1017さんのご指摘によりみみずんではまだ難読化は行われてるということなので
デコード処理を復活させました。
(コメントアウトしていたのを外しただけですが^^;)

で、これを前提としての現在のみみずんでの正規表現等は次レスで。

1019 ◆/vmukiyuzw:2018/11/29(木) 01:47:55
みみずんの変換についてはかなり前ですが>>710 のころは
dat形式でアクセスすることが可能だったんですが今では無理みたいですね。
で、html形式は>>711のころとさして変わってないようなんですが
若干変更されてる部分と難読化デコードを含めて以下のようにしてみました。



コメント:
# みみずん(mimizun.com)変換-20181128

前処理:
# 名前欄のemail-protectionをデコードする
s`<a href="/cdn-cgi/l/(email-protection)".+?data-cfemail="(.+?)">\[email.*?\]</a>`$1#$2`ikg
# メール欄のemail-protectionをデコードする
s`(<a href=)"/cdn-cgi/l/(email-protection#.*?">)`$1"mailto:$2`ikg

後処理:
s`<br ?/>`<br>`g
s`<time .*?>(.*?)</time>`$1`g

正規表現:
m`
<div\ class="contributor"><a\ name="(\d+)">.*? #レス番
<span\ class="handle">(?:<A\ HREF="mailto:(.+?)">)? #メール欄
(.+?)(?:</A>)?</span> #名前欄
:(.*?)</div> #投稿日
<div\ class="res">(.*?)</div> #レス本文
`mikx

1020名無しさん:2018/12/01(土) 08:50:34
>>1019
>>1015さんとは無関係の者です
> dat形式でアクセスすることが可能だったんですが今では無理みたいですね。
に驚いて確認してみましたが、dat形式でDLできました(wgetで、ですけど…)
datでDLできないのが「URLが.datでもHTML形式になってしまう」のなら
おそらくUser-Agentに Monazilla が含まれていないのが原因です
cf. ttp://mimizun.com/blog/2008/09/dat.html
  ttp://mimizun.com/blog/2012/02/post-694.html

…というか、mukiyuさんはご存じのはずでしたね
対応した結果が >>572 で、でも >>908 でダメになった、と。

というわけで、 >>1000 のようにすればよいのではないかと思います
>>1000 との違いは、URLの変換のところを
s#https?://(.*?)/test/read\.cgi/(.*?)/(\d+)/.*#http://mimizun.com/log/2ch/$2/$3.dat#
に変えるだけだと思うのですが、テストしたら文字化けしたので(おそらくおま環)
正しいか確認できていません

ここからはhtmltodatと関係なくなってしまうのですが、もしJaneXenoを使っているなら
設定で「みみずん検索から過去ログを取得」にチェックを入れるとみみずんからdatを取ってくれます
このとき、"過去ログだと判定させる"のがミソで、板一覧を先に更新しておかないと失敗することがあります
(JaneXenoはAPI非対応で、公開も終了しています)

余談ですが、wgetでHeaderを取得するとこんな感じでした(一部)
ttp://mimizun.com/log/2ch/girls/1257859037.dat
Content-Type: text/download
Last-Modified: Mon, 06 Feb 2012 15:17:25 GMT
Vary: Accept-Encoding
Server: cloudflare
みみずんさんcloudflareを導入されたようですね メールアドレス難読化はおそらくcloudflareがやっています
2chでメール欄難読化をやめた後くらいに知ったのですが、cloudflareを利用するとき
難読化するかオプションで選べるらしいです
2chは途中で 難読化する→難読化しない に変更したわけで、みみずんさんも変更されるかもしれません
あと、Content-Lengthがない…
実際にDLしてみると 153,432 byte で、dat形式で、JaneXenoに入れてちゃんと読めました
JaneXenoの「みみずん検索から過去ログを取得」で取得したdatとも一致します
エンコードはSJISですし、なぜhtmltodatで文字化けするのか… まあゆっくり検証します
あと、datのメール欄は難読化されたりしません。当然か。

長々とごめんなさい

1021 ◆/vmukiyuzw:2018/12/02(日) 00:52:35
>>1020さん
検証いただきありがとうございます。大変助かりました。
みみずんのdatにアクセスできないのがUser-Agentのせいだったとは盲点でした、
5chへの影響ばかり気を取られていたので。
で、文字化けに関してですが、決しておま環などではなくこちらでも再現しました。
>>1000 でも文字化けしますね。

調べてみると、以前のバージョン(0.11.9とか)だと発生しないんで、
>>1009 から採用した通信コンポーネントIndy10の仕様と現在のhtmltodatの仕様の
食い違いが原因なようです。
(htmltodatでは自力で文字コード変換をやろうというつくりになっているが
Indy10ではIndy10側で文字コード変換をやろうとしているようでそこがぶつかっている)

解決策はいくつか考えてるのですがまだ調べないといけないことが多くあり
ちょっと時間かかりそうです。
当面は、>>710>>1000のような「htmlを介さずdatを取得」する方法は使えない
ということでお願いします。(htmltodatのバージョンを0.11.9に落とせば可能ですが)

10221020:2018/12/02(日) 09:58:31
>>1021
おう、まじすか。
UAの件は >>572663 ◆fnwcOWFi56さん(mirrorhenkanさん)の掲示板でやりとりされていましたが

10231020:2018/12/02(日) 10:03:49
まだ投稿するつもりじゃなかったのに…
webarchiveに拾いに行くのでちょっと時間かかりそうです

10241020:2018/12/02(日) 12:09:59
…気をとりなおして。(さっきのは半/全キーとTABを押し間違ったらしい…)
>>1021
UAの件は >>572 の直前に
663 ◆fnwcOWFi56さん(mirrorhenkanさん)の掲示板でやりとりされていましたが
わいわいかきこ、まるごと無くなりましたからね…
>>911 というのがあったんでwebarchiveに探しに行ったんですが、どうやらないようです
もしローカルにdatが残っていらっしゃるなら
メモ4
ttp://yy14.kakiko.com/test/read.cgi/mirror/1213700846/109-119
を見て頂ければ。(しかし、もう10年も前とは)

文字化けの件は私の側でできることは今のところない、でいいのかな
別にdat変換してないのでhtmltodatでなくてもいいんですが
私みたいにwget使っちゃうような人はともかく
初心者がUser-Agentを任意のものに変更するのにこれ以上簡単な方法が思いつきません
(上のmirrorhenkanさんの掲示板に出てきたmimizun.jsとかgetlog.wsfとか今でもあるんだろうか)
まあみみずんを読むのは >>1019 でできるようなので、なんとかなるでしょう

1025 ◆/vmukiyuzw:2018/12/03(月) 02:06:11
>>1024さん
> もしローカルにdatが残っていらっしゃるなら
> メモ4を見て頂ければ。(しかし、もう10年も前とは)

dat残ってました。確かに10年前ですね。忘却の彼方でした^^;
663さんの説得で私が折れた感じですかね。あの頃のバージョンアップは
そういうパターンが多かった気がw。663さんお元気だろうか・・・
(htmltodat-convert2の件で一回メールでやりとりしたんですが>>997
しかし、わいわいかきこの消滅は悲しかったですね。このスレにも
リンクがいっぱい貼ってあるのに。私はログを持ってるので読めますが
ほとんどの人には飛べないリンクですよね。
したらばはなんだかんだありながらも続いてるので有り難いなあ。

1026 ◆/vmukiyuzw:2018/12/03(月) 02:22:11
今から見ると面白いなあと思うのが、663さんに対する私の発言で
(みみずんではUAをMonazillaにすればdat直読みできるという話題)

> 110 名前: ◆/vmukiyuzw [sage] 投稿日:08/09/21(日) 00:05:06 ID:f6dOajKh
> > htmltodatの受信ヘッダで
> > 送信するUAのデフォルトをMonazillaにして頂けたら嬉しいです。
>
> いわゆる「2ch専用ブラウザ」としての機能は何も持ち合わせてないのに
> UAでMonazillaを騙るのはおこがましいというか詐欺っぽいので
> あまりやりたくないです。
> # まあやったところで何か実害が出るとかいうことはないとは思いますが・・・
>
> 筋道としては、問題と思われるなら整理してみみずんさんに提示するほうが先では?
> てもうされてたならすみません。

などと語っていること^^;
このときは後に「専ブラでもないくせに何でUAでMonazillaを名乗ってるの?」とか
叩かれることになろうとは想像もしてなかったですw

1027 ◆/vmukiyuzw:2018/12/18(火) 21:17:14
バージョンアップしました(0.11.12)
 ・0.11.10で導入したIndy10により発生した文字化け問題に対応。

>>1020-1021で発覚した文字化け問題への対応です。

以前使っていた通信コンポーネントIndy9では、HTTPのGET処理を実行して返ってくるデータは
サーバが返してくるほぼそのままだったので、gzipの解凍だとか文字コード変換とかは
全部アプリ側でやらなきゃいけなかったんです。
けどIndy10ではその辺をある程度やってくれる・・・ので楽になった部分もあるのですが
文字コード変換に関しては私見ですがいまいちな感じ。うちの開発環境が古いんで
それとの相性かもしれませんが。
HTTPレスポンスヘッダのCharSet等から文字コードを判別してるようなのですが
>>710>>1000みたいなdat形式でアクセスする場合CharSetは指定されておらず、
その場合全然違う文字コードと解釈されて変な変換されて結果文字化けしてしまう、
という状況のようでした。
(html形式でのアクセスの場合はCharSetは大抵指定されてるので問題なかったと思われる)

で、結局、文字コード変換を行わない別のGET処理が用意されてるのを見つけたので
そっちを使うよう変更しました。
(つまり文字コード変換は従来通り自力でやる)

プログラムとしては数行の変更ですが内部処理はかなり変わってると思うので
いろんなサイトでテストしたつもりですがもし問題あればご連絡ください。

1028名無しさん:2018/12/19(水) 22:12:22
>>1027
乙でございます

いくつか試してみて今のところ問題ありません

1029 ◆/vmukiyuzw:2018/12/20(木) 21:32:31
別件で調べものしててたまたま見つけたんですが。
>>1024-1026で出てきた663さん(mirrorhenkanさん)の掲示板ですが
http://mirrorhenkan.r.ribbon.to/b/board/
で復活されてたんですね。2015年2月ごろでしょうか。
わいわいかきこ時代のログも移されてますし専ブラでも外部板登録すれば読めます。

で、専ブラでこの板のログを取得し、
http://yy14.kakiko.com/mirror/
も外部板登録してそちらにsubject.txtとdatをコピーすれば、
例えば>>737のようなリンク切れして見られない663さんの板へのリンクが
見られるようになるのではないかと思います。

かつていろいろやりとりしhtmltodatの機能アップにつながるご意見を
色々頂いたので、そのログがwebarchiveとかじゃなく見られる形であるのが
嬉しいです。

10301020:2018/12/22(土) 09:00:10
>>1029
>>1024=1020っす おー、朗報ですね
kakiko時代のスレを読む方法として他に、Jane系のようなレスの置換機能のある専ブラなら
ttp://mirrorhenkan.r.ribbon.to/b/board/ を外部板登録して
<rx2>h?ttp://yy14\.kakiko\.com/test/read\.cgi/mirror/【TAB】<font color=green>[yykakiko]</font> ttp://mirrorhenkan.r.ribbon.to/b/test/read.cgi/board/【TAB】msg
てな感じでリンクの方を置換しちゃうのもありです
これなら ttp://yy14.kakiko.com/mirror/ のほうは外部板登録しなくてよいので

1031名無しさん:2019/01/27(日) 06:04:34
受信オプションボタンを押してURLの変換のところで
次の2つを変換したいと思いますが2つ目の変換がされません
s/2ch/5ch/
s/https/http/
実際の記述はどのようにすればよいのでしょうか?

1032 ◆/vmukiyuzw:2019/01/29(火) 00:24:11
>>1031さん
こちらで検証してみても特に問題はないので記述に問題はないと思われます。
何をもって2つ目の変換がされないと思われたのでしょう?
私の環境ではプロキシソフト(Proxomitron Rebornてやつ)で通信ログを見て
正しく変換されてると思ったのですが。

1033 ◆/vmukiyuzw:2019/01/29(火) 00:32:59
ちなみに、htmltodatでは現在のバージョンではSSL/TLSに対応しているので
s/https/http/
これは不要のはずです。(httpsのアドレスでもアクセス可能)

10341031:2019/01/30(水) 05:47:37
>>1032
解決しました。
古い0.11.8を使用していました。
せっかく作者様がいろいろ対応して下さっている最新版を使わずに質問してすみませんでした。
あまりよく理解していないままですが便利に使用させて頂いております。
変換がうまくいかない場合はサポートBBSにある正規表現を使ってみてうまく行ったら後は何も触らず似使っています。
https://の場合はURL貼り付け後にsを取るためにIビームポインタを合わせるのに苦労していました。
また、2ch.netでうまくいかなくなってきて5ch.netに修正するときにも面倒な作業をいちいち操作して使っていました。
いざ自分の直面している問題に関係しているとBBSの内容も少しずつ理解できるようになってきました。
OpenSSLのところのダウンロードもうまくできました。

このようなソフトウェアを使わせて頂きありがとうございます。
普段はブラタモリの録画を見ながら実況スレを探し出してJaneStyleで見るといういうような使い方が多いです。
放送後間もないときは実況Headline板で該当URLを1個ずつコピーしています。
日にちが経ってしまったときはGoogleでsite:5ch.netのようにサイト指定して当時のスレを探しています。
とにかくこのソフトがあってこそ、です。

配布ページの下の方にあるAmazonのリンクを経由して、少額だと思いますが買い物するようにします。
ありがとうございます

1035 ◆/vmukiyuzw:2019/01/31(木) 02:17:26
>>1034さん
htmltodatの使い方というわけではないのですが

> 普段はブラタモリの録画を見ながら実況スレを探し出してJaneStyleで見るといういうような使い方が多いです。
> 放送後間もないときは実況Headline板で該当URLを1個ずつコピーしています。
> 日にちが経ってしまったときはGoogleでsite:5ch.netのようにサイト指定して当時のスレを探しています。

こうやって過去ログを追っかけるときは、
板TOP(NHK実況ならhttps://nhk2.5ch.net/livenhk/)から
「過去ログ一覧はこちら」をクリックして出てくる過去ログの一覧
https://nhk2.5ch.net/livenhk/kako/kako0000.htmlとか)を見る方が
はかどるかもしれません。
まあこっちもあまり日にちが経ってしまうとしまうと見られなくなるみたいですが
Googleだと流れのはやいスレは追えないことがよくあるのでそれよりは確実な気がします。。

> 配布ページの下の方にあるAmazonのリンクを経由して、少額だと思いますが買い物するようにします。

配布ページは無料レンタルサーバなのでそんなことされても私には一文も入ってきません^^;
道楽でやってることですのでお気遣いなく。

1036名無しさん:2019/01/31(木) 07:41:02
最初に謝っておきます。◆/vmukiyuzwさん、htmltodatに関係ない話してすみません!!

>>1034
そんなあなたに便利なサイトをご紹介。(中の人ではありません)
ttp://2chlog.com/2ch/live/calendar.php?ita=livenhk
ここから日付に飛ぶとその日に立ったスレの一覧が見られ、(10桁の数字).datを右クリでダウンロードすると
datが手に入ります(htmltodatで変換しなくてよい)
スレ立て基準なので、ブラタモリなら放送日を見ればよいですが
深夜番組などの場合は当日と前日の両方を見たほうがよいです
NHK以外の板もありますが、テレビ実況系のみです

>>1035
日にちが経っても見られるはずですよ
ただ、Listがスレッド番号表記のみなので、スレ立て日がわかっていても
(だいたいの)UnixTimeに直すのがちょっと面倒ですね
昔実況系板のkako####.html生成がなんかで失敗してたことがあったんですが
(【pastdat】新型DAT落ち装置●旧おせっかい Part.4 [無断転載禁止]©2ch.net
 ttp://carpenter.2ch.net/test/read.cgi/operatex/1462280087/389-391,434 2016/05でした)
Mangoさんがそっこー直してくれたんで、あるはずのスレが一覧になかったら報告すれば直ると思います

1037 ◆/vmukiyuzw:2019/02/01(金) 22:41:01
>>1036さん
便利なサイトご紹介いただきありがとうございます。
ミラーサイトってのも今時なかなか運営が難しそうな気がするのですが
頑張ってる方もまだおられるのですね。

> ただ、Listがスレッド番号表記のみなので、スレ立て日がわかっていても
> (だいたいの)UnixTimeに直すのがちょっと面倒ですね

確かにそうだと思ったので、過去ログ一覧ページにあるスレッド番号らしき記述を
年月日時分秒に変換するブックマークレットをとりあえず書いてみました。
ただあのページ自体使い勝手はかなり悪いのでこれぐらいでたいして
改善されるわけではないんですが。

javascript:(function(){document.body.innerHTML=document.body.innerHTML.replace(/(\d{9,10})((?=[\-\s\<])|\.dat)/g,function(ma){var n=ma.replace(/\.dat/,"")-0;n*=1000;var d=new Date(n);var year=d.getFullYear();var zp=function(a){return(('0'+a).slice(-2))};var month=zp(d.getMonth()+1);var day=zp(d.getDate());var hour=zp(d.getHours());var min=zp(d.getMinutes());var sec=zp(d.getSeconds());return(year+'/'+month+'/'+day+' '+hour+':'+min+':'+sec)})})()

1038名無しさん:2019/02/16(土) 09:13:59
昨晩、ドキュメント72時間,トクサツガガガ,タモリ倶楽部,フルーツ宅配便,日本ボロ宿紀行と録画したのでJaneStyleで読むログをゲットすることに。
htmltodatで気になっていた一括変換ボタンというのを使えないかなと思いました。
いまなら実況headline板に生きてるからURLがコピーできる。

プログラムのあるフォルダに[変換前]、[変換後]という名前の二つのフォルダを作りました。
[変換前]フォルダの中にはどのようなファイルを置けばいいのでしょうか?
JaneStyleのアドレス欄は以下のようになっていて拡張子htmlではありません。
  https://headline.5ch.net/test/read.cgi/bbylive/1550230754/

Webブラウザで2chを見ているときはHTMLファイルを読み込んでいて、専用ブラウザで2chを見ているときはDATファイルを読み込んでいると理解しています。
htmlファイルを得るにはブラウザーで開くのでしょうか?開いてみましたがアドレスバーのところには
 https://nhk2.2ch.net/test/read.cgi/livenhk/1550230754/
となっていて拡張子が見あたりません。
 https://nhk2.2ch.net/test/read.cgi/livenhk/1550230754/index.html
とか
 https://nhk2.2ch.net/test/read.cgi/livenhk/1550230754.html
ということなのかな。。。アッ、これでいいのか!わかりましたw

[変換後]フォルダはテストなので作成しました。将来は[\Jane Style\Logs\2ch\実況ch\番組ch(NHK)]などを直接指定しようと思います。

それではドキュメント72時間3スレ、トクサツガガガ10スレ、タモリ倶楽部3スレ、フルーツ宅配便2スレ、日本ボロ宿1スレ
これらのURLをコピーして一つのテキストファイルの中に一行づつ、、、なんか違う。
あ、このフォルダの中に、1スレにつき1個のhtmlファイルを置いていくのか。
これだと面倒さは今までと変わらないな

なんか、こんなことをさっきまでやってました。質問しようと思っていましたがなんだかわからなくなってしまいました。
日本ボロ宿紀行の主役は朝ドラのよしのちゃんで、キャプのリンクも生きていてよかったです。

1039 ◆/vmukiyuzw:2019/02/18(月) 00:28:55
>>1038さん
「一括変換」の機能について齟齬があるかもしれません。

htmltodatの「一括変換」というのは、ローカルPC内にある複数のhtmlファイルを
いっぺんにdatに変換する機能です。
で、「そのローカルのhtmlファイルはどうやって作るの?」ていう点については
ブラウザのダウンロード機能なりダウンロードソフトなり使って
自力で何とかしてね、ということにしています。

多分期待されてることは
「このページのいくつかの(もしくは全ての)スレをいっぺんに取得して変換したい」
ということだと思うのですが、「いっぺんに取得」の部分は
使い方によってはクローラー的な動作になってしまうかもしれないので
そこはhtmltodatの機能としては実装したくない、自己責任でお願いしたい、
という思いでそういうことにしています。

もともとは、htmltodat作ったころは
過去ログをhtml形式でまとめてアップしている有志のサイトが結構たくさんあって
そこからのログを取得していっぺんにdat化するのが「一括変換」の主な目的だったんです。
そういうサイトも少なくなって、この機能使ってる人もあんまりいないんじゃないか
と思って一時期隠し機能にしたことがあるんですが
>>805さんのように「使ってる」というレスもあったので復活させた経緯もあります。

前置き的なものが長くなってしまいましたが、貴方のやりたいことを満たすには
URLのリストを入力していっぺんにダウンロードできるツールを探すか(多分いっぱいあると思う)
>>1036さんが紹介してくださったようなサイトを利用するかじゃないでしょうか。
後者だとhtmltodatは必要ないんですけどね。

1040名無しさん:2019/09/17(火) 04:58:16
おそらくトリップをNGNameに入れることが出来ないんだろう

NGしたいレス番をクリックして
NGItemに追加-NGNameに追加
(必要なら表示されている文字列の一部を削除)

1041名無しさん:2019/09/17(火) 04:59:12
誤爆スマン

1042名無しさん:2020/05/08(金) 13:54:57
こんにちは。 過去何度もお世話になっております。
そのつど丁寧に教えて下さりありがとうございます。
今回も教えてくんで恐縮ですが・・・。

スレ1に張られている前スレのリンクはそのままjaneで
読み込める場合もあるし読み込めなかったりもします。
今回は読み込めず、ブラウザで開くと
>■ このスレッドは過去ログ倉庫に格納されています
とでますが全レス読めます。
URLをhtmltodatに貼り変換すると、変換警告が開き
http://aoi.bbspink.com/test/read.cgi/hgame2/1298937799
>レス 1-3 の間が飛んでいます

と表示されますがプレビューでは抜けておらず、最後の
836まで変換されています。
datを保存しjaneで見ると最後が835と1レス少ないので
すが、よく見るとレス2が2つありました。

レス2直前の
><div id="js--banners--thread"></div>
を消すと直るようでした。

これを前処理等で自動処理するにはどうすればいいでしょうか?

1043<削除>:<削除>
<削除>

1044 ◆/vmukiyuzw:2020/05/09(土) 17:39:34
>>1042さん
(いったんレスしたのですが勘違いがあったので修正します)

bbspinkの変換については >>964 だと思っていたのですが
過去のサーバについては古いread.cgiで動いているようですね。
該当スレの最後を見ると

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★

とあります。05.04.02というバージョンは初めて見ましたが、
05系ということで >>936 の奴を試したところ
特に問題なく変換できているように思います。
どのバージョンでどれを使うかは>>989参照。


# 本当ならこの「どの正規表現等を使うか」の判断は
# htmltodat側でやるべきなんでしょうね
# でも今の機能にそれを組み込むのはメッチャ難しそうなので
# 放置中です・・・

10451042:2020/05/10(日) 05:00:48
>>◆/vmukiyuzw様いつもありがとうございます。<(_ _)>
既出を聞いてしまいました・・・。すみません。
”間が飛んでいます”でしかスレ内検索してませんでした。

1046名無しさん:2021/09/30(木) 17:46:25
こんにちは。
スマホビュアデモ(試β5) というとこでスレ見つけ
ましたが、自分で正規表現書けません。
お暇な時にでも教えてやってください。

一覧(1〜13)
https://www.kyodemo.net/sdemo/b/ascii/?k=fakeapp&amp;kt=bk

スレ1
https://www.kyodemo.net/sdemo/r/ascii/1518391672/1-

1047 ◆/vmukiyuzw:2021/10/02(土) 22:49:44
>>1046さん
一から正規表現等書いたのはめっちゃ久しぶり(>>1000のとき以来かな?4年も前か)
なので、勘が鈍りまくってて手こずりました^^;

さて、例によっていくつか留意点があります。

・5ch自身のHTMLを変換した場合に比べ、datの精度はやや低いと思います。
 (不要な情報を取り除き切れていない)
 専ブラで見る分には多分あまり支障はないと思いますが。
 あと、例示いただいたスレでしか確認していないのでそのサイトの他の板等に
 適用できるかはわかりません。

・スレ中に「前スレ」とか「関連スレ」とかで5ch,bbspinkの他のスレへの
 リンクが書き込まれていた場合、そのサイト(スマホピュアデモ)内へのリンクに
 変換されてしまうようです。
 (https://www.kyodemo.net/sdemo/r/ascii/1518391672/1のレス内リンク等)
 これを元のURLに変換するのは困難なので、必要であれば手修正してください。

・色々試してみたのですが、そのサイトからスレの全レスを一度に取得する方法が
 見つかりませんでした。URLの最後に 1- と付けても50レスしか取得できません。
 1-1000とかしてもだめでした。となると、n51- とかして50レスずつ取得して結果を
 エディタで貼り合わせる必要があるかもしれません。

と、また前置きが長くなってしまったので正規表現等は次で。

1048 ◆/vmukiyuzw:2021/10/02(土) 22:53:08
>>1047 続き

コメント:
# スマホビュアデモ(試β5)を変換-20211002

前処理:
# 投稿日とIDが離れているのをつなげる
s`</span><a href=[^>]*?><span class="clid">([^<]*?</span>)` ID:$1`g

アンカー削除:
false

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

後処理:
s`</?div>``g

正規表現:
m`
<strong>([0-9]+).+? #レス番
<span\ class="clname">(.*?)</span> #名前欄
(?:\[<span\ class="clmail">(.*?)</span>\]\ ?)? #メール欄
<span\ class="cldate">(.*?)</span>.*? #投稿日
<div\ class="clmess"[^>]*?>(.*?)</article> #レス本文
`mikx

10491046:2021/10/03(日) 11:23:42
こんにちは。 ◆/vmukiyuzwさま
いつもいつもありがとうございます。<(_ _)>
(4年前のソイツも自分です。 ^^: )

レスくれてたの気づかず徹夜でキーボードマクロ使える
エディタで切り貼りしてました。(1スレも終わらず)

コレ面倒くさいだろなぁと思いながらもお願いした事も
あって、レスあったの見てウルっときちゃいました。

本当にありがとうございました。<(_ _)>

10501049:2021/10/03(日) 23:53:53
こんにちは。
不具合出ましたので報告いたします。
その12
https://www.kyodemo.net/sdemo/r/ascii/1580015540/n901-

942のワッチョイ(?)辺りでおかしくなり、943,944を巻き込み
1つのレスとなるようです。
htmltodatのレビュー窓では1つになりませんが、スレ番が
太文字に。

1051 ◆/vmukiyuzw:2021/10/04(月) 02:15:24
>>1050さん
とりあえず、ワッチョイのあるレスで不具合が出るのは修正出来たと思います。
ワッチョイの表示が必要なければその行を削除orコメントアウトしても
動くと思います。


コメント:
# スマホビュアデモ(試β5)を変換-20211004

前処理:
# 投稿日とIDが離れているのをつなげる
s`</span><a href=[^>]*?><span class="clid">([^<]*?</span>)` ID:$1`g
# ワッチョイ欄を名前欄とつなげる
s`</span>(\(ワッチョイ[^)]*?\))`$1</span>`g

アンカー削除:
false

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

後処理:
s`</?div>``g

正規表現:
m`
<strong>([0-9]+).+? #レス番
<span\ class="clname">(.*?)</span>.*? #名前欄
(?:\[<span\ class="clmail">(.*?)</span>\]\ ?)? #メール欄
<span\ class="cldate">(.*?)</span>.*? #投稿日
<div\ class="clmess"[^>]*?>(.*?)</article> #レス本文
`mikx

10521050:2021/10/04(月) 07:48:02
おはようございます。

Doeでもちゃんと表示されました。
いつも助かってます。
正規表現は理解できませんが、リンク表記を
弄れるようになりました。
ありがとうございました。<(_ _)>

10531052:2021/10/04(月) 12:33:22
こんにちは。
その3の535がトリップ?で読めませんでした。
他12スレはdat化できました。
https://www.kyodemo.net/sdemo/r/ascii/1540703439/n501-

時間のある時で構いませんので修正お願いします。

10541053:2021/10/04(月) 15:59:02
正しいかは不明ですが以下のようにしましたら変換はできました。
<span\ class="clname|clcap">(.*?)</span>.*? #名前欄
clcap|lname|clcapを先にするとエラーに。難しい。

1055 ◆/vmukiyuzw:2021/10/04(月) 17:22:50
>>1054さん
それエラーにはならないでしょうが変換結果めちゃくちゃになってません?
|(or表現)で文字列を並べるとき、カッコでくくらないといけません。
かつ、ただのカッコだとキャプチャされちゃう(あとで$1,$2`とかで参照される
対象になってしまう)のでそれを避ける表現が必要です。
とりあえず以下のようにしてください。

<span\ class="(?:clname|clcap)">(.*?)</span>.*? #名前欄

1056 ◆/vmukiyuzw:2021/10/04(月) 20:33:43
あと、この例のようなキャップユーザー?のレスって、dat上でも名前欄にfontタグが
ついていて、専ブラで表示しても色が変わるようになってるんですよね。
一応それに準拠するなら、前処理に以下を追加してください。
(気にならないのであればやらなくてもいいと思います。また、色はそのサイトでの
表示に合わせただけで、元のbbspinkのスレでの色とは違うかもしれません)

# キャップユーザーの名前の色を変える
s`(<span class="clcap">)(.*?)(</span>)`$1<font color=#ff8c00>$2</font>$3`g

1057<font color= ◆yCIuSJMu.o:2021/10/04(月) 21:21:11
◆/vmukiyuzwさん、何度もありがとうございます。
訂正 clcap|lname とclcapを先にするとエラーに。難しい。

>>1054の"clname|clcap"を試した時は535だけ読んで変換させ
ましたのでOKだったみたいです。
実際はclnameをclcapに変更して変換させたものを使いました。

JaneDoe View α ( build date: 1507130036 )ではトリップの
色は緑色から変化せずでしたが、JaneStyleではオレンジに
なりました。
本当に助かりました。ありがとうございました。<(_ _)>

1058名無しさん:2021/10/05(火) 09:14:56
ボード一覧取得URLをhttp://menu.2ch.net/bbsmenu.html
変更してカキコ。

10591057:2021/10/07(木) 16:50:03
こんにちは。お世話になっております。
https://www.kyodemo.net/sdemo/r/ascii/1514602063/n851-
ここの897が変換されません。
スレ番が処理されないようで
<strong><a href="897?na" class="button l-button" rel="nofollow">897</a></strong>:
ガンバッテみたのですがこれで良いでしょうか?
前処理の最初でやってみましたが・・・。

前処理:
#897error
s`<strong><a href="[^>]*?([0-9]+).+?</a>`<strong>$1`g

よろしくお願いします。<(_ _)>

1060 ◆/vmukiyuzw:2021/10/08(金) 00:00:33
>>1059さん
対応としては

> 前処理:
> #897error
> s`<strong><a href="[^>]*?([0-9]+).+?</a>`<strong>$1`g

このやり方で問題ないと思います。


ただ、その897番目のレスには、変換が出来てもレス本文として表示できる要素が
何もないですね。変換元のhtmlソースを見ると

https://www.kyodemo.net/sdemo/a/ascii/1514602063/897.gif

に対する<a href〜 タグはあるのですがそれに対応する本文がないので
専ブラでは何も表示できないと思います。
これはhtmltodatとしてはどう対処すべきか全然わからないです。
(bbspinkでの元のレスがどういうものだったのかわからないしそのサイトで
どういう変換ルールでそういうことになったのかもわからない、調べるには相当
大変そう)
なので、とりあえず上のリンクをdatのスレ本文中に貼るので勘弁してもらえませんか?w
私が見る限り多分大した内容ではないのでこのレスで見てもらうだけでも
いいかもしれませんw

1061名無しさん:2021/10/08(金) 00:52:29
おお、これで良かったのか。
◆/vmukiyuzwさん、お忙しいところ時間割いて
下さりありがとうございます。<(_ _)>

元はその画像のAAみたいです。
https://ikioi5ch.net/cache/view/ascii/1514602063/897
(話の広げようが無い・・・w)
ありがとうございました。

1062 ◆/vmukiyuzw:2021/10/08(金) 03:19:10
んんん?そこのサイト(ikioi5ch.net)だと50レス毎区切って
切り貼りしなくても1000レスいっぺんに読めますね?
www.kyodemo.net から取得するより楽なのでは??と思ったら
ID欄がちゃんと取れてないのか。なんか残念な感じですね。

(まあそれ言ったら現5chのread.cgiも、ID周りの昔から積み重ねた
ごちゃごちゃを整理し切れてなくて投げだしてる感じですけどね。
これはhtmltodatにももちろん影響あるんで一言言わずにはいられないw)

1063名無しさん:2021/10/08(金) 06:48:13
おはようございます。

はい。区切らずいっぺんで読めるのですが
ID消えてたんでkyodemoでお願いしました。
性分ですね。w;

1064名無しさん:2022/04/21(木) 15:17:02
こんにちは。
上記https://ikioi5ch.netのソースを元に自分で書いてみましたがうまくいかず…

<div class="post" id="15" data-date="NG" data-userid="ID:LxZOZESx0" data-id="15">
<div class="meta">
<span class="number">15</span>

<span class="name"><b>以下、名無しにかわりましてVIPがお送りします</b></span>
<span class="date">2005/07/28(木) 12:21:41</span>
<span class="uid">ID:LxZOZESx0</span>

</div>
<div class="message">
<span class="escaped">
とりあえずアンカープリーズ </span>


</div>
</div>

メール欄リンクは全てオフの様でしたので
m#<span\ class="number">([0-9]+).+?<span\ class="name"><b>(.*?)</b></span>.*?<span\ class="date">)(.*?)</span>.*?<span\ class="uid">(.*?)</span>.*?<span\ class="escaped">(.*?)</span>#mik
見よう見まねで書いてみましたがやっぱり動きません。
どこが間違っているのかもわからずじまい…

時間のある時で大丈夫ですので、よかったらご教授願えませんか?
よろしくおねがいします。

1065名無しさん:2022/04/23(土) 23:54:47
>>1064さん
お書きになった正規表現をそのまま試してみると

unmatched close parenthesis

というエラーメッセージが出ます。これは正規表現の文法エラーで
「括弧の対応が正しく取れてないよ」と言われてます。

<span\ class="date">) ←この部分の括弧が余分みたいです。

この括弧を消したところ、一応変換はできましたが、名前欄・メール欄・
投稿日欄とかおかしいです。これは、この正規表現では各欄の位置を
正しく認識できてないという事になります。

htmltodatのreadme.txtには、

$1:レス番号
$2:メール欄
$3:名前・トリップ
$4:投稿日・ID
$5:レス内容

となるように正規表現を設定する、とあります。この$1,$2,…というのは
正規表現中に現れる括弧で囲まれたグループ( ([0-9]+) とか (.*?) とかですね)
に順に番号が振られるものになります。
(この辺はreadmeでは説明不足ですね、申し訳ない。あと、なぜそれに合わせないと
いけないのかは私が勝手に決めた仕様だからとしか言いようがないです。まあ当時の
2chのread.cgiの形式になるべく近づけた形なのですが)

で、お書きになった正規表現をみると

$1:レス番号
$2:名前欄
$3:投稿日
$4:ID
$5:レス内容

となってるのをお分かりいただけるでしょうか。
なので、改善すべき点は2つあって
・メール欄に当たるグループを作る
・投稿日とIDのグループを一つにまとめる
という事になるかと思います。
一つ目は割と簡単で、名前欄よりも前に適当に () を入れればいいです。
(グループは順番さえ合っていれば中身は空でも構わない)
二つ目ですが、この https://ikioi5ch.net のhtmlがちゃんとID欄を拾って
くれていれば他に考えようがあったのですが(前処理または後処理で投稿日欄と
ID欄を強引にくっつける等)、意味のないID欄は無視するのがスッキリしていい
のではないかと思います。

<span\ class="uid">(.*?)</span>.*?

の部分をまるっと削除します。
で、その辺を修正した結果は以下です。

m#<span\ class="number">([0-9]+).+?()<span\ class="name"><b>(.*?)</b></span>.*?<span\ class="date">(.*?)</span>.*?<span\ class="escaped">(.*?)</span>#mik


まだ考慮事項があるのですが長くなってきたので次で。

1066名無しさん:2022/04/24(日) 01:26:32
前レスで書いた正規表現ですが、「うふ〜ん」のレスには対応できてません。
( <span\ class="name"> や <span\ class="date"> などの要素がそもそもないため
マッチしない)、
変換後に変換警告で「レスxxx-xxxの間が飛んでいます」のメッセージが出ると思います。

で考えたのですが、前レスで書いた「グループ化(括弧でくくる)」は後ろに ? をつけて
(xxx)? のようにするとそのグループがあってもなくてもよい(正しい用語では0回または
1回マッチする)ようにできるので、名前にマッチする部分と投稿日にマッチする部分を
グループ化して後ろに ? をつけてみました。
括弧をつけてグループ化すると $1,$2…とカウントされる対象になってしまうのですが
括弧の最初を (?: としておくとカウントされないです。
(カウントとか自分用語使ってますが正式には捕獲とかキャプチャとかいうみたい)

で、その部分含め書き直したのが以下。

m#<span\ class="number">([0-9]+).+?()(?:<span\ class="name"><b>(.*?)</b></span>.*?)?(?:<span\ class="date">(.*?)</span>.*?)?<span\ class="escaped">(.*?)</span>#mik


ついでに拡張表現で書くとこんな感じ

m`
<span\ class="number">([0-9]+).+? #レス番
() #メール欄(ダミー)
(?:<span\ class="name"><b>(.*?)</b></span>.*?)? #名前欄
(?:<span\ class="date">(.*?)</span>.*?)? #投稿日
<span\ class="escaped">(.*?)</span> #レス本文
`mikx


…と書いてきたけど>>1064のレス見るとID取れるスレもあるって事なの?
(前はID取れないから別のサイトって話だったのに)
そういうときは具体的なスレのURL書いて欲しかったな…

1067名無しさん:2022/04/24(日) 13:14:14
>>1065-1066
お忙しい中お返事ありがとうございます!
まさかお返事いただけるとは思ってませんでした!

私が今収集しているログは全てIDまで取っているようです。

参考URL
https://ikioi5ch.net/cache/view/news4vip/1136490878

スレのラストが999になっていたり、途中からアンカーが1つズレたりしているので
「うふ〜ん」「あぼーん」等は無かった事にされ、レス番がその分繰りあげられてる…?
初めからURL出しておくべきでした。
申し訳ないです。

やっと理解できてきました。
()の登場順に変数が($1-$5まで)割り当てられるって意味ですね。

序盤にCSSのガラガラが山ほど出てきてエラーが出ますので

s#<style(.|\s)*?</style>##igk

これを前処理に追加した所無事に変換できました!

IDですが、

<span class="number">186</span>

<span class="name"><b>以下、名無しにかわりましてVIPがお送りします</b></span>
<span class="date">2006/01/06(金) 07:08:07</span>
<span class="uid">ID://9DNy9k0</span>

これを前処理で「</span><span class="uid">」を「 (半角スペース)」に置き換え、
実行しようと今朝から今まで試行錯誤しました。

前処理
s#<style(.|\s)*?</style>##igk
s#</span>(\n|\s)+?<span class="uid"># #igk

結果これでうまくいったのでご報告させて頂きます。(色々間違えてると思うのですが)
本当に助かりました!!ありがとうございました!

1068名無しさん:2022/06/23(木) 16:00:53
いつも使わせていただいております。
vipのスレをhtmltodatで変換すると、5chから取得したdatにある書き込み時間とIDの間のスペースが消えてしまいます。
今は手動でスペースを追加していますが、よろしければご対応して頂ければ幸いです。

1069 ◆/vmukiyuzw:2022/06/24(金) 01:59:40
>>1068さん
まず、うまくいかないスレのURLを書いてほしかったです。
「vipのスレ」と言われても、現役スレをhtmltodatを使う必要は
ないでしょうから何らかの形の過去スレであると思われます。
ならこちらで確認する(スレを探す)のは面倒なのはご理解いただけますでしょうか。
現役スレと過去スレが同じcgiで吐かれてるって保証もないので。

でもとりあえず、ニュー速VIP
https://mi.5ch.net/news4vip/ のことでいいんですよね?)
で、いくつかのスレで
>>1011の正規表現等で試してみましたが、書き込み日時とIDの間のスペースが
消える事象はこちらでは確認できませんでした。

1070名無しさん:2022/06/24(金) 13:20:23
>>1069
お返事ありがとうございます!
おっしゃる通りmi鯖の過去スレです。言葉が足らず申し訳ございませんでした。
試して頂きありがとうございます。
事象は確認出来なかったとのことで、私の使ってる変換オプションを>>1011の正規表現等と照らし合わせてみた所、
「透明あぼーんを補う」にチェックが入っておらず、チェックを入れた所、スペースが消える事象は解消されました。

お手数おかけして申し訳ございませんでした。ありがとうございました!

1071名無しさん:2022/09/13(火) 22:47:05
URLコピペしてスレ取得しようとしたら
Socket Error # 10054
Connection reset by peer.
なるエラーが出て取得失敗するようになりました
ネットブラウザからhtmlファイルとして保存はできるので
ローカルに落としたそれをhtmltodatに食わせて凌いでるけど面倒くさいです

これってソフトの設定方でどうにかなるものでしょうか

1072名無しさん:2022/09/13(火) 23:57:49
>>1071さん
こういうお問い合わせには、該当のURLを書いていただかないと
こちらで調べようがないと何度も書いてるのですが、このスレも
いつの間にか20年にもわたりますし1000レスを大幅に超えてますし
仕方ないですかね…

個人的経験でしかないですが
> Socket Error # 10054
> Connection reset by peer.
こういうエラーはたいてい相手サーバーが死んでる時ですかね。
もしくはプロキシ経由で接続しててそのプロキシ死んでるとか。
ローカルプロキシを使う設定にしておきながらローカルプロキシを
起動し忘れてる、なんてのは私はしょっちゅうやります。

1073 ◆/vmukiyuzw:2022/09/14(水) 01:29:16
あれ?トリップ外れちゃったけど>>1072は私です

10741071:2022/09/14(水) 06:53:06
>>1072
質問内容の不備大変失礼しました
また、今に至るも迅速なサポート続けておられることに感謝と敬意を表します

先質問の件ですが、5ちゃんねるの様々な板で試してみたところスレ中に記述してある過去ログのURL全てで同じエラーが返ってくる状態だったので例示に及ばずと勝手に判断してしまいました
代表として一番不便を被ってる市況2のものを抜粋・提示します

https://hayabusa9.5ch.net/test/read.cgi/livemarket2/1663088406/1
より
https://hayabusa9.5ch.net/test/read.cgi/livemarket2/1663077424/

proxyは利用しておらず、ネットはワイモバイルのポケットwifiを使用しています
ネットブラウザ(firefox)ではアクセスできることとの整合性が取れないので質問差し上げた次第です

何かお気づきになりましたらサジェッション頂けるとありがたいです
dat化できない類の問題ではないので本質問は埒外とのことでしたら了解致します

1075名無しさん:2022/09/14(水) 10:11:51
ファイアーウォールでブロックされてるとか?

1076 ◆/vmukiyuzw:2022/09/14(水) 21:38:00
>>1074さん
>>1071のレス内容を見るに、今までその環境で使えていたが
急にエラーが出るようになったということでしょうか?
貴方が自分の環境を変えたのでなければ、やはりサーバー側の
問題である可能性が高いと思うのですが、もしそうであれば
もう解消してませんか?今でもエラー出ますか?

> ワイモバイルのポケットwifi
つい最近、小規模だけどソフトバンク回線の通信障害があったと
耳にしました。たまたまそのタイミングであった可能性は
あるかもしれません。それがこのエラーにつながるのかどうかは
わからないですが。

10771071:2022/09/15(木) 18:47:01
>>1076
ご返信ありがとうございます。先ほど試してみたところ何の問題もなくスレ取得できました。自環境に変更は行っておりません。
症状発生して即1071投稿したわけではなく数日様子見してからの投稿だったのですが、類似の質問・経験談が上がってこない所を見るとレアなケースのようで。

以後トラブル発生の際はもう少し様子見期間を延ばすことを心がけます。
なんともバツの悪い話で申し訳ございませんでした。

1078 ◆/vmukiyuzw:2022/10/20(木) 07:51:34
唐突ですが
「5ch過去ログ倉庫を見やすくするためスレッドキーをタイムスタンプに変えて表示」
てスクリプトを作りました。
http://mukiyu.g.ribbon.to/ の 5chKakologSouko てやつです。

経緯ですが、以前>>1035-1037みたいなやり取りがあって、その中で
>>1036さんに過去ログを探す便利なサイトをご紹介頂き、時々
使っていました。ただ、最近そのサイトはあまりうまく動いてない
みたいです。(過去ログを取りこぼしてることが多い)

で、自分が提案した過去ログ倉庫ですが、確かに見づらく、
>>1037でブックマークレットを書いてみたのですがこの用途には
使い勝手がよくないと思ったので、Chrome等のアドイン
Tampermonkey のスクリプトに書き直してみました。
こういう過去ログの探し方をする方がどれだけいるかわかりませんが
そういう方には役に立つかもしれません。

1079 ◆/vmukiyuzw:2022/10/21(金) 06:50:43
>>1078
で公開したスクリプトですが少し修正しました。

「5ch過去ログ倉庫を見やすくするためスレッドキーをタイムスタンプに変えて表示」
と説明してましたが、スレッドキー(unix timeの9-10桁の数字)も
タイムスタンプちゃうん?という気がして(タイムスタンプの定義は何?て話にも
なりそうで面倒なので)、
「5ch過去ログ倉庫を見やすくするためスレッドキーを年月日時分秒表記に変えて表示」
と、説明を変更することにしました。

スクリプトの処理内容は変更はないのでバージョンは変えてません。
スクリプト内のコメントは変更してます。

1080名無しさん:2023/06/14(水) 05:08:00
失礼します
5chの仕様が変更されたようなので正規表現をお願いできないでしょうか?
それとhttp://mukiyu.g.ribbon.to/が利用不能になっております

1081名無しさん:2023/06/14(水) 20:53:29
ブラウザでスレを表示して右上の設定ボタンから「クラシック」をクリックすると
read.cgiの後ろに「c」ディレクトリが付いてるURLに飛ぶので、このURLにアクセスするようにすれば見れそうですね。

C#版のhtmltodatByFiddler v3.04ベースですが、
OnBeforeRequest.cs.txt

oSession.url = v.g(1) + "/test/read.cgi/" + v.g(2) + "/" + v.g(3) + "/";
の行を
oSession.url = v.g(1) + "/test/read.cgi/c/" + v.g(2) + "/" + v.g(3) + "/";
って感じで「c」ディレクトリを追加してあげれば見れるようになりました。

1082 ◆/vmukiyuzw:2023/06/14(水) 22:38:15
>>1080さん

>>1011を元に修正しました。


コメント:
# 5chのread.cgi 08系からの出力を変換-2023/06/14
# 5chのcgi仕様変更(08.0d)に対応

URLの変換:
# htmltodat 0.11.10以降を使っていればこれはなくてもよい
s#https?://(.+?)/test/read\.cgi/(.+?)/(\d+)/?.*#http://$1/test/read.cgi/$2/$3/#

前処理:
# メール欄にURLが貼られた時のとりあえず対応
s#(<a href="mailto:)([^<>]*?)(?:<a href[^>]*?>)?([^<]*?)(?:</a>)?([^>]*?)(">)#$1$2$3$4$5#ig
# ガラガラ削除
s#^(.|\n)*?<div id="thread"##igk

アンカー削除:
false

透明あぼーんを補う:
true

後処理:
# BE周りの処置
s#</span><span class="be .*?><a href=".*?//be\.(?:[25]ch\.net|bbspink\.com)/user/(\d+).*?>\?(.*?)</a># BE:$1-$2#ig
# アンカータグ削除(レスアンカーに対するタグは削除しない)
s#<a(?: class="image")? href="http.*?>(.*?)</a>#$1#igk
# お絵かき機能等のimgタグを除去
s#<img src=".*?(//.*?)">#sssp:$1#igk
# IDの前に付くようになった不要なタグを除去
s#</span><span class="uid"># #igk
# 07.2.1で追加された不要な要素を除去
s#<><span class="AA">(.*?)</span><>#<>$1<>#igk
s#(target="_blank").*?>#$1>#igk

正規表現:
m`
(?# レス番号)<span\ class="postid">([0-9]+)</span>
(?# 名前)<span\ class="postusername"><b>
(?# メール欄)(?:<a\ href="mailto:(.*?)">)?(.*?)(?:</a>)?</b></span>
(?# 投稿日・ID)</summary><span\ class="date">(.*?)</span>
(?# レス内容)</details><section\ class="post-content">(.*?)</section>
`mix

1083 ◆/vmukiyuzw:2023/06/14(水) 23:20:50
自分が何をやっていたのか思い出すのに苦労しましたw

> >>1011を元に修正しました。

て言っても5年も前ですもんねw

> それとhttp://mukiyu.g.ribbon.to/が利用不能になっております

ribbonネットワーク(ribbon.to)自体つながりません;;
会社自体亡くなってしまったのかも…
この際なのでGitHubあたりへの移動を検討していたのですが
別件で忙しくなってしまい頓挫中です。

あと、書かないといけないを思っていたのですが、
昨年使っていたPCが故障してしまい使えなくなりました。
htmltodatのソースコードはバックアップしていたのですが
開発環境を復旧することができず、今後もうメンテナンスをする
ことはできません。
今更別環境で書き直すようなものでもないし、今後何かの事情で
使えなくなるような状況になっても多分対応できないと思います。
ご了承ください。

1084 ◆/vmukiyuzw:2023/06/14(水) 23:33:17
>>1081さん
情報ありがとうございます。
当面その方法でしのげそうですね。
htmltodatByFiddlerのスクリプトは手元では修正して動くようになったのですが
どうお知らせするかと考えてるところです。

1085 ◆/vmukiyuzw:2023/06/14(水) 23:42:43
プログラミングわかる人向けですが
read.cgi 何々用と並んでる最後 のelse の前に


}else if (oBody.ismatch(@"<div id=""thread""")){ //read.cgi 08用
// htmltodat変換メイン
oBody = oBody.htmltodat(@"<span class=""postid"">(\d+)</span><span class=""postusername""><b>(?:<a href=""mailto:(.*?)"">)?(.*?)(?:</a>)?</b></span></summary><span class=""date"">(.*?)</span></details><section class=""post-content"">(.*?)</section>");
// BE周りの処理
//be.bbspink.comが追加されていたので対応 v3.0
oBody = oBody.replace(@"</span><span class=""be .*?><a href="".*?//be\.(?:[25]ch\.net|bbspink\.com)/user/(\d+).*?>\?(.*?)</a>"," BE:$1-$2");
oBody = oBody.replace(@"<img src="".*?//(img\.[25]ch\.net/.+?)"">","sssp://$1");
//read.cgi 07.0.1 からIDの前に付くようになったタグを除去
oBody = oBody.replace(@"</span><span class=""uid"">"," ");

1086 ◆/vmukiyuzw:2023/06/15(木) 01:57:51
おっと、そのちょっと前に

//datが存在しないなどまっとうなレスポンスでない場合404を返して抜ける(ここはまだ要検討)
if (oBody.ismatch(@"<dl ")||oBody.ismatch(@"(<div|span) class=""number"">")){
}else{
oSession.responseCode = 404;
return;
}

てif文があるんですが、新しいread.cgiではこの条件を通らないので

if (oBody.ismatch(@"<dl ")||oBody.ismatch(@"(<div|span) class=""number"">")||oBody.ismatch(@"<div id=""thread""")){

にする必要があります。

1087名無しさん:2023/06/22(木) 22:22:44
>>1084
お世話になっております。
>>1081の方法だと、5chは見れるようになるのですが、
bbspinkのほうはまだ旧仕様なので、見れなくなってしまいます。。。

1088 ◆/vmukiyuzw:2023/06/23(金) 22:09:01
>>1087さん

htmltodaByFiddler をバージョンアップしました(Ver 3.05)

3.05(2023/06/23)
 ・5chの read.cgi の変更に対応

https://github.com/mikiyu71/htmltodat

今後のリリースはここ(GitHub)で行います。

変更内容は>>1085-1086で書いた内容を反映させたものです。
5chの read.cgi が ver 08 に上がってそれに合わせて枝分かれが
増えた形です。
修正したのは OnBeforeResponse.cs.txt のみです。
この変更を適用するなら、>>1081さんの変更は不要になります。

1089 ◆/vmukiyuzw:2023/06/23(金) 22:55:28
>>1088
ディレクトリ名 はhtmltodat としていますが、見てもらえれば分かりますが
中身は htmltodatByFiddler です。
せっかく GitHub にしたんだから過去の履歴も追えるようにすべきだった
かもしれませんが、面倒すぎるんでアップしたのは最新版のみです。
今後修正が必要になった場合は GitHub 上での履歴としていけると思います。

あと、htmltodat.exe に関しては、>>1083で書いた通り今後アップデートできる
見込みはないので、GitHub にはアップしません。新しくユーザーが増えることも
なさそうですし。
ただ、「ここの正規表現どうしたらいい?」みたいなお問い合わせは今後も
受け付けますのでよろしくお願いします。

1090 ◆/vmukiyuzw:2023/06/24(土) 03:14:03
というか、http://mukiyu.g.ribbon.to/ にアクセスできるようになってるみたい…
(ribbon.to 自体には自分とこからでは相変わらず繋がりませんが)

ここ数日 GitHub へ移すためにやった苦労は何だったんだ…
(いや勉強になったし今後も役立ちますが)

どうしますかね。http://mukiyu.g.ribbon.to/ から GutHub に飛ぶような
リンクを貼るようにするのがいいのかな。

1091名無しさん:2023/06/25(日) 12:05:16
>>1088
1087です。
Ver. 3.05に変更したところ、問題なく見れるようになりました。
ありがとうございます。

1092 ◆/vmukiyuzw:2023/10/11(水) 04:06:42
昨日ちょっと専ブラから5chにつながらないときがあって
chromeから見てたのですが、read.cgiのバージョン表記が

read.cgi ver 07.4.4 2023/10/10

となっていて、なんかバージョン番号が先祖返りした感じですね。
しばらくなくなってたエッチな広告もなんか復活してますし…
とはいえ、htmlの形式自体は >>1082 以降で対応してきた08系と
特に変わりはないようなので問題はなさそうですが。

1093 ◆/vmukiyuzw:2023/12/21(木) 05:43:46
>>1078
のスクリプトなのですが、最近5chの過去ログ倉庫が文字化けだらけで使い物にならん…

と思ってたら運用情報板に「過去ログ見たいならscを使え」みたいなスレが立ってて、
なるほどそういう手もあるかと思いスクリプトを改修してました。
でも 5ch.net と 2ch.sc では同じ板でもサーバ名が違う…
これはスクリプトレベルではどうしようもないので、運用上で回避することを
考えていました。

でも、ここ数日で文字化けは(全板かどうかわかりませんが)改善されたようなので
スクリプト改修の公開は保留にします。

1094名無しさん:2024/02/25(日) 12:58:16
htmltodatでしたらばの過去ログで2012年〜2013年は正規表現の項の「DAT2HTML0.26」で読み込めますが
2013後半〜以降の過去ログ・現行ログを取得する方法はありますか?

例としてここのURLで試しましたが正規表現が正しくないと表示されました
https://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/

>>864氏のprmを試した見ましたがうまくいきませんでした

1095 ◆/vmukiyuzw:2024/02/28(水) 00:41:50
>>1094さん
したらば過去ログの話題は久々ですね、それこそ>>864さんの話題以来かな。
まず、したらばは過去ログと現行ログを分けて考えるする必要があると思います。

過去ログについては昔も今も正規表現「jbbs過去ログ」が使えると思います。例として
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1024130759/
>>864さんもテストに使われたこの板の過去ログ。2002年のもの)
https://jbbs.shitaraba.net/bbs/read_archive.cgi/sports/43156/1700655438/
(したらばトップから適当に探した過去ログ。2023年のもの。ただしレス番飛びが
あるようで警告は出る)
20年を隔てても使えるようですw

現行ログについては以前>>622で考えたことがあるのですが、そのときとは
read.cgiが吐くhtmlの形式がかなり変わっており同じ手は使えないようです。
したらばにはrawmode.cgiという5chのdatと近い形式のデータを返す機能が
あるので、これを使う方向で考えてみました。。
(以前、https://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038409548/124
で考えたことがあるのですが、レス番飛びを検出できないのであまりよい方法ではない)
いざやってみると思ったより面倒でしたが…^^;


コメント:
したらばの現行ログをrawmode.cgi経由で変換する

URLの変換:
s`read\.cgi`rawmode\.cgi`

前処理:
s`(\d+)<>(.*?)<>(.*?)<>(.*?)<>(.*?)<>(.*?)<>(.*?)\\?\n`$1<>$2<>$3<>$4 ID:$7<>$5<>$6<>\n`img

透明あぼーんを補う:
true

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

正規表現:
m`(\d+)<>(.*?)<>(.*?)<>(.*?)<>(.*?)<>(.*?)<>(.*?)`ig

1096 ◆/vmukiyuzw:2024/02/28(水) 00:49:00
>>1095
と長々と書いときながらなんですが、正直言うと
したらばに対応してる専ブラ使う方が絶対楽だと思いますよ。
Xenoとかおすすめです。
上で書いたような、過去ログと現行ログの違いもユーザーが
意識せずとも勝手にやってくれますし。

「いやいや使い慣れたブラウザで見たいんじゃー」
てことかもしれませんが、それならしたらば対応専ブラから
dat持っていけばいいんじゃない?と思います。
ここで質問されてる以上、htmltodatで作ったdatを持って
いくのでしょうから、それを対応専ブラにやらせると考えれば
手間はそれほど変わらないのでは。

10971094:2024/02/28(水) 17:42:11
返信ありがとうございます
作成して頂いたprmでタイトルを取得できなかったものの現行ログのdat化が出来ましたありがとうございます

提示して頂いた過去ログでは「jbbs過去ログ」を試したところ
https://jbbs.shitaraba.net/bbs/read_archive.cgi/sports/43156/1700655438/
ですが私の環境では正規表現が正しくないと表示され返還できませんでした
同様に以下でも試しましたが同じです。おま感でしょうか
https://jbbs.shitaraba.net/bbs/read_archive.cgi/internet/14562/1533538138/

Xenoでしたらばが読み込めるのは盲点でした要は使い分けですね

htmltodatは現状2ch時代の過去ログが閲覧できない状態でも
み○ずんやビュアデモといった所からdat化出来る為大変重宝しております

1098 ◆/vmukiyuzw:2024/02/29(木) 01:35:49
>>1097さん
> 作成して頂いたprmでタイトルを取得できなかったものの

すみません、タイトルを取得できないのは私のミスです。
prmファイル中の

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

これを

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

にしてください(最後の<>が余分だった)。


> 私の環境では正規表現が正しくないと表示され

これはわからないですね。
> 同様に以下でも試しましたが同じです。
とあげていただいたスレもこちらでは変換できましたし。
書かれてないですがこの板(私が例示した一つ目)は変換
できたのでしょうか?
「jbbs過去ログ」の正規表現の内容が違っているのかな?
「jbbs過去ログ」の正規表現は

m#<DT><A.*?>([0-9]+).+?(?:<A HREF="mailto:(.+?)">)?<B> ?(.*?) ?</B>(?:</A>|</FONT>)(?: 投稿日)?: ?(.*?)(?:<BR>)?<DD>(.*) ?<BR><BR>#mik

なのですが、これを直接htmltodatの正規表現欄にコピペして
やってみてもダメですかね?
(これは>>864で書かれた正規表現と同じものなのですが
>>864さんはこれでうまくいったようです)

10991094:2024/02/29(木) 18:36:41
ありがとうございます
何度も御対応して頂き本当に申し訳ない

画像を含めて結果だけ報告します
前提としてソフトは再起動後の状態からそれぞれ試しています

テストその1
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1024130759/
【画像】https://i.imgur.com/Hc9EgZl.jpeg
上記スレでは正規表現一覧内の[jbbs過去ログ]で問題無くdat化する事が出来ました


ノルマンディーOC 【99】
https://jbbs.shitaraba.net/bbs/read_archive.cgi/sports/43156/1700655438/

上記スレでは[jbbs過去ログ]及び[jbbs過去ログ改]と

【m#<DT><A.*?>([0-9]+).+?(?:<A HREF="mailto:(.+?)">)?<B> ?(.*?) ?</B>(?:</A>|</FONT>)(?: 投稿日)?: ?(.*?)(?:<BR>)?<DD>(.*) ?<BR><BR>#mik】
を直接入力及び>864氏のprmも試した所をした所dat化は無理でした
htmlもそのまま出力されてしまっている様です
【画像】https://i.imgur.com/KQwdUVU.jpeg



現行ログの件ですが
【画像】https://i.imgur.com/Ep94tap.jpeg
「$2<>$3<>$4<>$5<>$6」にしてもスレタイを取得できなかった為

やはり私の環境に何かファイルの欠落があるのかもしれません

返信頂きありがとうございました

以下はテスト環境です
htmltodat Ver 0.11.12

エディション Windows 10 Home
バージョン 22H2
インストール日 ‎2021/‎05/‎17
OS ビルド 19045.3930
エクスペリエンス Windows Feature Experience Pack 1000.19053.1000.0

1100 ◆/vmukiyuzw:2024/03/01(金) 01:02:09
>>1099さん
なんとかわかった気がします。

まず過去ログに関してですが、
受信オプション - HTTPヘッダの追加 で

User-Agent: Monazilla/1.00

を指定してみてください。正規表現は「jbbs過去ログ」でいいです。
これで、お試しくださった「テストその1」も
「ノルマンディーOC 【99】」も変換できると思います。
私の環境でうまくいっていたのは、一旦このUAの指定をした後、リセット
しないままテストしていたためと思われます^^;

なぜそういうことになるのかはしたらば側の事情になるので推測に
過ぎないですが、
・(最初のご質問>>1094にあった)多分2013年頃に過去ログhtmlの形式が変更された
・が、User-AgentでMonazillaを名乗るもの
(したらば過去ログに対応していたと思われる専ブラ)
 からのリクエストには影響が出ないよう、元の形式のhtmlを返すようにされた
ということではないかと思います。


あと現行ログについてですが、htmltodatのプレビュー欄には
<タイトル無し>と出てしまうのですが、実際にはdat上には
スレタイはちゃんと出力されてるので、お使いの専ブラ
(何をお使いなのか参考に教えていただけるとありがたいです)
に持っていけばスレタイは認識してくれると思いますよ。
<タイトル無し>と出てしまうのは、通常のhtmltodat変換とちょっと違う
イレギュラーな手法を使ってるせいで、プレビュー欄のタイトルをうまく
取得できていないだけです。
「それ不具合ちゃうん?」と言われるかもしれないですがご容赦ください^^;

11011094:2024/03/01(金) 18:28:19
度々の対応ありがとうございます

助言通りに「User-Agent: Monazilla/1.00」を設定した所
無事にしたらばの過去ログのdat化に成功しました
https://i.imgur.com/yiK9My1.jpeg

本当にありがとうございます!

現行ログのタイトルもしっかり出力されていました
(dat化した後読み込んでちゃんと確認しておくべきでした申し訳ない)


使用していたのは「jane style」でした(dat出力機能が標準で付いていた為)
現在は「Xeno」を使おうと思って色々設定を弄ってる所です

本当にありがとうございました

私事ですが
現状5ch(2ch)界隈でゴタゴタしてて過去ログも見れない状態が続いてるので
この手の知識が無いなりにスレのdat化やサルベージを何とか進めている最中です

現在はonen2chのdat化を試みています
openは対応しているブラウザが多いので読み込めたりしますが
datが消滅しているスレ
https://wktk.open2ch.net/test/read.cgi/aimasu/1477275318/
https://wktk.open2ch.net/aimasu/dat/1477275318.dat
等は専ブラでは読み込めない為色々試している最中です

では長々と失礼いたしました

1102 ◆/vmukiyuzw:2024/03/05(火) 23:43:26
>>1094さんの丁寧なご報告のおかげ🙂でひと段落付いたようなので
現状を一旦prmの形にまとめておきます。これに対するレスは不要です。
まずしたらば過去ログ。


コメント:
したらばの過去ログを変換する
以前は正規表現=jbbs過去ログだけで行けたが
いつからかhtmlの形式が変わり、旧形式のhtmlを得るには
UAを指定する必要が出てきたようだ

HTTPヘッダの追加:
User-Agent: Monazilla/1.00

正規表現=jbbs過去ログ

1103 ◆/vmukiyuzw:2024/03/05(火) 23:46:54
次にしたらば現行ログ。
前に書いたものに若干のバグがあり少し修正してます。
まあ実験的なものであまり使われることはなさそうですが。


コメント:
したらばの現行ログをrawmode.cgi経由で変換する
・前処理
したらばのrawmode.cgiの出力は
レス番<>名前<>メール欄<>投稿日時(ID含まない)<>レス内容<>スレッドタイトル<>ID
なのでID($7)を投稿日時($4)の後ろに移す
・正規表現
各欄にそのまま当てているだけだが処理中に$1でレス番飛びのチェックをしているので必要

URLの変換:
s`read\.cgi`rawmode\.cgi`

前処理:
s`(\d+)<>(.*?)<>(.*?)<>(.*?)<>(.*?)<>(.*?)<>(.*?)\\?\n`$1<>$2<>$3<>$4 ID:$7<>$5<>$6 <>\n`img
# IDがない板の場合削除
s` ID:<>`<>`img

透明あぼーんを補う:
true

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

正規表現:
m`(\d+)<>(.*?)<>(.*?)<>(.*?)<>(.*?)<>(.*?)<>(.*?)`ig

1104名無しさん:2024/04/02(火) 11:34:48
>>1080から5chの仕様が変更されたようなので正規表現をお願いできないでしょうか?
#メールが空欄になってしまい、すべてのレスが”壊れていますになり、日付が取得されません、
#03/31に変更?k"

1105 ◆/vmukiyuzw:2024/04/03(水) 03:02:34
>>1104さん
修正箇所はすぐわかったのですが別件で手こずってました…
その件はまだ片付いてないのですがとりあえず。

HTMLソース見てみると、各レスのメール欄と投稿日欄の間に
「垢版」という謎のリンク(5ch運営が推してるUPLIFT?に
関連してるぽい)が追加されたので、以前の正規表現では
マッチしなくなってます。それ以外に変更はなさそう。
追加部分にぴったりマッチさせる正規表現書いても良かった
のですがまだ変更ありそうな気がしたので
</summary><span\ class="date">の前に.*?(何文字でもいい
最短マッチ)を追加するだけにしました。


コメント:
# 5chのread.cgi 08系からの出力を変換-2024/04/03
# 5chのcgi仕様変更(07.4.7 2024/03/31)に対応

URLの変換:
# htmltodat 0.11.10以降を使っていればこれはなくてもよい
s#https?://(.+?)/test/read\.cgi/(.+?)/(\d+)/?.*#http://$1/test/read.cgi/$2/$3/#

前処理:
# メール欄にURLが貼られた時のとりあえず対応
s#(<a href="mailto:)([^<>]*?)(?:<a href[^>]*?>)?([^<]*?)(?:</a>)?([^>]*?)(">)#$1$2$3$4$5#ig
# ガラガラ削除
s#^(.|\n)*?<div id="thread"##igk

アンカー削除:
false

透明あぼーんを補う:
true

後処理:
# BE周りの処置
s#</span><span class="be .*?><a href=".*?//be\.(?:[25]ch\.net|bbspink\.com)/user/(\d+).*?>\?(.*?)</a># BE:$1-$2#ig
# アンカータグ削除(レスアンカーに対するタグは削除しない)
s#<a(?: class="image")? href="http.*?>(.*?)</a>#$1#igk
# お絵かき機能等のimgタグを除去
s#<img src=".*?(//.*?)">#sssp:$1#igk
# IDの前に付くようになった不要なタグを除去
s#</span><span class="uid"># #igk
# 07.2.1で追加された不要な要素を除去
s#<><span class="AA">(.*?)</span><>#<>$1<>#igk
s#(target="_blank").*?>#$1>#igk

正規表現:
m`
(?# レス番号)<span\ class="postid">([0-9]+)</span>
(?# 名前)<span\ class="postusername"><b>
(?# メール欄)(?:<a\ href="mailto:(.*?)">)?(.*?)(?:</a>)?</b></span>
(?# 投稿日・ID).*?</summary><span\ class="date">(.*?)</span>
(?# レス内容)</details><section\ class="post-content">(.*?)</section>
`mix

1106名無しさん:2024/04/03(水) 20:12:10
>>1104さん、ありがとうございました。
ただし、以下が失敗します
http://kes.5ch.net/test/read.cgi/operatex/1690139851/5.75.101

1107 ◆/vmukiyuzw:2024/04/03(水) 21:29:08
>>1106さん
「失敗します」とは具体的にはどういう状況でしょうか?
こちらでは問題なく(いや、本当はスレタイが取れないという問題が
あるのですがそれはまた改めて)変換できているようなのですが。

例示いただいたレス番はどれも名前欄に🐙(蛸マーク?)が
含まれているようですがこれの表示で問題が起きてるってことですかね?
差し支えなければお使いの専ブラ教えてください。

1108名無しさん:2024/04/04(木) 12:08:02
>>1107>さん
04/03は”壊れています”が出ました(メール欄なし、日付取得不可)
04/04朝現在は名前欄にタコ(<span>🐙</span>)が含まれて正しく変換されます
(JaneViewを使用してます)

1109 ◆/vmukiyuzw:2024/04/04(木) 22:57:30
>>1108さん
えっと、昨日はうまくいかなかったけど今日はうまくいったと???
結局うまくいったということでいいんでしょうか…?^^;

専ブラの種類をお聞きしたのは名前欄の<SPAN>タグや数値文字参照に
対応してないものがあるのかなと思ったからです。Viewだと問題ない
はずですね。

あと>>1107で書いた「スレタイが取れない」問題ですが、
>>1105で書いたprm内容のうち、前処理の

# ガラガラ削除
s#^(.|\n)*?<div id="thread"##igk

(HTMLソース先頭からレス1の直前までを削除する意図)
のせいで、<title>〜</title>を削除してしまうという凡ミスを
やっちゃってました。ですがこれは>>1105の元にした>>1082から
起きていたはずなんですが…
ともあれ、「先頭からレス1の直前までを削除」を
「</title>タグの直後からレス1の直前までを削除」するように
変更します。


コメント:
# 5chのread.cgi 08系からの出力を変換-2024/04/04
# 5chのcgi仕様変更(07.4.7 2024/03/31)に対応
# 前処理のガラガラ削除でスレタイを削除してしまうバグを修正

URLの変換:
# htmltodat 0.11.10以降を使っていればこれはなくてもよい
s#https?://(.+?)/test/read\.cgi/(.+?)/(\d+)/?.*#http://$1/test/read.cgi/$2/$3/#

前処理:
# メール欄にURLが貼られた時のとりあえず対応
s#(<a href="mailto:)([^<>]*?)(?:<a href[^>]*?>)?([^<]*?)(?:</a>)?([^>]*?)(">)#$1$2$3$4$5#ig
# ガラガラ削除
s#(</title>)(.|\n)*?<div id="thread"#$1#igk

アンカー削除:
false

透明あぼーんを補う:
true

後処理:
# BE周りの処置
s#</span><span class="be .*?><a href=".*?//be\.(?:[25]ch\.net|bbspink\.com)/user/(\d+).*?>\?(.*?)</a># BE:$1-$2#ig
# アンカータグ削除(レスアンカーに対するタグは削除しない)
s#<a(?: class="image")? href="http.*?>(.*?)</a>#$1#igk
# お絵かき機能等のimgタグを除去
s#<img src=".*?(//.*?)">#sssp:$1#igk
# IDの前に付くようになった不要なタグを除去
s#</span><span class="uid"># #igk
# 07.2.1で追加された不要な要素を除去
s#<><span class="AA">(.*?)</span><>#<>$1<>#igk
s#(target="_blank").*?>#$1>#igk

正規表現:
m`
(?# レス番号)<span\ class="postid">([0-9]+)</span>
(?# 名前)<span\ class="postusername"><b>
(?# メール欄)(?:<a\ href="mailto:(.*?)">)?(.*?)(?:</a>)?</b></span>
(?# 投稿日・ID).*?</summary><span\ class="date">(.*?)</span>
(?# レス内容)</details><section\ class="post-content">(.*?)</section>
`mix


新着レスの表示


名前: E-mail(省略可)

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

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

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

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