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

テストその2

1名無しさん:2002/11/28(木) 00:05
テストその2

2名無しさん:2002/11/28(木) 00:06
あげ

3名無しさん:2002/11/28(木) 00:07
さげ

4名無しさん:2002/11/30(土) 01:58
sage

5名無しさん:2002/11/30(土) 02:08
test

6名無しさん:2002/11/30(土) 02:11
test

7名無しさん:2003/05/07(水) 21:31
m#<DT><A.*?>([0-9]+).+?<B>(?:<A HREF="mailto:(.+?)">)?(.*?)(?:</A>)?</B></FONT> :(.*?)<DD>(.*)<BR><BR>#mi

8名無しさん:2003/05/14(水) 22:45









9名無しさん:2003/05/18(日) 02:55
作者様WEBサイト: http://mukiyu.hp.infoseek.co.jp/

10名無しさん:2003/07/15(火) 22:44
てす

11</b><font color=#FF0000>(L44UP/ps)</font><b>:2003/07/15(火) 23:07
なんでだろう?
ここには書けるのに本スレには書けない・・・

12</b><font color=#FF0000>(L44UP/ps)</font><b>:2003/08/15(金) 01:39
Jane用のログ移動ツールを作ってみました。コソーリ公開

13名無しさん:2003/08/25(月) 15:17
test

14名無しさん:2003/12/09(火) 18:22
てすと

15名無しさん:2004/08/26(木) 11:12
jbbs.shitaraba.comで取得した過去ログを
jbbs.livedoor.comに変換したいんですがどうしたら良いでしょうか?

16</b><font color=#FF0000>(L44UP/ps)</font><b>:2005/02/28(月) 20:10:36
新規スレッド作成を一番下に持っていく方法をやっと発見w

17</b><font color=#FF0000>(L44UP/ps)</font><b>:2005/03/23(水) 01:35:07
147はなんかの誤爆かな?
リンク先見ても意味わからないんですけど。
悪いけど削除します。

18トリップ無いけど作者:2005/04/26(火) 20:26:32
今月に入ってからhtmltodatスレがやたら延びてるのは何故だろう?
何か原因知ってる人いますか?

19 ◆/vmukiyuzw:2005/05/27(金) 22:41:33
JBBSでの透明あぼーんの仕方がやっとわかった。
でも頻度から見て対応すべきだろうか?
とりあえず保留。

20名無しさん:2005/08/30(火) 17:11:12
test

21 ◆OSAp.AesJU:2005/09/06(火) 21:48:34
ちょっと書き込みテストm(_ _)m

22名無しさん:2005/09/07(水) 00:01:59
test

23名無しさん:2005/09/07(水) 17:17:26
aaaaaaaaaaa

24 ◆/vmukiyuzw:2005/09/07(水) 20:46:00
なんか意味のない書き込みを繰り返してる方が若干いらっしゃいますが
ここはそういう掲示板ではないので、続けられるようだと容赦なく
リモホ晒した上でアク禁にしますよ。

25ID:"cdquxspte8rqn@HG":2005/09/18(日) 19:12:06
Nickname:"cyber0099"
私はパンヤでチートしています。

CYBER
CYBER-A1
Microsoft Windows XP
CYBER

55383-646-4542535-23682
192.168.1.2

そんな私はハンゲ厨です。

�|����2�|��|��|

26 ◆/vmukiyuzw:2005/09/21(水) 10:33:38
作者自ら200ゲットしてしまったw
しかし最初に作ってからもうすぐ3年かあ。月日の経つのは早いですね。
まあこれからもマッタリやっていきます。

27 ◆/vmukiyuzw:2005/09/29(木) 01:27:19
うはwwwwwwwwwwwwww今日一日でダウンロード数100超えてるwwwwwwwwwwwテラウレシス
こんなことは初めてです
皆様ご愛顧ありがとうございますm(_ _)m

28 ◆/vmukiyuzw:2005/09/30(金) 20:56:32
be鯖へのHTTPリクエストが http/1.1 500 Internal Server Error になってしまう
件について調べていたのですが、リクエストのパラメータをいろいろ変えてみても
どうしてもエラーが消えない・・・。
最後にまさかのまさかと思いつつ、User-Agent をIEと全く同じにしてみたらなんと
エラーが消えました。
UAの違いでInternal Server Errorが出る鯖っていったい何者だ?どんな設定
してるんだろう・・・

29 ◆/vmukiyuzw:2005/09/30(金) 22:17:42
9x系のクライアントだと正規表現欄やHTMLソース欄の右端が欠けてしまって
編集不能になる件ですが、使用しているコンポ(拡張 Memo & RichEdit コンポーネント)
で、右端での折り返し長さを適切に設定しておかないといけなかったようです。
とりあえず、9x系でも全部が表示できるような長さに設定してみました。

30 ◆/vmukiyuzw:2005/10/06(木) 21:08:55
> 名前欄とメール欄の位置が逆になっているHTMLに対応するため、メール欄逆転
> 機能を実装。
についてですが、663さんのjavascript版では変換結果の式自体を指定するように
なっていましたが、本家(?)としては、若干UIが複雑になってしまうと思ったのと、
現実に問題になるのは名前欄とメール欄の位置が逆になるケースくらいだろうと
思ったので、オプションで指定する形にしてみました。
まあ、これ以外で対処できないケースが出てきたらまたそのとき考えるということで。

31663:2005/10/12(水) 19:25:40
mukiyuさんに御紹介頂いたので、ずっと未完成のままでしたが
javascript版のhtmltodatを何とかとりあえずの形にしてみました。

http://www.geocities.jp/mirrorhenkan/htmltodat/

大したスクリプトではありませんが、此方を見ておられる方々が
「それって何だ」と思っておられると思いますので(変な言い廻しですが)
こういうものです という事で。。

32 ◆/vmukiyuzw:2005/10/13(木) 00:22:22
>>31
なかなかいい感じになっているではないですか。
# ちなみに、663さんて何者だ?と思っておられる方のためにご紹介
# http://yy14.kakiko.com/mirror/

でもまあ本家のアドバンテージは
・正規表現が選択式であること(かつ自力でカスタマイズできること)
・一括変換ができること
だと思っているので、この辺をjavascriptでやるのは難しそうですね。
(というか、その辺を出来るようにしたいから、もともとperlでやっていた
ことをdelphiで書き直したという経緯もあったりする)

それはともかく、私のほうもバージョンアップ真っ最中です。
ほぼ形にはなりましたがかなり修正したんでreadme修正するのが
めんどくせー^^
まあ数日中にはリリースします。

33 ◆/vmukiyuzw:2005/10/13(木) 20:53:38
さて、次はgzip対応かな・・・
実のところ、HTML取得には、Indyを使うほど細かな制御はしてないなということに
気づいたので、IEコンポ使う方向に変えようかなと思ってます。

34 ◆/vmukiyuzw:2005/10/14(金) 21:42:01
とりあえずgzip対応できました。
IEコンポに逃げようとしたのですがこれはこれで結構難しく
(昔VBで扱ったときは簡単な気がしたのになあ)、結局
Janeやギコナビのソースを参考にしまくって対応しました。

さて、次は変換オプションのファイル保存・呼び出し対応か・・・

35 ◆/vmukiyuzw:2005/10/15(土) 02:24:01
なんか知らないうちにjbbsの掲示板の一番下に
「掲示板管理者へ連絡」とかついてる・・・
これでメールでの問合せとか増えたらなんかやだなあ・・・

36 ◆/vmukiyuzw:2005/10/17(月) 18:00:41
http://pc7.2ch.net/test/read.cgi/software/1125352202/22
みたいな声も出てたのでとりあえずgzip対応版をUPしましょうかね。
変換オプション周りはもう少し考えたいので。

37 ◆/vmukiyuzw:2005/10/26(水) 02:12:39
文字コードの自動判別を実装すべく研究中。
HTTPでの文字コードの指定方法としては
1.MIMEヘッダの中でcharsetパラメタを用いて情報を指定する方法
2.HTML文書の中でMETAタグを用いて情報を指定する方法
の2通りがあって、RFC的には1.が本来あるべき方法であり、2.はあくまで
補助的なものであるらしい。

・・・けど、(少なくともhtmltodatでは)実用上は2.だけ気にしてればいいような
気がする。1.と2.が食い違っていて問題になるようなケースに出くわしたことが
無いだけかもしれないけど。
ファイルに保存したHTMLだとどのみち2.しか使えないというのもあるし。

38 ◆/vmukiyuzw:2005/11/01(火) 21:56:44
ぐぐっていたらこんなブログ見つけた。
ttp://d.hatena.ne.jp/sskm/20051018
htmltodatサポスレに書いてくれたら一発で解決しそうなのに・・・
(とコメント書こうとしたけどユーザー登録しないとコメント書けないみたいなんで
面倒なんでやめたんですが)

39 ◆/vmukiyuzw:2005/11/13(日) 00:31:42
修正するにはしたけどテストするのが面倒くさい・・・
(とプログラマとしては最低のセリフを吐いてみたりする)
ドキュメント修正するのも面倒だし・・・
ちょい体調がイマイチなせいでモチベーションも下降気味です

40 ◆/vmukiyuzw:2005/11/18(金) 01:20:21
test

41 ◆/vmukiyuzw:2005/11/19(土) 01:40:49
この板を作った経緯等についてちょっとメモっときます。

昔、JaneがまだJBBSやまちBBSに対応してなかった頃、ソースは公開されていた
ものの、当時はdelphiで弄って対応できる自信がなかったので、仕事で使っていた
Javaでプロキシソフトを作成して読み書きできないか実験していました。
その実験のために作ったのがこの板です。
(その痕跡が過去ログの「テストその1」スレに残ってます。SJISの機種依存文字を
EUCに変換できるか試していたものです)

で、何とかそれなりの形にはなったのですが、もたもたしてる間にJaneも進化して
JBBS等にも対応してしまったので、世に出す機会がなくなりました。
(あくまで実験用だったので設定とかが難解で実用的じゃなかったのもありますが)
でもそのソフトでも正規表現でdat変換とかやっていたので、これだけでも取り出して
単独のソフトにしてみたら多少は使い道があるかも、と思って作ったのがhtmltodat
です。Janeのちょこっとした改造ならやったことあるのですが、一から作ったのは
delphiでは初めてだったりします(なので未だに初心者レベルなのです^^;

で、サポートスレが必要だなと思ったのですが、2chに立てるほどのニーズはないな
と思ったので、この板を流用しちゃおう、ということで現在に至ります。

42 ◆/vmukiyuzw:2005/11/21(月) 02:09:54
いまさらの話が続きますが、BREGEXP.DLLて勝手に配付していいのかな?
(フリーメールを読むためにJupiter 5てのを使ってるんですがBREGEXP.DLLが
同封されているのに最近気づきました)
作者のBaba氏に確認とか取らなきゃいけないのかな?
・・・でもよく考えてみるとASPを使ってるサイトなんてほぼ確実に使ってますよね。
次からhtmltodatに同封してもいいのかなとか思っています。

43 ◆/vmukiyuzw:2005/11/21(月) 02:25:33
>>42
・・・と書いてからBASP21のサイトを見に行ったら、FAQのページに
思いっきり再配付OKって書いてました・・・
次から同封するようにしますね。これでちょっとインストールの敷居が
低くなってくれると嬉しいんですが。

44 ◆/vmukiyuzw:2005/11/26(土) 22:24:45
メモ
m#<dt><a href.*?>([0-9]+)</a> :<span .*?>(?:<span title=(.*?) class=sage>|<a href="mailto:(.*?)" class=mailto>)?(.*) (?:</a>|</span>)?</span> :(.*?) <br><dd> *?(.*?) <br> *?<br> *?(<a name.*?>|</tl>|</dl>)#mi

45 ◆/vmukiyuzw:2005/12/03(土) 00:53:02
スレの1からdat名を割り出すモジュールはまあそれなりに出来たのですが
これを組み込むのが意外と細かいとこで面倒・・・
通常の変換と一括変換両方ありますしね。まあプログラミング的には簡単
なんでしょうけどあまり面白くはなくて気が向かない、て感じです。
まあ、今週末は予定があって時間が取れないですが来週中には何とか、
てところで。

46 ◆/vmukiyuzw:2005/12/11(日) 21:58:29
しかしまあ、subject.txt作成なんておまけに気まぐれでつけたような機能なのですが
使ってる方は結構いらっしゃるみたいですね^^;
readmeにも使用用途もろくに書いてないのに・・・
まあ作者としては有難いことではありますが。

47 ◆/vmukiyuzw:2005/12/31(土) 14:53:25
メインマシンが故障・・・(液晶バックライトが切れただけみたいですが)
仕方なくサブマシンを起動すると、長い間放置していたせいか、
セーフモードですら起動しない状態・・・やむを得ずOS再インストール。
必要最小限のファイルとアプリだけコピーしてやっと今に至ります。
まったく、大晦日だってのに何やってんだか・・・

で、サブマシンに開発環境を構築するのも難儀なので、修理に出して
返ってくるまで(2週間くらい?)何も手出しできない状態となると
思います。あしからず。

48 ◆/vmukiyuzw:2006/01/03(火) 23:42:48
帰省より復帰。
うちの実家の正月は、がめ煮(一般的には筑前煮と呼ぶものです)を
大量に作る習慣で、美味しいです。いっぱい食べてきました。
甥っ子(5歳)とプロレスごっこで遊んで、意外と強いので汗をかきましたw
あと、任天堂DSで脳年齢チェックしました。62歳でした・・・orz

・・・まあそんなことはさておき、結局「2006/01/01 08:59:60」が表示された
スレは存在したのでしょうか?
今更ながらググってみたら
http://qb5.2ch.net/test/read.cgi/operate/1121886018/674
みたいなレスを見かけたんで、多分なかっただろうと思うのですが。
(イタズラのためだけにbbs.cgiを弄るにはかなりデリケートな部分ですし)

49 ◆/vmukiyuzw:2006/01/05(木) 21:54:32
659さんの掲示板
http://jbbs.livedoor.jp/bbs/read.cgi/computer/21256/1116159529/417
で紹介されていたウィンドウズデベロッパーマガジンを買ってきました。

正直、UTF-8についてはあまり詳しくは知らなかったので、勉強になりました。
文字コード自動判定のVB版コードが載っていましたが、delphiに翻訳するのも
そんなに難しくはなさそうなので、htmltodatに組み込んでみようかなとか
思ってます。今は>>47の通り開発環境が手元にないので何もできないですが。

# しかし、システム屋の最前線から離れてサンデープログラマになってから
# しばらく経つのですが、知らないキーワードがいっぱいで参りました・・・。
# Oracleも10gとか出てるし(てかgが何の略なのかわからない

50 ◆/vmukiyuzw:2006/01/07(土) 19:04:05
http://yy14.kakiko.com/test/read.cgi/mirror/1114936246/437
本家であることを主張しておかないとと思ったので。

・・・というのは冗談で、なんか厨房臭くて恥ずかしいなと思うように
なってきた、というのが理由です。
# 話は飛びますが同様の理由でえまのんのUIとか嫌いです。
# Janeのトレース画面もちょっとだけ嫌です。

51 ◆/vmukiyuzw:2006/01/10(火) 01:18:31
うーむ、直レスするには多少差し障りがある内容を含んでるかなと思ったので
ここでこっそり書いたつもりなのですが、しっかりチェックされてますね^^;
# 659さんのレスは正直言うと意味がわからなかったですが

htmltodatも初期のバージョンではエラーメッセージとかかなり厨房臭かったです。
(使ってくれる人がそんなにいるとは想定してなかったので)
v0.1.0(2003/04/21)「エラーメッセージ等微修正」のあたりでかなり直した記憶が
あります。
「のようなもの」については、正直ついてることさえ忘れていて、
http://jbbs.livedoor.jp/bbs/read.cgi/computer/1929/1038588508/218
のレスで気づいてそのうち取ろうと思っていました。
まあ未だにあまり洗練されたUIとは決して言えないので、他アプリのUIをどうこう
言える立場ではないなと多少反省している次第です。今年は多少は向上できたら
いいなと思ってはいるのですが。

# おまけ・・・私の作ったソフトでバージョン毎のダウンロード数が一番多いのは
# 実はJaneLogMover0.0.3である。これってトリビアになりませんか?(なるかよw

52 ◆/vmukiyuzw:2006/01/10(火) 02:08:24
>>51書いてから気づいた・・・JaneLogMoverにも「のようなもの」付けちゃってる.。
でもこっちは特にバージョンアップの要望とか予定とかないしなあ・・・
バージョン変えずに「のようなもの」だけ取るのもありかも知れませんが。

53 ◆/vmukiyuzw:2006/01/17(火) 23:28:50
http://jbbs.livedoor.jp/bbs/read.cgi/computer/21256/1116159529/512
そういうことではないと思います。プレビュー欄はIEコンポ使ってるのでコピペも
ソースの表示とかも出来ますし。

・・・しかしヒントにはなりました。
元HTMLとプレビュー欄のHTMLの両方を適当なエディタ(できれば正規表現が
使えるもの)でソース表示して、不要な部分を削除して、コンペア(これも大概の
エディタではできるはず)すればいいのではないかと。
まあ面倒っちゃ面倒かもしれませんが。

54 ◆/vmukiyuzw:2006/01/24(火) 02:11:10
229.167.150.220.ap.yournet.ne.jp アク禁にしました。(って見ちゃいないでしょーけど)

55 ◆/vmukiyuzw:2006/01/24(火) 02:20:46
理由書き忘れた。
業者スレ立てを繰り返しているので。

ついでに、この板の新規スレ立て自体、現状では不要かなと思うのでとりあえず停止しました。
必要があるなら(ないと思いますが)ここでご連絡を。

56 ◆/vmukiyuzw:2006/02/04(土) 21:05:59
http://yy14.kakiko.com/test/read.cgi/mirror/1114936246/479
自分では「ctrl+v」以外使うことはまずないので全然気づきませんでした。
で、質問してみたのですが
http://pc8.2ch.net/test/read.cgi/tech/1138370150/114-115
自力で実装するしかないようです。
まあサンプルは見つけたのでぼちぼちとやります。

57 ◆/vmukiyuzw:2006/03/04(土) 23:04:51
たまたま見つけたのですが
ttp://kataemariwe25.dw.land.to/test/read.cgi/daddycool/1119634579/
の562,570
この頃には「read.cgi7.00?」に若干の不具合があったのでその影響ですかね
まあ半年以上も前の話なのでどうしようもないんですが

58 ◆/vmukiyuzw:2006/03/30(木) 00:54:00
663さんのミラー変換機がネトランに載ったそうで(おめでとうです)
それはいい事なんですが跳ね返りでここに厨房が沸いてこないか不安です(自意識過剰かな)
対処できる自信がないので・・・

59 ◆/vmukiyuzw:2006/04/08(土) 00:13:04
htmltodatが簡易ブラクラチェッカーとして使えることに気づいて
そういう使い方がメインな今日この頃w ←てかさっさと更新しろよ

60 ◆/vmukiyuzw:2006/04/18(火) 01:52:39
http://pc7.2ch.net/test/read.cgi/software/1143611320/360-362
やっぱ見た目ごちゃごちゃしてると言われるのは仕方ないです・・・
メニューバーを付けて使用頻度の少ないものをまとめればばもう少し
整理できそうな気もするんですがそれはそれでアクションが増えて
しまいそうのでどうしたもんかってのが考えどころです。

61 ◆/vmukiyuzw:2006/05/28(日) 02:49:42
htmltodatの前処理wコマンドの拡張についてですが・・・
もともと単に前処理のデバッグ機能的に付けようと思ったのですが、前処理を付けてしまった(?)た副作用で
いろいろできるようになったんで、ストリームエディタ的な使い方が出来てもそれはそれで面白いかなと思ったので・・・

で、こういうことになってしまった次第です。ほんと気まぐれで、本来のhtmltodatの用途とはほとんど関係ないです。
が、こういう用途にも使ってもらえるとそれはそれでいいかなと(て使いたいという人がいるのかという気がしますが)
て感じです。

62 ◆/vmukiyuzw:2006/05/28(日) 22:23:11
なんか最近業者がよく来るのでしたらばのカテゴリーに公開しないようにしました。
(そこから検索して来るお客さんはほとんどいないと思うので)
でもしたらばのカテゴリ名は数字の連番(うちの板は1929)なんで番号をたどって
来るような人には対処のしようがないです。あーうっとうしい・・・

63 ◆/vmukiyuzw:2006/07/10(月) 00:13:58
http://jbbs.livedoor.jp/bbs/read.cgi/computer/21256/1116159529/792

まあ正直言ってしまうと、別に具体的なURLが知りたいという意図ではなく
「調べればわかるだろうけどお前の態度が気に入らない」ってとこですかね
まあ基本的には人間小さい奴ですから

64 ◆/vmukiyuzw:2006/07/10(月) 00:53:02
誤解を招かないように一応
> お前の態度が気に入らない」ってとこですかね
もちろん659さんのことではなく332の人のことです
とはいえちょいと言いすぎかなと若干反省。

65 ◆/vmukiyuzw:2006/07/16(日) 21:23:52
http://yy14.kakiko.com/test/read.cgi/mirror/1114936246/705,707
proxomitron以外でもHTTPヘッダを見られるツールはありますが
とりあえず一番メジャーかなと思って名前を挙げただけです
個人的にはヘッダと内容を両方モニタできる某ツールを併用してます

HTTPヘッダの情報なんて、自分で通信アプリを作ろうとか
いう人以外にはほとんど意味の無いものかも知れませんが
一応詳細は以下など
http://www.studyinghttp.net/cgi-bin/rfc.cgi?2616

66 ◆/vmukiyuzw:2006/07/22(土) 01:19:40
http://yy14.kakiko.com/test/read.cgi/mirror/1114936246/712

>> てかいっそxyzzyでhtmltodat的処理を書いてしまうというのはどうでしょう?
> ここここれはわわわ私に言っててるのですすかかか

そうです。まあお時間があればでいいですがw
というか自分的にはhtmltodatはなるべく汎用性を目指したいと思って作ってきた
つもりですが、そこにこだわらなければどんなツールでもhtml→dat変換は出来る
はずなんです。別に正規表現とかも必須では無いですし。
なので、他に手段があるのであればそれでやればいいじゃないのという考えです。

67 ◆/vmukiyuzw:2006/08/29(火) 00:46:39
http://yy14.kakiko.com/test/read.cgi/mirror/1114936246/757-758
以下ほとんど独り言なのでこちらに書きます

> s#<a href="read.php?host=[^>]+?>(\d+)</a>#$1#g
「[^>]+?>」は多分単に「.+?>」でいけるはずです

何故こんな細かいとこに言及するかというと、まあsedやawkしかない
時代から正規表現と付き合ってきたというのがあって、perlの正規表現
(という言い方も正確なのかどうかわからない。正規表現の種類にバージョン
番号とかあればいいんですが)にはsedやawkにはない最短一致というのが
あるというのを知って、これは便利だと思ったわけです。
(昔の正規表現には最長一致しかなかった)
# ちなみに、最長一致というのは文字列を検索していってマッチする一番遠い
# ところを探す、最短一致は逆に一番近いところを探す、てな意味です

何が便利かって、まさにHTML文書を検索するようなケースで、HTMLってのは
基本的にはタグが「<」と「>」のペアで出てくるので、「<」が出てきたら次の「>」
までを検索したいケースが多いと思うのです。でも正規表現のデフォルトだと
最長一致になってしまうので、まさに上で書いたような「[^>]*>」(意味的には
一番近い「>」を探す)みたいな書き方を多用せざるを得なくなるのです。
そういう意味で最短一致「.*?」とか「.+?」みたいな書き方が出来るのは非常に
便利だしわかりやすくもあるので使える局面なら是非使うべきだと思うわけです。

68 ◆/vmukiyuzw:2006/08/30(水) 01:58:11
たまにはどうでもいい話題など・・・

今日、エアコンからいきなりポタポタ水が漏れてきたのです。
「やばい、故障か?」と思ったのですが、とりあえず2chの
家電製品板に行くと、見事にエアコン修理に関するスレが
あったのです。
そこを見てなんかいろいろやってみたらとりあえず直ったような・・・
まあまだわからないので修理を呼ばないといけないかもですが
とりあえずにでもすぐに情報が得られて対処できたのは
便利な時代になったもんだな〜と思った次第です

69 ◆/vmukiyuzw:2006/10/28(土) 03:58:16
数日前からVIP板の投稿日が

 佐賀暦2006年,2006/10/27(佐賀県と汚職) 19:43:23.16

みたいなことになっちゃってるので、
htmltodatの「レス1の投稿日時からdatファイル名を取得する機能」に影響がないか一応確認。

実はこの投稿日時を抜き出す処理自体、内部的には正規表現を使っていて、

 m#^.*?(\d*/\d*/\d*).*? *(\d*:\d*(:\d*)?)#

こんなパターンでマッチさせてたりします。
で、2回出てくる .*? が佐賀うんぬんの部分にマッチしてくれるため、問題は発生しませんでした。


ところで、影響うけてるものもあるようで。
http://jane.s28.xrea.com/test/read.cgi/bbs/1160222864/385,388

Jane Styleには「n日以内の新着レスからXX個までの画像を自動で開く」という機能があるのですが
「n日以内の〜」の判定は投稿日時欄を見るしかないと思うので、多分佐賀暦に邪魔されてるのかなと。
ってhtmltodatでも 2006/03/32 でやられましたし他人事には思えなかったりします。

70 ◆/vmukiyuzw:2006/10/28(土) 04:27:08
ところで、>>69の確認をしてるときに気づいたことが。

VIPの適当なスレのHTMLを取得しようとしたのですが普通のブラウザでは「人大杉」になってしまうので
Janeで取得したdatをDAT2HTMLでHTMLにしてソースにしました。
当然正規表現は「DAT2HTML0.26」を選ぶべきところなのですが何故か勘違いして「read.cgi7.00?」を選択。
あれ?なんとこれでも正常に変換できるではないですか。

過去ログ追いかけてみるとv0.7.1のときに「read.cgi7.00?」を修正して差し替えてました。
このときの修正で結果的に「DAT2HTML0.26」を包含する形になったようです。
研究すればもっと汎用的なパターンができるかも。

71 ◆/vmukiyuzw:2006/11/04(土) 00:32:32
勉強を兼ねつつ、いろいろ調べごとを重ねる日々。
新たに得る知識は結構あるけれども、実戦(?)にはなかなか至らない。
わからないことを調べていると途中でまたわからないことに出会い、
どんどん枝分かれしていく。収束する時は来るのだろうか。


・・・ともあれ、それらの枝の一つで興味深いものを見つけたのでメモっときます。

「鬼車」という、かなり高機能らしい正規表現ライブラリがあるのですが、
それをラッピングして、かつbregexp.dll互換の機能を実装したライブラリを作った方がおられます。
ttp://homepage3.nifty.com/k-takata/mysoft/bregonig.html

この bregonig.dll を htmltodat.exe と同じフォルダに持ってきて、名前を bregexp.dll にリネーム
(もちろんオリジナルは退避した後で)すると、それだけで使えます。
本家ではサポートされていない、より新しいバージョンの正規表現機能が使えるのみならず、
パフォーマンスも良さげ?なので、しばらく試用してみようかなと思っています。

# しかし、ラップ元の「鬼車」は各種文字コードに対応しているのに、
# 「bregonig.dll は Bregexp.dll との互換性のため、ASCII と Shift_JIS 以
# 外の文字エンコーディングは使用できません。」
# だそうです。ちょっと残念。

72 ◆/vmukiyuzw:2006/11/06(月) 22:46:50
http://yy14.kakiko.com/test/read.cgi/mirror/1158402994/85

LISPを使ったものではなくあくまで手動ですが、xyzzyの正規表現置換機能で
UTF-8のHTMLをdatに変換してみました。
対象にしたスレは http://jbbs.livedoor.jp/bbs/read.cgi/computer/1929/1038588508/336 に上げて頂いた
http://web.archive.org/web/20030425012552/world2ch.net/test/read.cgi/accuse/1048754153/1-100 です。

検索:
<dt>\([0-9]+\).*?\(?:<a href="mailto:\(.*?\)">\)?<b>\(.*\)</b>\(?:</font>\|</a>\): \(.*?\)</dt><br><dd>\(.*\)<br><br></dd>
置換:
\3<>\2<>\4<>\5<>

スレの前後の不要な部分は手動で取り除き、スレタイはレス1の最後に手動で付加すると。

…ところで、これをJaneNidaで正常に読ませるにはどうしたらいいんでしょうか…
適当なフォルダにおいて読ませるだけではSJIS扱いされて文字化けしちゃうんですが。

73 ◆/vmukiyuzw:2006/11/06(月) 23:02:22
ところでこれは>>66で書いたように「どんなツールでもできるはず」をふとやってみようと思っただけです。
結局(楽なので)正規表現使っちゃいましたが^^;

ちなみにxyzzyで使える正規表現はこちら
ttp://xyzzy.s53.xrea.com/reference/wiki.cgi?p=%C0%B5%B5%AC%C9%BD%B8%BD%A4%CE%C9%BD%B5%AD
を参考にしました。
基本はhtmltodatでやってることと変わらないのですが、使える表現が微妙に異なり
括弧とかの前にいちいち\を付けないといけないのが面倒かなと思いました。

74名無しさん:2006/11/09(木) 00:03:45
NidaはWorld2chの対応ロジックは消しちゃったんじゃないかな
JaneでUTFの多言語表示に対応しようと思ったらSjisじゃなくて
Unicode表示にしないと意味無からねぇ

75 ◆/vmukiyuzw:2006/11/09(木) 01:37:36
>>74
うむ、確かにJaneNida.txtにもそのようなことが書いてありますね(Nida040916)
これ以前のバージョンが手に入らないかなあとNidaのサイト見てみましたが
過去バージョンは置いてなさげ。

仕方ないかとあきらめかけたのですが、ふと思いついて
xyzzyの2ch-modeを試してみたところ、読めてしまったような…!
これぞ灯台下暗し?

今日はもう遅いので詳細は後日にでも。

76 ◆/vmukiyuzw:2006/11/10(金) 22:03:52
>>75の続き

>>72の方法で変換したdatを2ch-mode配下の適当なログフォルダに置いて
読ませてみました。
文字自体は日本語もハングルも化けずに一応表示できました。
自動で文字コード識別してくれるのですね。やっぱxyzzyは基本からよくできてる。

が、一つ別の問題が。
アンカータグ(<a href=〜>とか)の文字列がそのまま表示されてしまいます。
文字コードがUTF-8なこととは関係ないような気がするのですがよくわからない…
とりあえずアンカータグを取っ払うことにしました。
# 大抵の2ch専用ブラウザではアンカータグがなくても自動で補ってくれる機能がついているので。
# (ちなみにhtmltodatでもデフォルトではアンカータグを削除するようにしています)

いったん2ch-modeを終了してエディタモードでdatを開きなおし、<a href.*?> と </a> を全て削除し、
上書き保存しました。
その後、2ch-modeを再起動してスレを読み込ませたところ、今度はほぼ上手くいってる模様。
# ハングル文字で書かれたレスに対するレスアンカーをポップアップさせると文字化けしてしまいますが
# まあそれくらいのことは気にしないことにしよう。作り手側が多分意図していない無理やりな使い方で
# たまたま上手く行ったようなものだし。

77 ◆/vmukiyuzw:2006/11/10(金) 22:33:41
ところでこれは、UTF-8のHTMLをUTF-8のdatに(SJISを介せず)変換し
それをUTF-8対応の2ch専用ブラウザで読めるかどうかの検証だったので、
目的としては一応うまくいったといえると思います。

で、この結果の上で、本家htmltodatとしては何をすべきか・・・?
(別に何もしなくてもいいのかもしれないですがw)

78 ◆/vmukiyuzw:2006/11/25(土) 00:53:46
ふと、かつてよく出入りしていたORACLEとかACCESSとかの掲示板に行ってみました。
コテハン使ってたし全文検索できる掲示板なので名前で検索してみました。

意外なほどたくさん書き込みしてて、我ながら凄いなと思うような書き込みも多々あったのですが、
凄すぎて何を書いてるのか理解できないものもかなり多いwww

・・・いや笑ってる場合ではなく、これは自分の知能がリアルで低下してるのかなぁとw
そして今のこの掲示板に書いてることも近い未来には理解できなくなるのかもしれないと。
まあどうしようもないことかも知れないのですが、自分の成果物(?)をどういう形で残していくか
もしくは放置するか。少し考え込んでしまいました。

79 ◆/vmukiyuzw:2006/12/31(日) 00:57:16
今年ももう終わりですねえ。

そういえば昨年末には>>47みたいなことがあったなあ・・・と思って
ふとサブマシンを起動してみるとまた壊れてる・・・もう笑うしかないです。
(レジストリファイルが壊れてるらしく認識できていない。セーフモードでは
一応起動できるもののそこから何も操作できない)
またOS再インストール。環境整えるのももう面倒なのでそのままです。

・・・しかし使い倒して壊れるのなら納得もいくのですが、使ってないのに
壊れるというのは何故なんでしょうね。
そういえば、VHSのビデオデッキを2台持っていたのですが
メインで使用していた方がテープの巻き込みをするようになってしまい
仕方なくサブ(ほとんど使ってなかった)を使おうとすると
やはりテープを巻き込んでしまい使い物にならない。
結局2台とも廃棄する羽目になってしまったということもありました。

で、ふと考えたのですが、今のメインマシンが壊れたらどうしようと。
いろいろとソフトを導入しているんで使えなくなったらとても困るなあ。
なので、外付けHDDとバックアップソフトの購入を検討中です。
来年早々にも買いに行こうかな。

80 ◆/vmukiyuzw:2007/01/03(水) 23:52:26
いまさらですがあけましておめでとうございます。
今年の抱負としては、なんか新しいソフトでも作ってみようかなあ。
でも何にもアイデアがうかばない^^;
やはり例年通りグダグダな年になってしまいそうです^^;

81 ◆/vmukiyuzw:2007/01/15(月) 22:33:42
さて、>>79でも書きましたが外付けHDDを買ってきました。
バッファローの250GB。おまけのソフトにAcronis True Imageが
ついてくるのが選択の決め手でした
(バックアップソフト比較スレ等で評判がよかったので)。

そんで早速バックアップ取ってみたのですが、時間かかるかかる。
30GBくらいのバックアップにほぼ10時間かかりました。
試しに100MBくらいのファイルを本体から外付けHDDに
単純にコピペしてみたところ、3分くらいかかりました。
30GB/100MB*3分/60だと15時間くらいになるので、やっぱ
外付けHDD(への転送)自体が遅いのかなあ。
ソフトに圧縮機能があり多少サイズは小さくなってるので
まだ10時間で収まった、とも言えるかも。

本体がもう5年くらい前に買ったノートPCなんで
接続はUSB1.1なんです。2.0だとどれくらい違うんだろうか。

82 ◆/vmukiyuzw:2007/01/17(水) 22:13:04
調べてみるとUSB1.1というのはかなり遅いインターフェースのようで。
対応製品の仕様とか見てると「最大12Mbps」とか見かけます。
LANより遅いのね。まあ前世代のものなので仕方ないか。

これがUSB2.0だと「最大480Mbps」とかになるようで。40倍ですね。
USB2.0インターフェイスPCカードが手軽な値段であるので買おうかな。

83 ◆/vmukiyuzw:2007/01/24(水) 21:37:54
USB2.0インターフェースPCカード買いました。
早速バックアップ取ってみると・・・1時間弱てとこでしょうか。
40倍とはいきませんでしたが、まあこれならまだ実用に
耐えるかなという感じです。
CD-ROMからのブートでもちゃんと外付けHDDを認識しました。

これでいつ壊れても安心。ってなるべくならそんな日は
来ないほうがいいのですが。

84 ◆/vmukiyuzw:2007/02/08(木) 00:25:53
たまたま見つけたんですが
ttp://nanabit.net/python/html2dat.html

htmltodatでいうと「read.cgi7.00?」相当の変換ができるようです。
しかしActivePythonインストールが必要、かつコマンドプロンプトでの
実行が必要みたいで。

自分的にはもともとこういうスクリプトでやってたことをUIをかぶせれば
もう少し使える範囲が広がるかなと思って作ったって経緯もあるんで
方向性の違いかなていうことか。

まあhtmltodatも「正規表現とかわからん」とかいう意見が多いわけで
そういう方にはおすすめかもしれないです。

85 ◆/vmukiyuzw:2007/02/26(月) 21:06:20
http://yy14.kakiko.com/test/read.cgi/mirror/1158402994/526

私も試して見ましたが問題なく変換できますね。

まあ推測に過ぎませんが
http://ex20.2ch.net/test/read.cgi/gline/1165651379/638 さんは
単純に手順の間違いじゃないですかねー
前処理を貼り付けるのを飛ばしてるとかそんな感じがします。

あと
http://ex20.2ch.net/test/read.cgi/gline/1165651379/640 (659さん)は
「全部」のURLでやっていないだけのように思えます。
「その9」のデフォルト表示では全レス表示されてないようなので。

86 ◆/vmukiyuzw:2007/03/03(土) 20:54:55
くだらないことですが。
最近、
「ご教授ください」
「×ご教授
 ○ご教示」
「ご教授でも間違いではないよ」
みたいなやりとりをよく見かけるような気がして、調べて見ました。

------------------------------------------------------------------------
大辞林 第二版 (三省堂)

きょうじゅ けう― 【教授】<

(名)スル

(1) 0 1 (ア)児童・生徒に知識・技能を与え、そこからさらに知識への興味を呼び起こすこと。

(イ)専門的な学問・技芸を教えること。
「国文学を―する」「書道―」

(2) 0 大学などの高等教育機関において、専門の学問・技能を教え、また自らは研究に従事する人の職名。助教授・講師の上位。
------------------------------------------------------------------------

確かに間違いではないように思えますね。

87 ◆/vmukiyuzw:2007/03/13(火) 23:58:38
いきなり言っちゃいますが、正規表現というのは危険です^^;

解析するエンジンと実際に書かれる表現とそれにマッチさせる文字列の
組み合わせにもよりますが、書きようによってはスタック領域(って何?まあプログラムが
使うメモリ領域の一部と理解してください)を食いつぶして自爆するようなことが
簡単にできたりします。
以前、bregexp.dllが「fatal error」を起すのはバグじゃないかみたいな書き方をしたことが
あるのですが、そうではなくおそらく上記制限に引っかかって起こる現象ではないかと
今は思います。

そういう危ないものをユーザが自由に指定できるようなソフトを公開していること自体
いかがなものかと思われるかもしれないですが、現実にはそういうソフトは世の中に
山ほどありますし(テキストエディタとか大抵できますしね)
まあ「気をつけたほうがいいですよ」ぐらいしか言えないです。

で、だらだらと書いて結局何を言いたいかと言うと、
「エンジンを新しいものにすれば不具合は解消される可能性がある」
ってことで。具体的には>>71で書いたものなんですが。
興味のある方には使ってみていただきたいなあと思う次第です。

88 ◆/vmukiyuzw:2007/03/18(日) 03:40:12
なんかちょっとPCのキーボードの調子が悪いです
また修理に出さないといけないかも・・・
そうなるとメンテナンスとかバージョンアップとかしばらく無理なので
ご容赦ください。

89 ◆/vmukiyuzw:2007/03/21(水) 00:02:01
http://www2.pf-x.net/~soft186/kako/index.html
こんなソフトウェア板の過去ログ保存サイトを見つけたんですが
http://mukiyu.hp.infoseek.co.jp/をリンクしていただいてるので)
こんなスレがありまして。

■こんなソフトウェアってありますか?〜Part46〜■
http://www2.pf-x.net/~soft186/kako/1073664639.html

以下適当に引用。
-----------------------------------------------------------
15 名前:名無しさん@お腹いっぱい。 :04/01/10 12:35 ID:nzs4W2Ci
htmlからdatに変換できるツールないですか?

24 名前:名無しさん@お腹いっぱい。 :04/01/10 13:21 ID:nX+R5d+/
>22
検索して10秒で見つかる
http://mukiyu.hp.infoseek.co.jp/

27 名前:名無しさん@お腹いっぱい。 :04/01/10 13:24 ID:nzs4W2Ci
>>24
あ、それなんか無理だった。
なんか、2chとまちBのhtmlをdatに変換したいんだけど、
正規表現?が二つともなかったから出来なかった。

29 名前:名無しさん@お腹いっぱい。 :04/01/10 13:27 ID:nX+R5d+/
>27
多分死ねばいいと思います。
2ちゃんと町BBSは別物だし。

htmltodatのようなもの Ver 0.1.4 Copyright(C) 2002-2003 by mukiyu
【概要】
2ch形式のHTMLをdat形式に変換するソフトです。

30 名前:名無しさん@お腹いっぱい。 :04/01/10 13:28 ID:nzs4W2Ci
>>29
でも、正規表現にまちBが入ってますが?

31 名前:名無しさん@お腹いっぱい。 :04/01/10 13:29 ID:nX+R5d+/
>30
ヽ(´ー`)ノ もうお手上げです
これ以上おいらをいじめないで下さい
--------------------------------------------------------------

そういえばまちBBSの正規表現なんて、JaneでまだまちBBSがサポートされてなかった
頃以来使ったことがないし、htmltodatサポートスレにも質問来たこともないし、
いつのまにかHTMLの形式が変わったんでしょうか・・・
と思っていくつか試してみたら、今でも特に問題なく変換できるではないですか。

どこが無理だったのか、もはや3年以上も前のレスなので知るすべもないですが
こういうのはたまたま見つけてしまうとなんとも気になってしまうものです。

90 ◆/vmukiyuzw:2007/04/12(木) 00:47:31
http://pc11.2ch.net/test/read.cgi/software/1169819680/777

Jane自体にはdatを書き換えるような機能はないですし、
htmltodatも結局は特定目的のテキスト編集加工ツールなので
その意味内容を解釈して加工するようなことはできないですね。
(2000年以降限定で年の前に'20'をつけるくらいはできるでしょうが)

自分がやるならexcelに読ませて加工して書き戻すとかですかね
年の4桁表示は書式で何とかなりそうですし、曜日の表示は
関数を応用すればこれも何とかなりそうですし。

・・・で具体的な手順は、と問われると面倒そうなのでレスは避けたんですが。

91 ◆/vmukiyuzw:2007/04/23(月) 02:03:50
前に書いたような気がしますが、フリーメールの送受信に
Jupiter5っていうソフトを使っています。
これは、フリーメール(大抵はwebメールですね)を普通のメーラーで
送受信できるようにしてくれる、ある種プロキシ的な動作をするソフトで、
結構便利なものです。

なんでこのソフトの話をするかというと、webメールの送受信をするために
そのサイトに対応するスクリプトを指定する方式になっているので、
その点でhtmltodatとちょっと似てるなと前から思っていたのです。
Jupiter5のほうが作られたのは先ですしJavaScriptで指定する方式ですし
全然違うじゃんと思われるかもしれませんが、発想が似てるかもって。
(真似したわけではありませんです)

で、今日たまたまinfoseekのメールを読むのにログインエラーになって
しまったので、ちょっとサポート掲示板を見に行ったところ解決したのですが
(タイトルの「infoseek」を「Infoseek」に変えたのでヒットしなくなった)
http://jbbs.livedoor.jp/bbs/read.cgi/computer/1929/1038588508/461
と同様な苦労を感じてなんか切なくなった、ということで書いた次第です。

参照されてる可能性があるものを気分次第(?)で変えて欲しくないなあ
と思うのは少数派の参照する側のわがままかも知れませんけど。

92 ◆/vmukiyuzw:2007/05/20(日) 22:03:57
http://jbbs.livedoor.jp/bbs/read.cgi/computer/21256/1164941934/249-250
FATとかの単語を使っていて思い出したのですが。

まだ昭和の時代に書かれた、「MS-DOSとは何か」という本を持ってるのですが
(著者はコンピュータ関連の本を沢山書かれてる脇英世さんという学者さんです)
講談社ブルーバックスの、当時たった620円の本なのですがこれがとんでもなく
内容が濃い本でして・・・
パソコンの歴史に始まり、OSとはなにかと言う解説を語った後、MS-DOSの仕組みを
メモリ構造の具体的な図解やダンプリストなど交えながら詳細に記述してある
本で、もちろんFATの構造についても詳しく書いてあります。
ものすごく勉強になりましたし、今読んでも参考になる部分があります。

・・・で思ったのは、たかだか250ページくらいの本で基本的なことを学べる時代に
遭遇できていたのはある意味ラッキーだったかもって。
今のWindows等で同等のレベルの本を書こうと思うと多分とんでもない量に
なっちゃうんじゃないでしょうか。今から基礎をやろうと思う人は大変だろうなと思うわけです。

93 ◆/vmukiyuzw:2007/05/28(月) 00:52:09
http://yy14.kakiko.com/test/read.cgi/mirror/1158402994/732

> 【検索】姪
> http://wannabe.fam.cx/service/2ch_01/search.cgi?str=%CC%C5

で検索してみると引っかかるスレタイは例えば
「路面電車バカにするな」
「【あべし】「北斗の拳」がMMORPG化決定!【たわば】 」

で、EUCのヘキサでみると「面電」→CC CC C5 C5
「北斗」→CB CC C5 CD
2バイト文字の2バイト目と次の文字の1バイト目で引っかかってるようです。
検索するプログラムのほうがマルチバイト文字を意識して作られてないと
こういうことになっちゃうんでしょうね。
さらに検索してる文字が一文字なのでこういうことになる可能性が
高まったとも思われます。

で、文字コードの観点から見ると・・・と書きかけたんですがすごい長文になって
しまいそうなのでやめときますw

94 ◆/vmukiyuzw:2007/05/29(火) 02:26:21
唐突ですが、ふと気になってCD棚を探して見るとZARDのアルバムが
一枚だけ見つかったのです。
「揺れる想い」というタイトルで、もちろんタイトル曲とか「負けないで」とか
収録されてる奴です。
多分、「揺れる想い」という曲が好きだったんで買ったんだろうと思います。
昔のことであまり覚えてないですけど。

で久しぶりに聞きながら歌詞カードとか眺めてたんですが
「揺れる想い」も「負けないで」も織田哲郎さん作曲なのですね。
・・・とここでまた気になってCD棚を探しに行くと、織田哲郎さんが
他のアーティストに提供したいろんな曲をセルフカバーした
アルバムも見つかったりして。
(織田さんバージョンの「揺れる想い」も収録されています
あと坂井泉水さん作詞のDEENの「翼を広げて」とかもあります)
これもまた聞いてみたり。
と坂井泉水さんを追悼しながらいろいろ懐かしい世界にちょっと浸ってました。

・・・でさらに話は飛ぶのですが、織田哲郎さんの最近の仕事で
思い浮かぶのは、アニメきらりんレボリューションの月島きらり
(モー娘。の久住小春さん)のプロデュース。
でも、織田さんが月島きらりをセルフカバーするのだけはどうしても
想像がつかなくて、つい笑ってしまった次第で。

95 ◆/vmukiyuzw:2007/06/10(日) 02:18:48
バージョンアップに向けいろいろ下調べとかしてるとこだったんですが・・・
先日DVD・HDDレコーダーの電源を入れるといきなり
「ハードディスクの容量が少なくなっています」て警告メッセージが・・・
残したいものはDVDに焼いて、いらないものはそのまま消して、て整理しないといけないんですが
これが意外に時間がかかる。しばらくこれに時間を取られてしまいそうで。

まあ今までもそうだったんですがいつバーションアップするとかは
ほんとに気分次第なので、期待してる人もそんなにいないとは思うのですが
まあその通りで期待しないでくださいねて感じです。

96 ◆/vmukiyuzw:2007/06/17(日) 02:06:24
http://yy14.kakiko.com/test/read.cgi/mirror/1158402994/754
肯定先読みというのは、検索するアルゴリズムから見ると
「ヒットするものを見つけたから次へ行こう!」じゃなくて
ヒットしたものを見つけても元へ戻ってまた探す、みたいな感じなようですね。
これはオリジナルのbregexp.dllではサポートされていないですね。
鬼車バージョンではサポートされてますけど。

でもまあhtmltodat的には多分あまり必要性がないような気がします
というか基本的にそんなに難しい正規表現が必要なケースは
それほどないと思っています。

元のdatがhtmlにされる段階で改竄(といっては失礼か)されて
元に戻すことが困難になるケースはたびたびあると思いますが。
(にくちゃんねるとかはまさにそうでしたね)

97 ◆/vmukiyuzw:2007/07/05(木) 02:07:52
詳細は省略しますが
http://pc11.2ch.net/test/read.cgi/software/1181762211/830
> ヴィスタ化は世の中の流れだと思いますが
> XPはどうせ見放されます。それは確実です。

そうなんですかね?
私は知り合いに「逆にXPのPCが値割れしてるから今が買い時かも」
って勧めてしまったんですが。
XPは確か2011年までサポート継続されたそうですし逆にvistaは
2年ほどで次のバージョン出るそうですし。

それよりも言いたいのは、自分もフリーソフト作ってる立場として、
OSがバージョンアップされたからといって、それにあわせて
作者の環境も(ソフトもハードも)バージョンアップしなきゃ
いけないんでしょうか?ってことです。
もともとフリーだから趣味で作ってるのに、悪い言い方すれば
作者に「さっさと新環境揃えろよ」と言われてるようで、
でもそりゃ人それぞれ都合があるだろうと思うわけで
いかがなものかと思うわけです。

98 ◆/vmukiyuzw:2007/09/30(日) 02:20:26
http://jbbs.livedoor.jp/bbs/read.cgi/computer/1929/1038588508/486

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

さらっと書いちゃって、実際ちゃんと動作するのですが
(引用していいのかな)

<a name="a1"></a><dt><a href="menu:1">1</a> 名前:<font color="forestgreen"><a href="mailto:sage"><b>僕ドザえもん</b></a></b></font> 投稿日:2006/04/11(火) 23:49:36 ID:36X3fpBJ0<dd> 魔方陣を書いて「出でよ悪魔」と叫べばおk <br><br>

<a name="a2"></a><dt><a href="menu:2">2</a> 名前:<font color="forestgreen"><b>酋長 </b>◆occulTjdPc <b></b></b></font> 投稿日:2006/04/11(火) 23:50:29 ID:5fhQaGfM0<dd> 酋長が召還された <br><br>


に対して

<b>(.+)</b>(?:</a>|</b>)

の部分が名前欄になぜちゃんとマッチするのかってのは実は結構難しいんです。
<b>(.+)</b> としているので最長一致となるので</font>の直前の</b>までマッチしてしまって
結果おかしくなってしまいそうな気がするんですけど、実際には (?:</a>|</b>) があるおかげで
最長の一個前でうまくマッチしてくれているのがなんか不思議だなと・・・
(それぞれの</b>をどう識別してるんだろうと思いませんか?)

まあ正規表現だけを解説した本とかあるくらいですし奥が深いですね。

99 ◆/vmukiyuzw:2007/10/10(水) 00:46:44
http://pc11.2ch.net/test/read.cgi/software/1191771015/50-51
この50さんはいろんなブラウザスレに同じこと書き込んでことごとく無視されてるようですがw
AND表現で検索というのは正規表現でも結構難しいものがあるみたいです。

例えばある文字列を「A or B」で検索するアルゴリズムを考えてみます(正規表現では(A|B)ですか)。
文字列をスキャンしていき、「A」または「B」にたどりつけばそこで検索終了です。特に難しいことはないでしょう。
が、「A and B」になるとどうでしょう。
「A」にたどりついても次に「B」が存在するか最後(ってどこ?)まで検索しないと答えは出ないわけです。
(もちろん「B」を先に見つけても同様です)

で、正規表現でも先読みを使ってAND表現できないことはないのですが、結構面倒ですし
処理系によってはサポートされてない場合もあります。

正規表現以外の実現手段もあるかもしれませんがそれはなおいっそう面倒なことになるのは
間違いないでしょう。personal検索エンジンみたいな?

100 ◆/vmukiyuzw:2007/10/18(木) 00:51:37
個人的なメモをJaneから読み書きできるものが欲しいなと思って。

(そんなのテキストファイルでいいじゃんと思われるかもしれませんが
リンクをクリックしたら飛べたりポップアップしたりできるのはやはり便利かなと)

JaneWlita(自分専用の板を仮想的に作成し、指定したレスを仮想板にスクラップ(書き込み)したりするScript)
ってのがあるらしいので調べたんですが
DMonkeyていうスクリプトエンジンが必要らしいのですが
こいつが今やweb.archive.orgにしか残ってないような代物。
ググっても導入方法とかよくわからないので遠慮しとこうかなと。
(まあ実際にやってみれば難しくないのかもしれないですが)

次に考えたのがローカルにhttpサーバを立てることですが
それだけの目的のためにやるのは面倒臭いなと思ってやめ。

結局したらばに隠し板作ることにしました。
非公開にして自分しか書き込みできないように設定して。
# まあ見ようとすれば見ることは可能なのですが
# 意味不明なことしか書いてないので問題ないかと^^;

101名無しさん:2007/10/20(土) 17:40:15
http://sourceforge.jp/projects/dmonkey/

http://jane.s28.xrea.com/test/read.cgi/bbs/1180559017/540

102 ◆/vmukiyuzw:2007/10/20(土) 23:05:19
>>101
レスありがとうございます
自分の調査不足でしたね

DMonkeyはかなり高機能っぽいんで使ってみたい気はあるので
時間があれば調べてみようかなと思います。

103 ◆/vmukiyuzw:2008/04/25(金) 20:38:11
http://jbbs.livedoor.jp/bbs/read.cgi/computer/21256/1164941934/566

そんな大層なものではなくてよくある普通のアップローダでしたよ
jpgとかzipとかアップされてましたし

アップローダによっては拡張子に制限を付けてるとこもあるようですし
無難に.datにした、ってとこじゃないですかね

104 ◆/vmukiyuzw:2008/04/27(日) 01:22:11
http://pc11.2ch.net/test/read.cgi/software/1137821915/960

以前あった 皇紀2665/4/1 とか 2006/3/32 みたいなのにはどう対応するのよと
つい思ってしまいますね。要望出すほうは「そんなこと知らね」ってとこでしょうが。

経験的に、そういう「そんなこと知らね」の部分というか、普段はあんまり発生しない
ケースに対応するのは意外にパワーをとられることが多いと思うんですよ。
人がやるかコンピュータがやるかどちらがいいかという話にもなるんだけど。
(これは単にコストパフォーマンスだけでも計れないから難しい)

105 ◆/vmukiyuzw:2008/04/28(月) 01:16:19
http://jbbs.livedoor.jp/bbs/read.cgi/computer/21256/1164941934/568
私的にはそれほど困った事態だとは思っていないので
> こればっかりは、どうにもならないんだよなあ
とか言われても意味がわからないのです、いやマジ
ワットザマター?(いや別に答えなくてもいいですが)

106 ◆/vmukiyuzw:2008/05/04(日) 01:44:52
たまに暇なときに検索してみると面白いのが見つかりますね。

http://set.bbspink.com/test/read.cgi/erocomic/1033139947/811

bbspinkだとまた違うんだろうかと調べてみたんですが
正規表現「sample」で変換できるではないですか。

そもそも「sample」とか名乗りながらも本来はかつての2chの過去ログHTMLに
対応させたものなので、変換できても不思議はないです。
現在では過去ログHTML化が行われていないのであまり使いどころがないと
思っていたのですが、スレ番号が9桁だった頃のスレはまだHTMLで読めたり
するので、案外使い道はあるかもしれません。

# 引用元は半年以上も前のレスなので今更かかわる気はないですが

107 ◆/vmukiyuzw:2008/05/10(土) 00:52:01
PCのファン音がやたら大きくて振動もあるなあと気になっていたら、いきなり(青画面も経由せず)シャットダウン。
再起動しようとしてもスイッチONしてWindows起動したとたんに強制シャットダウン。
これは初めての経験だったので焦りました。

本体触ってみるとめっちゃ熱いんですよ。
熱暴走と言われるものかどうかわからないけど、とりあえず時間おいて充分さますと再起動できたので
なんとか温度が上がりすぎないよういろいろ工夫しながら使ってます。

まだ5月なのにこんなことで大丈夫か?この夏乗り切れるんでしょうか・・・
(って毎年思ってるような気もしますが)

108 ◆/vmukiyuzw:2008/05/10(土) 03:32:46
http://jbbs.livedoor.jp/bbs/read.cgi/computer/21256/1164941934/581
このスレもほぼ私の独り言なので気にしなくてOKです
一応htmltodat本スレにリンクされてレスされたのでなんか書いとかないといかんかなと思っただけです

# まあ逆にそういうレスは何らかの返しがある可能性があると思ってくださいw

109 ◆/vmukiyuzw:2008/06/07(土) 02:45:28
http://yy14.kakiko.com/test/read.cgi/mirror/1186175383/724-725
申し訳ないことをしました。本当にすみません。
いろんなスレを巡回しつつ実況もしてたら書き込む先を間違えました。
しかしこういうミスはソフトの機能で止めようがないですものね。
まったく自分の不注意としか言いようがありません。

110 ◆/vmukiyuzw:2008/06/23(月) 01:43:46
http://yy14.kakiko.com/test/read.cgi/mirror/1213700846/6
xyzzyは別にLispがわからなくとも十分使えるエディタだと思いますけど。

ところで、Lispで思い出したんですが、以前一緒に仕事した人で
話してると実はもともとLisp使いで、
(この時点で私は「リスパーっすか!かっけー」とか叫んでましたw)
しかもLispの解説書を執筆・出版したことがあるというなかなか凄い人でした。

で思ったのは、何でもいいけど本が書けるほどに精通できるものがあるのは
尊敬に値することだなと。
自分にはこんな掲示板で断片的な知識を散らばらせるくらいしかできないので。
# 「詳説・htmltodat」とかwありえないですしw

ただ、本とまではいかなくても、最低限の解説文書みたいなものを書いてみたいと
いう気持ちは以前からあるんですけどね。
時間と文章力の不足で今のところ実現は難しいですが。

111 ◆/vmukiyuzw:2008/06/26(木) 02:03:51
PCのHomeキーが効かなくなってしまった・・・
多用するキーなので結構不便です。
たまたまWindows Updateしたタイミングで効かなくなったので
ソフト的バグが疑われなくもないのですが、やっぱハードの
障害の可能性が高いような気がします。
>>107の件もあるのでやっぱ修理に出したほうがいいかなあ・・・

ただ、サブマシンが死んでるのでなにもできなくなっちゃいますし
(いまさらサブのMe機を修理するのもなんだかなあと思うし)
思い切ってもう一台買っちゃおうかなあとか思ったり。
XPプリインストール機が今月一杯で買えなくなるというのもあるし
こないだ電器屋行ったら信じられないような安価のものも売ってたので
ちょっともう一回行って店員さんと話してみるかな。

112 ◆/vmukiyuzw:2008/06/27(金) 00:56:54
買っちゃったあ^^;
XP機をすべりこみで入手しました。
まあvista機よりはスペックは当然落ちますがそれでも今のメイン機より上だし
なんせ安かったので(かつポイント会員のバースデイ割引が効いたりして)

しかしまあ今から自分専用マシン(?)に設定していくことを考えると、なかなか
大変だなあと思うと同時に少し楽しみでもあったり。

113663 ◆fnwcOWFi56:2010/10/09(土) 10:55:45
いつもhtmltodatを利用させてもらっています。

iswebライトが10月末でサービス終了
http://isweb.www.infoseek.co.jp/info/information.html
との事なのですが、mukiyuさんは移転等考えられているでしょうか?

最近mukiyuさんの書き込みがないので、お元気かどうかがまず心配だったりしますが…。

114 ◆/vmukiyuzw:2010/10/09(土) 23:57:44
>>113
いつもお世話になります。

移転しないといけないのはもちろん認識してます。
ただ個人的に忙しい状態が続いていて時期的にはぎりぎりになるかもしれません。
気長にお待ちを。

健康状態は実は若干困った状況が一時期あったのですが^^;現在は元気ですので
ご安心ください。

115 ◆/vmukiyuzw:2011/01/18(火) 21:06:02
最近BDレコーダーを買ったのでいろいろ遊んでるんですが、
前に買ったDVD機と比べると色んな点ですごく進化してるなあと感心する日々。
いろいろと驚くことがあったのですが一番驚いたのは、インターネット接続設定したら
携帯で外から番組表で予約録画ができてしまうこと。
IPアドレスを指定してるわけじゃないし、そもそもルータの内側にいるレコーダーに
FW飛び越えてどうやってアクセスできるのかさっぱりわからない。セキュリティホール
じゃないのか?(笑)
遊んでばかりで勉強不足を感じる今日この頃です。

116 ◆/vmukiyuzw:2011/01/18(火) 21:31:32
まあ冷静に考えてみると予約情報を記録するサーバーをレコーダーが定期的に
見に行ってるんでしょうね。
でも最初試したとき(放送中の番組を予約録画した)にほぼリアルタイムな感じで
録画されたのでどうなってるの?と思ってしまった次第です。

117 ◆/vmukiyuzw:2011/01/18(火) 23:18:46
レコーダーのついで、というわけでもないんですがルータも新たに買ったんですが
箱を開けた瞬間「ちっちゃ!!!なんだこれは」と声に出してしまいましたw
コレガの有線ルータなんですが26×86×138てサイズ。前に使ってたのがVHSテープと
ほぼ同じ大きさだったのでこの小ささは衝撃です。
レコーダーも小さくて軽くなってるし技術の進歩は凄いですねえ・・・

118 ◆/vmukiyuzw:2011/01/20(木) 23:50:44
PCでラジオ聞けるradikoってのがあるじゃないですか。
先日それで某放送聴きながら実況(笑)に参加してたんですが、
大阪在住だけど東京エリアの放送を聞いてると書き込みしたら
なんで聞けるの?とレスがあったんです。
で大阪も東京も両方聞けるよと返したんですが
「どこのプロバイダ?うらやましい」と返されたんですよ。

使い始めたときからできていたことなんで当たり前のことかと
思ってたんですがどうやらレアなことらしい。
あんまり言うとradiko側から規制される(?)らしいのでここでこっそり。

119 ◆/vmukiyuzw:2011/02/01(火) 18:38:28
http://jbbs.livedoor.jp/bbs/read.cgi/internet/8173/1292131235/696

試してみると確かに壊れますね。
datの中身を見てみると投稿日時欄がうまく拾えてないっぽい。
もしかして過去ログの形式が変更されたのかしら、とhtmltodatで
「jbbs過去ログ」を試してみるとこちらはうまくいきますね。
正規表現でわざわざ (?: 投稿日)?: とか書いてるとこをみると、
そもそも投稿日時欄の前に「投稿日:」と付く形式と単に「:」だけの形式の
両方が存在し、styleの場合(内部的なhtml→dat変換処理中で)
その一方にしか対応してないんではないかと推測。

ところでこのhtml、普通のブラウザでも専用ブラウザでも表示されないので
無視してもいいかもですが実はIDがHTMLコメントに隠されていますね。
もしこれを表示したいなら、前処理か後処理で

s#<!-- \[ (.*?) \] -->#ID:$1#igk

とでもしてやればよいかも。
あと途中に透明あぼーんが大量にあるので「補う」チェックも必要ですね。

120 ◆/vmukiyuzw:2011/05/23(月) 02:18:14
何もしてないわけではないんです
スキルと時間が足りない。時間は他の事に費やしちゃってる分が相当ありそうですが。
まあどのみちたいしたことは出来ないんですが、まあ少しずつ。

121 ◆/vmukiyuzw:2011/06/09(木) 00:32:53
先日お料理をしようとしてて、ちょっと地中海風な料理で材料にオリーブが必要だったんで
スーパーに買いにいったんですが、「缶切り」が必要なタイプの缶詰のものしかなかったんです。

おい今時缶切りかよ!?と思いつつも、無いと空けられないんで100均で探して買ったのですが
自分の知ってる缶切りとは全然違うもので、なんか複雑な形状をしている。
最初使い方がよくわからず昔の缶切りのイメージでぐりぐりやってたんですがそれでは全然
切れなくて、使い方を読み直すと、(実物の画像とかないんで説明が難しいですが)
歯車に繋がるツマミをくるくる回すだけでガシガシ切れる仕組みになってて驚きました。

これはイイ!と思ったのですが、多分次に缶詰のオリーブが必要になるときまで使わないと思うので
使い方を忘れた時の覚え書きとして書いてみましたw

122 ◆/vmukiyuzw:2012/03/12(月) 01:02:12
ぎっくり腰になってしまいました・・・^^;
なんか腰の周りに違和感があるなーと数日前から思ってたんですが
なんかの拍子にピシッときました。

なった直後は歩くのもままならずどうしたもんかと思いましたが
一晩寝るとだいぶましになって歩くことくらいは出来るようになりました。
で家から一番近い鍼灸整骨院に行ったのですが、そこでの治療法は
足腰周りのストレッチが中心なんですがこれが泣くほど痛い;;
「足腰固いですねー」て不摂生が原因みたいな言われ方するんですが
普段そんなハードなストレッチしねーし!て感じです。
まあそんなひどい症状でもなく一週間もすれば治るだろうとの見込みですが。

123 ◆/vmukiyuzw:2012/03/18(日) 22:03:04
http://anago.2ch.net/test/read.cgi/software/1316551791/412

htmltodatはしたらばの現行スレでも変換できるんですがね。
まあ自分からあちこち手を広げようって気もあんまりないので静観です。

124 ◆/vmukiyuzw:2012/03/19(月) 02:39:59
>>123
に関してちょっと思いついたのでメモ。
したらばの現行スレの変換については
http://jbbs.livedoor.jp/bbs/read.cgi/computer/1929/1038588508/622
でもやってるのですが、普段あんまり使わないhtmltodatの機能を活用して
別のアプローチでやってみます。


受信オプション - URLの変換:
# したらばのURLをrawmodeに読み替える
s#(http://jbbs\.livedoor\.jp/bbs/)read\.cgi(/.*?/.*?/.*?/).*#$1rawmode.cgi$2#i

前処理:
# レス番号を切り飛ばす
s#(^|\n)\d+<>#$1#igk
# そのまま書き出し
w $SELECTFILE

「dat変換をしない(前処理のみ行う)」にチェック


前処理の段階でdatを書き出してしまうので正規表現以降は不要です。


したらばにはrawmode.cgiというdat形式に近い形式のデータを返すcgiが用意されてるので
まずこれを呼び出すようにURLを変換します。
(このURL変換機能は正直自分では使ったことなかった)

で返ってきたデータにはdat形式にはない余分なもの(レス番号)が付いてるので
これを前処理で切り飛ばします。
ここまでやるともう正しいdat形式になってるので、いつもの正規表現による変換はもう不要です。
前処理のwコマンドでそのまま書き出してしまいます。
(wコマンドも前処理の確認以外では使ったことなかった)

この手法は、dat形式もしくはそれに準ずるものを返してくれるサイトならしたらば以外でも使えそうです。

125 ◆/vmukiyuzw:2012/05/01(火) 23:11:59
連休で久々に帰省したんですが途中何故か2回も人に尋ねられる状況に。

まず駅で切符買ってたら横の人に「○○駅までは△△円ですか?」と聞かれました。
言葉がちょっとたどたどしくておそらく海外からの旅行者の方ぽかったのでどういうふうに回答するか一瞬悩みました。

次に(別の駅ですが)時刻表を見てたら横で同じ時刻表見てた人に
「□□駅に行きたいんですが××駅で乗り換えるには電車の前のほうと後ろのほうどっちに乗ったほうが近いですか?」
と聞かれました。冷静に考えるとかなり難しい質問だったと思うのですが何故私がわかると思われたのだろう?
「ごめんなさいわかりません」と言うしかなかったです。

普段あまり見知らぬ人にものを尋ねられるようなことはないので、その日はたまたまなんか
尋ねやすい雰囲気をかもし出してたんでしょうかね。

126 ◆/vmukiyuzw:2012/10/19(金) 22:26:12
http://anago.2ch.net/test/read.cgi/software/1346851517/936

htmltodatだとできますけどあまり勧めたくない・・・w
まあ頑張ってここまでたどり着いてくれることを祈ります。

127 ◆/vmukiyuzw:2012/11/15(木) 01:08:21
http://toro.2ch.net/test/read.cgi/win/1347196172/957,961-968

うーむ、微妙なところを突かれたような・・・
でもhtmltodat関連でぐぐると結構ヒットするんですよねこのページ。
なので何か出来るかもと思っちゃう人が現れても不思議ではなかった。

663さんが今さらこのスクリプトを積極的にサポートするとは考えにくいですし
かといって私のとこに持ってこられても困りますし・・・

以前考えてた「htmltodatをバッチコマンドで動かす」構想が形になってれば
まだ何とかなったかもしれないですが現在頓挫中ですし。
「GetLog.js見たいに、自動的にdatを読み込むように」をあきらめてくれれば
一手間かかりますがhtmltodatで何とかできると思うんですが。

(ログ速とかしょっちゅう形式が変わってそれに都度対応してるんで
どのみち完全自動は難しいとも考えられます)

128 ◆/vmukiyuzw:2012/11/15(木) 01:41:05
× 一手間かかりますがhtmltodatで何とかできると思うんですが。
○ 一手間かかりますが現在のhtmltodatでも何とかできると思うんですが。

まだ改良することを諦めているわけではないので一応。

129 ◆/vmukiyuzw:2012/11/16(金) 00:36:40
http://yy14.kakiko.com/test/read.cgi/mirror/1213700846/828

お疲れ様です。
なかなかいい感じですが結構な確率で誤動作しますね。
sendkeys の宿命かもしれませんが・・

> ・htmltodatでそれぞれのミラー用のを一発で選択取得出来るようになったらなー

バッチコマンド化計画はその辺までパラメータで指定できることを
目論んでたんですけどね。それができたら上で書いたsendkeysとかも
使う必要なくなりますし。
あと保存ファイル名とかもパラメータ化できたら後処理で保存とかやる必要も
なくなるわけです。

最近V2Cとかもたまに使ってるんですが、V2Cにもgetlogと同等の
スクリプトが使われてて、「ログ速は読めないの?」て話題は時折出るので
やっぱりやらないといけないかなーとあらためて思う今日この頃です。

# ちなみにV2C仕様のgetdat.jsスクリプトでは
# ファイルではなくdatの内容自体を返すように作られています
# こんなのにはどう対処したらいいんだろう?一旦テンポラリファイルに保存して
# 読み返すしかないのかな

130 ◆/vmukiyuzw:2012/11/19(月) 23:21:57
http://yy14.kakiko.com/test/read.cgi/mirror/1213700846/831

> それにしても、何行にも及ぶ前処理を組み込む仕様をどうしたもんでしょう?

私はJscriptにあんまり明るいわけではないのでわからないですが
663さんのスキルを持ってすれば「ログ速.bcr」をパースして配列に突っ込んで・・・
くらいのことは楽勝そうな気がするんですが・・・
(他のパラメタについてもそうですね)

ちなみに適当な過去ログでやってみましたが
「未変換行:〜」が延々出て変換にはたどりつけないようですね。
おそらく、前処理をやってないので投稿日・ID周りの不要なものが取り除けてないので
(正規表現はそれを取り除いた前提で書いてるので)マッチしなくなっているようです。

ともあれ、いいものになりそうな雰囲気がするので、頑張っていただきたいです。

131 ◆/vmukiyuzw:2012/11/23(金) 00:24:06
●大雑把な仕様

起動時の引数は最大3個取る
1つ目の引数はURL これが指定された場合HTML取得までは自動で行う
2つ目の引数はパラメータファイル名(パラメータファイルの仕様は後述)
 これが指定された場合「取得即変換」がONになり変換までは行う
3つ目の引数は出力ファイル名
 これが指定された場合変換結果をそこに出力しhtmltodatは終了する

●パラメータファイルの仕様

例えば
前処理=ログ速
のような形式で各項目に埋める選択項目を指定して列挙する
ただ、

前処理
なんちゃらかんちゃら
・・・

みたいに選択項目でなく直接正規表現等の内容を記述する形式も
できれば受け入れるようにしたい(サポートスレではそういう形式で書くことが多いから)


久しぶりに開発用のPCを起動してみるとトラブル続出でプログラム触れるようになるまでに
えらく難儀しました。
(というか現在常用のPCに開発環境を移してないだけなんですがこれはこれでなかなか面倒で)
このPCが本格的に壊れてしまうともうメンテできないかも・・・
基本的な仕様は難しくないと思うので誰か別の言語で書き直してくれないかしら

132 ◆/vmukiyuzw:2012/11/25(日) 01:57:39
バッチコマンド化計画で、パラメータファイルやregexps.txtをパースするのに
例によって正規表現でぱぱっと片付けようとしたんですがどうもうまくいかない。
デバッグしてて気づいたんですが、たまたまテストしてた例が

正規表現=したらば(jbbs)過去ログ

なんてものだったのですね。そう、「したらば(jbbs)過去ログ」でregexpa.txtを
検索しようとしたため、jbbsの前後の括弧が正規表現で意味を持ってしまうので
検索にヒットしない結果になってしまったわけです。
事前に括弧をエスケープしないといけないのか?いやそんなことしだしたら
エスケープしないといけないものは他にもいろいろあるよなあ・・・

結局地道に文字列操作関数使って処理することにしました(まあそれでも
大して難しくはなかったんですが)。
しかし思ったのはこういう問題って他でも出るような。SQLインジェクション
みたいな?(ちょっと違うか)
皆さんどうしておられるんでしょう。

133 ◆/vmukiyuzw:2012/11/25(日) 20:03:36
http://yy14.kakiko.com/test/read.cgi/mirror/1213700846/836
> dat化保存終了のタイミングがわからない事にはどうにもならないです。

・3つめの引数は出力datファイル名、これが指定された場合、変換結果をそこに出力し
 htmltodatは終了します。

と言う仕様にしたのはもちろん意味があって、
htmltodatを呼び出した側で終了を待機するようにすればよいと思ったからです。
(非同期でなく同期で起動すると言うことですね)

言語によりやり方は色々ですが大抵手段は用意されていると思うのですが。
ぐぐったらこんなのがありました。
http://d.aoikujira.com/blog/index.php?JScript%E3%81%A7%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E5%AE%9F%E8%A1%8C

134 ◆/vmukiyuzw:2012/11/28(水) 01:26:53
バージョン番号なんて大して誰も気にしてないだろうと思うけど
0.8.19はかなりの変更だったんで0.9.0にしとけばよかったかな。

135 ◆/vmukiyuzw:2012/12/01(土) 22:13:31
とりあえず以前からやりたかった
・バッチコマンド化
・文字コード変換をもう少しましに
・bregonigの採用
あたりが片付いてちょっと一段落ですかね〜

あと前からやりたいと思ってたのが、現在パラメータファイルで指定できる内容の
セーブ・ロード機能なんですが、もともとの動機が
「htmltodatがfatal errorで落ちた時に落ちる前の内容を保存しておいて復帰させたい」
というかなりネガティブなものなので、bregonig採用で落ちることが少なくなるだろうと
思われる現状ではあんまり必要ないですかね。
(ほぼデバッグ用途向けの機能ですし)

まあ気が向けばそのうち。

136 ◆/vmukiyuzw:2012/12/02(日) 20:56:54
readmeの更新履歴をちょっと見返してたんですが、初版が2002/11/03なので
いつのまにか10周年越えてたんです。
10年前は何してただろう、この10年間で何してきただろう、と考えてみると
ほとんど何もしていない気がしてきてちょっと情けなくもある今日この頃です。

137 ◆/vmukiyuzw:2012/12/07(金) 21:10:34
http://yy61.60.kg/test/read.cgi/v2cj/1304861674/761-762
うーん・・・見なかったことにしよう

138 ◆/vmukiyuzw:2012/12/14(金) 21:59:36
たまたま見つけてしまったんですが。
ttp://d.hatena.ne.jp/lightcyan/20120711/1341976920

htmltodatはもともとそんな感じのスクリプトでやってたんです。
で正規表現部分は選択できるようにすれば色んなサイトで
汎用的に使えるじゃん、て感じで始めたんです。

> メール欄が無いときに$2に空文字列いれる事ができれば$3以降がずれなくて、場合わけしなくてもいけたのですが、やり方わかりませんでしたorz

perlではそうだったかな?bregexpだと別にずれることはないんで
そんなもんだろうと何気なく使ってましたけど。
・・・と思いつつ手元のperlで調べてみると、単に正規表現間違ってるだけでした^^;
# (?:<A HREF="mailto:(.+?)">)? ←この?がないのでまずい。あともう一箇所も

> あとみみずんのhtmlで書き込みの途中で改行(<br>でなくて\n)が入ってる事があって、その場合にはその書き込みはdatに出力されません。htmlの方を編集して改行をなくしたほうが早いと思って何もしませんでしたw

htmltodatでは途中に\nや\rがあっても基本意識しないでいいように
作ってます。。。いろんなサイトに適用できることを考えると自然に
そうならざるを得ませんでした。

こう見ていくと伊達に長いことやってるわけじゃなく細かいノウハウが
いつの間にか蓄積されてるかもしれませんね。

139 ◆/vmukiyuzw:2012/12/18(火) 21:55:17
http://yy14.kakiko.com/test/read.cgi/mirror/1353918147/17

お疲れ様です。

# http://yy14.kakiko.com/test/read.cgi/mirror/1213700846/837
# は今回は反映されなかったのですね。これは良いなと思ってたんですが

> mukiyuさんへの要望ですが
> 今後htmltodatサポート板のほうで新しいミラーサイトのdat化等の問い合わせがあった場合は
> URLの変換の表記も添えて頂ければ有難いです
> 例えばログ速の場合
>
> URLの変換:
> s#http://(.+?)/test/read\.cgi/(.+?)/(\d+)/?.*#http://logsoku.com/thread/$1/$2/$3/#
>
> のように。

それは全然構わないですが、場合によっては混乱を招く可能性がありますね。
(使う側がURLが変換前か変換後か意識する必要がある?)
まあ上のログ速のようなケースだとURL変換後のURLだとマッチしないので特に問題は出ないだろうし、
同様の理由でほとんどのサイトで問題ないかもしれませんが。
出たら出たでそのとき考えますか。

140 ◆/vmukiyuzw:2012/12/20(木) 01:55:21
これは何だろう・・・気づかなかった
ttp://www2.atchs.jp/yuzuha/

141 ◆/vmukiyuzw:2012/12/21(金) 23:29:13
http://yy14.kakiko.com/test/read.cgi/mirror/1353918147/18

お疲れ様です。

> 気力が沸いたらやってみるです。
> といってもローカルdatとdat化dat(?)の比較くらいしか出来ないですが。

私がいいなと思ったのは
http://yy14.kakiko.com/test/read.cgi/mirror/1213700846/837
で既にできていた、htmltodatの終了待ちをしてdat化完了後自動で開けるようになる部分だったんですけどね。
それがあるかないかで使い勝手自体変わっちゃいますので。
# 個人的見解ではローカルdatとの比較云々はその先でもいいのではないかと・・・
# 「みみずんでは全レス取得できないからログ速で読みたい」って人がまず使いたいんじゃないかと
# 勝手に(すみません)想像するので

> htmltodatへの要望なんですが
> prmファイルを作成する機能もあったらありがたいなあと思うです。
> ヘッダ/URL変換/正規表現/前処理etc/変換結果式/後処理
> ・・・をひとまとめにしてprm化するボタンとかあったらな

>>135でちょっと書いたんですが

> あと前からやりたいと思ってたのが、現在パラメータファイルで指定できる内容の
> セーブ・ロード機能

になりますかね。
セーブ機能は私と663さんくらいしか使わないかもしれませんが(笑)、ロード機能は
現状結構煩雑なhtmltodatの各種パラメータ指定をある程度簡略化できる方法になるかなと
思っているので、まとめてそのうちやります。まあ年が明けてからかな。

142 ◆/vmukiyuzw:2012/12/21(金) 23:58:37
セーブ・ロード機能なんて言い方がDOS時代ぽくて年寄り臭いかな?^^;
でもインポート・エクスポートとか言うとデータ自体の出し入れの感じがして
設定内容の出し入れにはピンとこなかったんです。

143 ◆/vmukiyuzw:2012/12/22(土) 21:57:24
http://yy14.kakiko.com/test/read.cgi/mirror/1353918147/20

お疲れ様です。
dat化完了後自動で開けるようになっているのを確認しました。


> 変換結果式のところをどこかからそのまま下のようにコピペで
> -----------------
> 変換結果式: 
> $2<>$3<>$4<>$5<>
> (↑メール欄逆転)
> -----------------
> とやると、何だかdat化したものが変になりますね。

う、痛いとこを^^;
前処理等複数行受け付ける必要のあるところと、変換結果式みたいに一行で済むところを
今のとこ同じルーチンで処理してるので、変換結果式に複数行の指定があると
変なことになっちゃうんです。
これは今後サポートスレに書くときにはコピペで変にならないよう気をつけようと思ってたんですが、
そんなことを意識してなかった過去のレスにまで適用されるとちょっとつらい・・・
当面、「(↑メール欄逆転)」の行は手動で削って対応お願いします。
# 多分今のとこ663さんしか使ってないと思うので

> あと、htmltodatのほうで「URLの変換」の項目
> ctrl+Aで全選択出来れば嬉しいです(私が)

次に一緒に修正します。


# 最近ではviewスレ http://toro.2ch.net/test/read.cgi/win/1353154872/305
# みたいな書き込みもあったので、あれば使いたいというニーズはあるのでは。。
# ひな形的なものだけ作っておいてあとは各ブラウザユーザ(のスキルある人)が
# 引き取ってくれればいいんでしょうけどね

144 ◆/vmukiyuzw:2012/12/29(土) 23:19:30
http://yy61.60.kg/test/read.cgi/v2cj/1304861674/778
最近これを弄って遊んでました。

まず、ログ速からのhtml取得自体がうまくいかない。
よくわからなくてhttpレベルで調べてみると、自分の環境でだけかもしれませんが
なんか301リダイレクトがループしてエラーになってる模様。
とりあえず取得先をリダイレクト先に直接いくように変更したら取得できるようになりました。
で、実際取得できた内容は・・・ほぼうまくいってるようなのですが
一部アンカータグが取り除けず表示が変になる部分があったりしました。
htmltodatでの前処理にあたる部分が一部うまくいってないようなのですが
ちょっと弄っても直らなかったので保留。

それから、htmltodatを使った変換も組み込んでみました。
ざっとスクリプトの仕様を調べると、外部ファイルを実行するのに同期で起動する(終了待ちする)
方法がなさそうだったんでちょっと難しいかなと思ったんですが、wikiの開発者向け情報のとこを見ると
javaのパッケージを動的にインポートしてそのクラスを使えるみたいなことが書いてあったんで
試行錯誤でやってみるとなんかできてしまいました。

うーむ、面白かったし勉強にもなった。

145 ◆/vmukiyuzw:2012/12/31(月) 09:39:22
大掃除も終わってのんびり年明けを迎えようと思ってたら
なんかやってくれちゃってるじゃないですか。
http://yy61.60.kg/test/read.cgi/v2cj/1304861674/800-801

ちょっと使ってみますかね

146 ◆/vmukiyuzw:2013/01/06(日) 12:36:10
>>145
使ってみました。

まず、みみずんとかバイパスしてログ速に取りに行くように、20〜21行目のコメントを外し、
16〜19行目をコメントアウトしました。
これでhtmltodatが動くようになるはずなのですが、起動はするものの133行目での終了待ちが
できておらず終了する前に次へ進んじゃってnot foundになってしまう模様。
よくわからないですが433行目で起動しているtasklistコマンドはうちのXP環境では
そんなコマンドないよと言われてしまうのでそれが原因かなあ?

v2c.execを使わず(429行目以降でやってるように)java.lang.Runtimeのexec()を使って
waitFor()で終了待ちするようにするとうまく動くようになりました。

あと、デバッグモード(582行目のコメントを外す)も試してみたのですが
590行目の htmltodatDir が not defined のエラーになっちゃいます。
これもよくわからないのですが12行目(8行目(function() { ・・・ の中)で宣言されてるので
スコープから外れてるような?
宣言をスクリプト先頭に移すと動くようになりました。

しかし、このスクリプトで感心したのが、win環境以外で動かすためのCompatibleModeの部分。
まだちゃんと解読できたわけではないですが、htmltodatの動作をシミュレートしようとしていて
なかなか胸熱です。
もうちょっと弄って遊んでみよう。

147 ◆/vmukiyuzw:2013/01/12(土) 22:04:29
開発用PC(ほぼ死にかけ)から常用PCへ開発環境の移行をやってました。
(このへん ttp://www.geocities.jp/openjanemania/compile.htm を参考に)
# バージョン0.10.2は新環境での初リリースなんで、もしかしたら不具合出るかも

Delphiのインストールだけなら(インストーラが残ってたので)なんてことはないのですが
使ってるコンポーネントのインストールやらIndyのインストールやら
もともと基本が分かってない上で徒手空拳でやってた部分はほぼ記憶の彼方なので
結構難儀しました。まあ仕方ないかな

しかし思ったのが、例えばソース公開したとしてもDelphi6Personalなんて開発環境は
現在では入手すら困難なわけで、
時間があればC#あたりに移植したいな。(JavaはGUI作るのが面倒そうなので)
# もしくは誰かもっといいのを作ってくれないかな

148 ◆/vmukiyuzw:2013/01/18(金) 20:41:45
すごい前の話なんですが・・・
>>100-102 で言ってたJaneWlitaを今さらながら導入しました。

# 外部コマンドPart10
# http://mattari.plusvip.jp/test/read.cgi/jane2ch/1274781645/821-
# で見かけたことがきっかけ

これはなかなかいいものですね。
しかもそれを実装してる仕組みも興味深い。

# C#やろうとか言いながら最近JavaScript関連ばっか追いかけてる気がする

149 ◆/vmukiyuzw:2013/01/29(火) 00:32:50
http://jbbs.livedoor.jp/bbs/read.cgi/computer/1929/1038588508/754
> マッチさせたかったのは&nbsp(実際には半角)だったのですが、
> 掲示板に書き込む時にただの半角スペースに変換されちゃうのを忘れてました。
> 正規表現:
> m#(?:</h1>|\t)(\d+):?.nbsp;:<span class="postname">(.*?)</span>:()(.*?)<br />\s*<(?:h2|p) class="resbody">(.*?)(?:</h2>|</p>)#mik

「.nbsp;」とした部分が「ちょっとどうなの?」て感じがしなくもないですが^^;

&amp;を(半角にして)使って &nbsp; とする手もあったのですが
「prmファイル内容」欄とこの掲示板の書き込み内容の間で
どっちからどっちへも単純にコピペできて使えるようにしようと考えると
とりあえずこういう表現がいいかなと考えました。
まあ問題があればそのとき考えましょう。

150 ◆/vmukiyuzw:2013/04/01(月) 22:40:14
まちBBSで投稿日に2013/03/32の表記が出てるみたいですね。
バグだったらしゃれにならないしジョークだったら数年前の2chそのままで面白くもないし
一体なんなんでしょうね。
今更相手する気はないですが前に悩まされたのを思い出したので不愉快です。

151 ◆/vmukiyuzw:2013/04/06(土) 23:39:26
テキストエディタで、正規表現でインクリメンタルサーチができるものがあれば
htmltodatでの正規表現調べるのに随分捗るなあと思って探してたんですが
灯台下暗し?昔から愛用してた秀丸エディタに機能があるのを最近知りました。
(「インクリメンタルサーチ」という機能名じゃなかったので気づかなかった)
他にもできるエディタはあるかもしれないけど。

で、ちょっと思ってるのが、htmltodatのHTMLソース欄とか本当はテキストエディタ的に
検索とかいろいろ操作できたほうが便利だと思うのですが、現状の自分のスキルでは
とてもそんな実装は出来そうにない。現状はテキストエディタにコピペして何とかやってる状況です。
なら、もうそれしかできないのを受け入れてしまって、HTMLソース欄を直接任意のテキストエディタで
開けるようにしてしまったらどうだろう。

・・・ていうのが次のバージョンアッププランです。
まあ正直、これをやったところでうれしいのは自分だけかもしれないですが^^;

152 ◆/vmukiyuzw:2013/04/14(日) 01:13:37
http://yy61.60.kg/test/read.cgi/v2cj/1365215326/7-11
> 暇つぶし2ch.prmから取得すると
> http://engawa.2ch.net/test/read.cgi/isp/1360402194/
> のようなレス内のリンクが
> engawa.2ch.net/test/read.cgi/isp/1360402194/
> となります。

これって多分
http://jbbs.livedoor.jp/bbs/read.cgi/computer/1929/1038588508/683
の後半で書いた問題なんだと思います。
「暇つぶし2ch.prm」と書かれているものがどこから取得されたものかわからないですが
それに記述が含まれていないんではないかと。
663さん(mirrorhenkanさん)が書かれた暇つぶし2ch.prmには記述されてるようでしたが。

153 ◆/vmukiyuzw:2013/05/28(火) 23:51:04
したらばでは板に書き込みがあるとメールが来るように設定できるんです。
書き込み多い板だとうっとおしいでしょうが、うちの板くらいの書き込み頻度だと
ちょうどいい感じで来るし問題発生を見逃すこともないので設定してたんです。

でも http://jbbs.livedoor.jp/bbs/read.cgi/computer/1929/1038588508/768
の書き込みでメールが来なかったことに気づいて、おや?と思ってちょっと調べたら
送信のメールアドレスが変わったみたいです。それがメール受信のドメイン拒否に
引っかかってしまったのかな?許可するようにしたらメール来るようになりました。
もし同じ問題がある方は seesaa.jp を許可するようにすればいいと思われます。

154 ◆/vmukiyuzw:2013/06/11(火) 00:45:09
ログ速とはどこまでも戦っていかなくてはいけないのかな・・・^^;

155 ◆/vmukiyuzw:2013/06/21(金) 23:16:17
http://jbbs.livedoor.jp/bbs/read.cgi/computer/1929/1038588508/776

> # ログ速内へのURLリンクの強引な逆変換・・・Jane系でしか使えないと思われるのでとりあえずコメントアウト
> #s#http://www\.logsoku\.com/r/(.*?)/(\d+)/#http://dummy.2ch.net/test/read.cgi/$1/$2/#ig

Jane系では2chのスレらしきURLの場合、そのURLから直接ではなく
Jane2ch.brd(板一覧のファイル)を経由してそこに書かれてるサーバ名に
アクセスしてるようで、つまり正しいサーバ名でなくてもほぼ問題ない?
との仮説の基に、適当なサーバ名に書き換えようとしてます。
(どのみち本来のサーバ名は失われてるのだから)

Jane系をお使いで、かつそんないい加減なdatでも使えれば問題ない、という方は
コメントアウトを外して(行頭の#を削除して)使ってみてください。

156 ◆/vmukiyuzw:2013/06/27(木) 23:45:48
http://jbbs.livedoor.jp/bbs/read.cgi/computer/1929/1038588508/777
で書いたとおりログ速側で対応してくださったようなので
>>155 の書き込みは取り消します。ご容赦ください

最近の2chでは過去ログへのURLリンクを書き込む際に
2ch内でのURLではなくログ速やみみずんのURLを書き込むケースが
ときどき見られるようです。
そういうのまで変換してしまったらまずいかなと思われますので。

157 ◆/vmukiyuzw:2013/06/28(金) 23:07:12
ぐぐってたらたまたまこんなのを見つけたんですが。
ttp://nvmzaq.blog.fc2.com/blog-entry-119.html

ログ速さんがやったことは「改竄」であり「原則から逸脱したもの」とみなす向きが
あるようですね。これが原因で元に戻されたのですかね。
個人的には「htmltodatで変換するのに厄介だから」くらいにしか考えてなかったですが
転載するのに内容を改竄するのは確かに問題あるかもしれないですね。

158 ◆/vmukiyuzw:2013/08/11(日) 00:52:29
http://jbbs.livedoor.jp/bbs/read.cgi/computer/1929/1038588508/784

もうじき管理が完全に seesaa に移ってURLも変更されるだろうから
それまで修正は待ったほうがよかったのかもしれませんが・・・
それはそれでいろいろ面倒な作業がいろいろ必要だろうから
先に済ませられることは済ませておこうかなてな感じです。

まあ、いろんなところに貼られてるリンクが多分意味なくなっちゃう
だろうことが悲しいですねえ。
(前にinfoseekがなくなったときもかなり悲しかったですが)

159 ◆/vmukiyuzw:2013/08/27(火) 22:34:12
2chがなかなか大変なことになってるようで・・・
多分今はまだ何もしないほうが良いのでしょうね
というわけで静観です。。

160 ◆/vmukiyuzw:2013/08/27(火) 22:44:56
火事場泥棒じゃないけどこういうのが商売になったりするのかもですね
そういうのができない自分はやっぱ商才とかないんだな

161 ◆/vmukiyuzw:2013/10/05(土) 19:10:53
http://qb5.2ch.net/test/read.cgi/operate/1380281358/562,565

こういう口出しするのはどうかと自分でも思うんですが
http://mirrorhenkan.g.ribbon.to/jane/htmltodat-convert/
は、もう公開やめたほうがいいんじゃないですかね
http://mirrorhenkan.g.ribbon.to/jane/htmltodat-convert2/
のほうがはるかに良いと思われますし

162 ◆/vmukiyuzw:2013/10/06(日) 19:07:39
http://yy14.kakiko.com/test/read.cgi/mirror/1353918147/46

勢いでなんか書いてしまいすみません
相変わらずお忙しそうなのでまた気の向いたときにでも

163 ◆/vmukiyuzw:2013/10/28(月) 20:37:03
http://anago.2ch.net/test/read.cgi/software/1348064199/871-

私は時々htmltodatでまとめサイトのコメントをdat化して読んでますが
経験的にはやっぱその都度正規表現考えないといけなくて
汎用化は難しい気がしますね。

まあdat化そのものは経験があれば大して難しくは無いと思うのですが
面倒なのは、コメント中のレスアンカーに統一された形式が無い事。
2ch互換の掲示板なら>>1みたいにするところを※1だとか米1だとか
しかも同じhtmlの中でも統一されてなかったりするのが厄介だなと
思ったことがありました。

164 ◆/vmukiyuzw:2013/11/07(木) 21:45:19
最近、「詳説 正規表現」という本を入手しました。
正規表現のバイブルとして有名な本なので前から読んでみたかったものです。
(amazonで中古本がやたら安かったのでつい買ってしまった^^;)

で読んでみて、非常に勉強になりました。
今まで正規表現には結構詳しいつもりでいたのが全然そうでないのを思い知らされました。
今は
http://perldoc.jp/docs/perl/5.18.1/perlretut.pod
http://homepage3.nifty.com/k-takata/mysoft/bregonig.html
など見ながら何ができるか再度勉強してます。実際に動かしてみるのが一番身に付く気がします。

で、htmltodatをバージョンアップして、覚えた事の一部を反映したい気持ちが湧いてきました。
(また誰得のひとりよがりな更新になっちゃう可能性が高いですが)

165 ◆/vmukiyuzw:2013/11/25(月) 19:37:37
http://jbbs.livedoor.jp/bbs/read.cgi/computer/21256/1164941934/797-800

htmltodatもバッチファイルやスクリプトから呼べるようになったし
いろいろ機能拡張してるんで
これはその辺組み合わせればできるんじゃね?と思ってやってみました。
# 結構イレギュラーな使い方なんでサポートスレでなくこちらで軽く雑談程度に

必要なファイル:
・sorttest.cmd (処理全体を起動するバッチファイル。後述)
・Rちゃんねる.prm (Rちゃんねるをdat変換するためのprmファイル。後述)
・sortN.cmd (datファイルをソートするために使う外部ツール。
 http://www.vector.co.jp/soft/winnt/util/se428840.html からダウンロードしたものを
 解凍すると含まれているものをそのまま利用)
・ソート後処理.prm (ソート後のdatファイルを加工するためのprmファイル。後述)

必要なファイルはとりあえず htmltodat 本体と同じフォルダに置いてください。
(実行もコマンドプロンプトで htmltodat のフォルダに移動してから)

(続く)

166 ◆/vmukiyuzw:2013/11/25(月) 19:40:19
(続き)

まずはバッチファイル、sorttest.cmd 。
コマンドプロンプトから sorttest.cmd URL(←URLは http://・・・の形式で)
で実行します。
まあちょっと弄れば専ブラの外部コマンドとかでも動かせると思います。

@rem -----ここから----------------------------------------------------------------------

echo off
@rem 使い方:コマンドプロンプトで sorttest.cmd URL(←URLは http://・・・の形式で)を入力

@rem 手順1.Rちゃんねるのログをdat変換(行番号付き)
@rem  (0行目に後で使うためスレタイを入れている)
htmltodat.exe %1 Rちゃんねる.prm $temp1.dat

@rem 手順2.行番号でソート
call sortN.cmd < $temp1.dat > $temp2.dat

@rem 手順3.行番号の削除(andスレタイ付与)
@rem  第3パラメータを省略しているので変換処理までしか行わない(ファイル保存は手動でやる)
@rem  ファイル保存後はhtmltodatを手動で必ず終了すること(でないとこのコマンド全体が終了しない)
htmltodat.exe $temp2.dat ソート後処理.prm

@rem 手順4.テンポラリファイルの削除(一応お行儀よく)
del $temp1.dat
del $temp2.dat

167 ◆/vmukiyuzw:2013/11/25(月) 19:44:13
(続き)

次に、Rちゃんねる.prm。


コメント:
# Rちゃんねるのhtmlをdat変換
# ただし、レス番号順に並んでいないため、後でソートするためレス番号を先頭に付加しておく
# (そのため「変換結果式」に$1が入る)
# また、スレタイトルを後で取得するためレス番号0に入れておく

前処理:
# スレタイトルをレス番号0に偽装させるための処理
s`(<title>)([^|]+) \|.*(</title>)`<div id="0"><div class="comment">$2</div>`ik

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

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

正規表現: ※拡張形式を使ってみた
m`
(?# レス番号) <div\ id="(\d+)"
(?# 名前・メール欄・投稿日はこのhtmlには存在しないためダミーでマッチさせる) ()()().*?
(?# レス内容) <div\ class="comment">(.*?)</div>
`ikx

168 ◆/vmukiyuzw:2013/11/25(月) 19:45:49
(続き)

次に、ソート後処理.prm。


コメント:
# レス番号付きのdatがソートされた後の処理
# ・レス番号をとっぱらう
# ・レス番号0に偽装していたスレタイをレス番号1の後ろに付与する
# これらは前処理だけで話は済むのでdat変換処理はしない

前処理:
# レス番号の除去
s`(^|\n)\d+<>``ikg
# 0行目に設定されていたスレタイを1行目の後ろに付ける
s`^<><><>(.*?)<>\s*(<><><>.*?<>)`$2$1`ik

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

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

169 ◆/vmukiyuzw:2013/11/25(月) 20:01:40
(続き)

まあやってることはコメント参照してください。

ソートした後、もう一度htmltodatを呼び出して
あたかもhtmltodat一発で変換・並べ替えまでできてるように
見せかけたとこが工夫といえば工夫ですかね〜。

あと、バッチファイルなどさわるのは久々だったんで
sortN.cmdを呼び出すのに、callをつけないと
制御が戻ってこないことに気づくまでしばらく悩みました^^;

170 ◆/vmukiyuzw:2013/11/26(火) 19:10:40
>>167
ちょっと修正
(「URLの変換」の記述が漏れていた、&
dat上の「投稿日」欄が空だとブラウザにより破損ログとみなされてしまうことがわかったので
とりあえず「名前」欄($2)と「投稿日」欄($4)に半角スペースを入れるようにしてみた)


コメント:
# Rちゃんねるのhtmlをdat変換
# ただし、レス番号順に並んでいないため、後でソートするためレス番号を先頭に付加しておく
# (そのため「変換結果式」に$1が入る)
# また、スレタイトルを後で取得するためレス番号0に入れておく

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

前処理:
# スレタイトルをレス番号0に偽装させるための処理
s`(<title>)([^|]+) \|.*(</title>)`<div id="0"><div class="comment">$2</div>`ik

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

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

正規表現: ※拡張形式を使ってみた
m`
(?# レス番号) <div\ id="(\d+)"
(?# 名前・メール欄・投稿日はこのhtmlには存在しないためダミーでマッチさせる) ()()().*?
(?# レス内容) <div\ class="comment">(.*?)</div>
`ikx

171 ◆/vmukiyuzw:2013/11/26(火) 19:13:59
>>168
ちょっと修正
>>170の修正を受け、datの形式が多少変わっても汎用的に
対処できるようにしてみた)


コメント:
# レス番号付きのdatがソートされた後の処理
# ・レス番号をとっぱらう
# ・レス番号0に偽装していたスレタイをレス番号1の後ろに付与する
# これらは前処理だけで話は済むのでdat変換処理はしない

前処理:
# レス番号の除去
s`(^|\n)\d+<>``ikg
# 0行目に設定されていたスレタイを1行目の後ろに付ける
s`^.*?<>.*?<>.*?<>(.*?)<>\s(.*?<>.*?<>.*?<>.*?<>)`$2$1`ik

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

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

172 ◆/vmukiyuzw:2013/11/26(火) 23:16:37
さて、これをもう少し発展させれば
以前どこかで話が出ていたいわゆる「まとめサイト」の変換にも
応用できるかもしれません。

まあまとめサイトにもいろいろあるようで、例えば
複数スレを一つにまとめたようなものには
到底対応できないと思いますが。

173 ◆/vmukiyuzw:2013/11/28(木) 05:51:29
http://yy14.kakiko.com/test/read.cgi/mirror/1353918147/49-56
いい感じに出来上がってきましたね。

一点コメントさせていただくなら、
「getdatpath.wsf の結果を手動でコピーしてhtmltodatに貼り付けてdat保存」
という手順になってるようですが、ここは自動化できるのでは。
getdatpath スクリプトの結果をバッチファイル内で変数にセットして
2回目の htmltodat.exe 呼び出し時に第3パラメータで指定する方式にすれば
できるのではと思いました。

ちょっとやり方調べてみました。
wsf側では、処理結果のdat保存ファイル名を WScript.echo(・・・) の形式で
結果を標準出力に吐くように変更すれば
(で、実行を cscript から呼び出すようにすれば)バッチファイル側で受け取れるはずです。

で、バッチファイル側では for コマンドを使えば標準出力を変数にセットできるようです。

for /f %%D in ('cscript getdatpath.wsf %1') do set datpath=%%D

# これはサンプルをほぼコピーしただけで動いちゃったので
# for コマンドのパラメータとか正直まだあんまり理解してないです^^;
# unixのシェルスクリプトだともっとシンプルな記述でできそうですが
# windowsのバッチコマンドだと for コマンドに色々機能が詰まってるようです

これで多分バッチファイル内の変数 datpath にdatの保存ファイル名がセットされるので、
後は手順3.を

htmltodat.exe $temp2.dat ソート後処理.prm %datpath%

としてやれば、datファイル保存の部分までは自動化できると思います。

174 ◆/vmukiyuzw:2013/11/28(木) 05:54:47
http://yy14.kakiko.com/test/read.cgi/mirror/1353918147/55

> それと>>51の正規表現がJaneだとカッコが%28に化けてるのは何とかなんないのかな

もしかしてReplaceStr.txtをお使いではないですか?
以前うちのサポスレでこんなやり取りがありましたが似た様な話に思えます

http://jbbs.livedoor.jp/bbs/read.cgi/computer/1929/1038588508/679-681
(実際にはもう少し前から結構長いやり取りがあるのですが要点と思われるとこのみ)

175 ◆/vmukiyuzw:2013/11/28(木) 21:47:27
http://yy14.kakiko.com/test/read.cgi/mirror/1353918147/57

あんまり自信ないんですけど・・・こんなのどうでしょう

for /f "tokens=* delims=" %%D in ('cscript getdatpath.wsf %1') do set datpath="%%D"

これで途中半角スペースがあるようなパスでも正しく取得できるような。

176 ◆/vmukiyuzw:2013/11/28(木) 22:51:03
あと、最後の

@rem 手順5.Janeで該当スレッドを開く
Jane2ch.exe %1

だとバッチコマンド自体が終了せずプロセスが残ってしまうかも。

start Jane2ch.exe %1

だと非同期起動なのでいいかもしれません

177 ◆/vmukiyuzw:2013/11/29(金) 01:23:50
>>176
いや、起動中のJaneを横から(?)叩いてスレを開かせる場合
叩いた側のJaneは終了するようになってたかな
であれば非同期にしなくても問題ないか

178 ◆/vmukiyuzw:2013/11/29(金) 19:09:10
>>175
なんとなく分かったんですけど、たぶん問題は2段階あって

・forコマンドで途中にスペースを含むパス名をとりだすのに"delims="が必要

・これをhtmltodatの引数にそのまま渡すとスペースがそのままシェル(cmd.exe)に解釈されて
 複数の引数として渡ってしまうので、コマンド変数を""でくくって
 「1つの引数ですよ」とシェルに教えてやる必要がある

>>175 の例では set datpath="%%D" とやってたまたまできたのですが
htmltodat起動方法を

htmltodat.exe $temp2.dat ソート後処理.prm "%datpath%"

とするほうがいい方法のような気がします。

179 ◆/vmukiyuzw:2013/12/02(月) 23:16:58
どうも最近PCの動作がトロくて
どうやらメモリ不足でスワップが多発している模様だったので
メモリ増設することにしました。
(またamazonで安いのをgetした)

しかし、取り付けてみたもののBIOSでは認識されてるようなのに
OSが起動しない。なんでじゃ?

検索してみると「標準実装のメモリと同時には使用できません」とのこと。
結局標準のメモリを外して付け替えることになり、
「増設」とはならず「入れ替え」に終わったのでした・・・
まあそれでも前よりはメモリが増えて若干快適になったような。

180 ◆/vmukiyuzw:2013/12/09(月) 20:44:42
htmltodatの最新版(v0.11.2)は
 ・「変換オプション」-「dat変換をしない(前処理のみ行う)」をONにした場合、
  前処理の結果を「dat変換結果」欄に表示するようにした。
この機能のおかげで、簡易正規表現チェッカーとして使うことが可能なんです。

(「HTMLソース」欄に対象の文字列を入力し
「前処理」欄でテストしたい正規表現を指定し「dat変換をしない」オプションをONにすると
「dat変換結果」欄に前処理の結果が表示される)

エンジンがbregonig.dllでJane系統と同じ(バージョンは若干違うようですが)なので、
NGEx.txtとかReplacestr.txtのチェックに使えたりもします。

そんな中ちょっと気づいたことがあるのですが長くなりそうなので次レスで。

182 ◆/vmukiyuzw:2013/12/09(月) 21:20:01
あーなんか勘違い。取り消します

183 ◆/vmukiyuzw:2013/12/13(金) 21:59:51
ちょっと面白いのを見つけたんですが。

ttp://1st.geocities.jp/neeetest/jane.html

なんか似てませんか(笑)
てか同じようなことをしようとすると似たようなUIになっちゃうのかしら。

それより気になったのが、このソフトで使われてるテキストエディット部分。
どんなコンポーネント使ってるんだ?と思ったらreadmeに書いてくれてました。
どうやらDelphiで作られてるようなのでhtmltodatにも組み込めるかな?
今の(htmlソース欄等の)エディット部分には正直不満があるので
差し替えることができないか検討してみようと思います。

184 ◆/vmukiyuzw:2014/01/11(土) 01:27:03
いろいろやりたいことはあるのですが年末からずっとバタバタしててなかなか捗らないです。
とりあえず、だいぶ前の話なのですが
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/631,632,638-643

これは>>165- の手法でできるんじゃね?と考え、やってみました。

必要なファイル:
・sorttest.cmd → >>166 のものを「Rちゃんねる.prm」の部分だけ「テレビジン.prm」に書き換える。
 もしくは「%2.prm」みたいにしてしまって実行時に与える形にしたほうがいいかも。
 専ブラから外部コマンドで呼び出したいような場合は663(mirrorhenkan)さんの
 http://yy14.kakiko.com/test/read.cgi/mirror/1353918147/50-
 を参考に。
・テレビジン.prm (後述)
・sortN.cmd (>>165で書いたものと同じ)
・ソート後処理.prm (>>171で書いたものと同じ)

(続く)

185 ◆/vmukiyuzw:2014/01/11(土) 01:35:43
(続き)

テレビジン.prm。


コメント:
# テレビジンのhtmlをdat変換
# 後でソートするための処理はRちゃんねる.prmとほぼ同じなのでそちら参照

前処理:
# スレタイトルをレス番号0に偽装させるための処理
s`(<title>)(.+?)\ -\ テレビジン(</title>)`<dt>0<b></b></font>:</dt><dd>$2</dd>`ik
# <br />タグに対応していないブラウザのための処理
s`<br />`<br>`ikg

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

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

正規表現:
m`<dt>(?:<a\ name=.*?>)?(\d+).*?<b>(.*?)()</b></font>:(.*?)</dt><dd>(.*?)</dd>`ikx

186 ◆/vmukiyuzw:2014/03/04(火) 23:51:49
XPのサポートが終わるってことで、消費税も上がるぜってことで、
新しいPC(Windows8)買っちゃいました。(めっちゃ安かったので^^;)
いろいろ弄ってる最中です。

意外(でもないか)だったのは、htmltodatもJaneも特に何もしなくても動くんですね。
htmltodatはなぜかprmファイルのウィンドウだけがボタンがはみ出してしまったりしたので
そこだけはちょっと何か対応しないといけないか。。。

187 ◆/vmukiyuzw:2014/04/01(火) 20:55:21
http://anago.2ch.net/test/read.cgi/software/1394109798/771,775,776,778,780

これって多分

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

の事象なんでしょうね。
(ブラウザでは読めるがdatは取れない)
ともあれ役に立ったようで良かった。

188 ◆/vmukiyuzw:2014/04/06(日) 00:29:36
ようやくWindows8.1環境にもろもろの環境を移し終えました。
(買ったときは8だったけどアップデートが来て8.1になった)

しかし前回XP→XPの移行時も結構大変でしたが今回はOSも違うし
なかなか大変でしたね。なかでもやはり開発環境の移行。
次にまた痛い目に合わないよう一つ一つメモしながら作業しました。
そんな感じの中、新環境でコンパイルしたものをリリースしました。
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/800

まあXPのサポートが終わるのもあってその前にXP環境以外で
コンパイルしたバージョンを出しておきたかったというのがちょっとあります。
開発ツールが変わったわけじゃないんで吐かれるバイナリは
基本的には変わらないはずなんですけどね。気持ちの問題。

189 ◆/vmukiyuzw:2014/04/26(土) 22:12:08
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/801
について若干補足。

663さん(mirrorhenkanさん)の
http://mirrorhenkan.g.ribbon.to/jane/htmltodat-convert2/
を使って、
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/799
のprmファイル(readcgi.prmで保存)を使って、JaneStyleの外部コマンドで過去ログを読んでました。
(コマンド登録内容:htmltodat-readcgi=wscript "$BASEPATHhtmltodat-convert2.wsf" "$LINK$URL" "readcgi")

ところが某スレで、1001まであるはずのスレが1000までしか取得できていないのを発見。
調べてみると、スレの1が取得できていないことがわかった。
さらに調べると、コマンドの引数 "$LINK$URL" には、リンク右クリックで呼び出した場合
リンクのURLと呼び出し元のURLがつながった形で渡ることを確認。
つまり、本来呼び出したいURLの後ろに不要なものがくっついた形で呼び出されてしまうのです。
この形式でスレをhtmlで呼び出した場合、スレURL/2- みたいに解釈されるのか(この辺は原因不明)
スレの2以降しか取得できず1が飛ばされる結果になっていた。

GetLogとかもコマンド引数に "$LINK$URL" を取っていたはずだが不具合は起きないんだろうか・・・
と調べてみたら、必ず正規表現でURL引数を読み替えてから呼び出す仕様になっていて、
不要なものがくっついていても問題ないようになっていました。
この不具合を避けるためにはhtmltodatのprmファイルでもURLの変換を入れて
引数から必要な部分だけを自分で拾うようにするべきかと考えました。

190 ◆/vmukiyuzw:2014/05/02(金) 22:40:00
http://anago.2ch.net/test/read.cgi/software/1396868726/741

googleよりもログ速のスレタイ検索のほうが確実じゃないの?と思って

$CHOTTO http://www.logsoku.com/search?q=$TEXTIU

こんなコマンド作ってみたんですが、返ってくるURLリンクが2ch.netのものではなくlogsoku.comのものなので
Janeで読むにはひと工夫必要なんです。

とりあえず、リンクをクリックするとログ速でのスレが既定のブラウザ(うちではFirefox)で開かれるので
Firefoxの右クリでコマンドを実行できるアドオンを入れてみました。
(ログ速で表示されるスレで「2ch元スレ」を右クリしてJane2ch.exeを呼び返す)

しかし一旦Firefoxを経由しないといけないのがいまいちか。スクリプトでlogsoku.comのURLを
うまいこと2ch.netに読み替えるとかできたら使い勝手あるかもだけどやっぱニッチかな?
連休といってもほぼ暇なんで研究してみるけどあまり期待はできない^^;

191 ◆/vmukiyuzw:2014/05/04(日) 05:42:43
http://jbbs.shitaraba.net/bbs/read.cgi/computer/21256/1164941934/810

2回外部コマンドを呼ぶのはやむを得ないと思うんですが
2・3(つまりFirefoxを呼んで返ってくる手間)を何とか省けないかなと思ったのです。
ここをスクリプトで自動化できたら1ステップ減らせるかなと。

ログ速のURLに鯖名が含まれないのを取り返す方法はいくつか考えられたのですが、
ログ速のスレを読み込むとその中に2ch元スレへのリンクが含まれてるので
それを抜き出して利用するのが簡単かなと思いました。
(bbsmenuを経由するようなアプローチだと、過去ログの場合
鯖移転でそのスレが実在してた時点の鯖と違う可能性があると思われる。
これにより鯖違いで過去ログが読めないケースも出ているようなので)

で、一応形になったかもしれないのでUPしておきます。
http://mukiyu.g.ribbon.to/scripts/URLConvertLogsokuTo2ch.wsf

コマンドでの呼び出しはこんな感じで。

wscript $BASEPATHURLConvertLogsokuTo2ch.wsf "$LINK"

基本的には>>190の「ログ速のスレタイ検索」から呼び出す専用です。

あと現行ログ用です。ログ速のスレタイ検索では現行ログかdat落ちかは
識別できるようになってますが、もしdat落ちしてた場合はhtmltodatで
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/801
(補足>>189)など使っていただければ。

ところで、ttsearchが復活したという話をあちこちで見かけますね。
であればログ速でのスレタイ検索なんてやはり誰も使うことはないのか・・・
過去ログも含めて検索できるといういい点があると思うんですけどねー

192 ◆/vmukiyuzw:2014/06/04(水) 23:20:58
http://mukiyu.g.ribbon.to に繋がらないなーと思ってたら
ribbon.to の都合でIPアドレスが変更されたみたいです。
DNSの浸透が遅れていたのかな?やっと繋がるようになりました。

繋がらないといえばもう一つ
yyかきこがずっと死んでるみたいですね。
もう復活することはないみたいな噂も目にしましたが
今yyに板を構えてる方々はどうされるのか。。
チェックしていた板もあるので気になるところです。

193 ◆/vmukiyuzw:2014/06/12(木) 22:35:57
http://mattari.plusvip.jp/test/read.cgi/jane2ch/1368370279/128-129

http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/801
だと取得できますけどね。みみずんにもログがないとはどういう状況だろう。

http://anago.2ch.net/test/read.cgi/software/1401011356/461-462

も同じスレのことみたいだけどどこから取得できたんだろう。

194 ◆/vmukiyuzw:2014/06/13(金) 20:31:06
http://anago.2ch.net/test/read.cgi/software/1398335147/615

以前みみずんにあるまちBBSの過去ログ変換をやったことがあります。
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/709-712

今回はこれのprmファイル化を考えてみます。
(但し、以下をprmファイル化するだけではスクリプトでのログ取得はできない。
次レスに続く)


コメント:
# まちBBSの過去ログをみみずんから取得する

URLの変換:
s`http://(.*?)/bbs/read\.cgi/(.*?)/(\d+)/?.*`http://mimizun.com/log/machi/$2/$3.dat`

前処理:
# 1行目最終フィールドからスレタイを生成
s`^(\d+<>.*?<>.*?<>.*?<>.*?<>)(.*?)\n`<title>$2</title>\n$1`ik

透明あぼーんを補う:
true

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

正規表現:
m`(\d+)(?# 第一フィールドはレス番なので捨てる)<>(.*?)<>(.*?)<>(.*?)<>(.*?)<>`ikx

195 ◆/vmukiyuzw:2014/06/13(金) 20:43:34
>>194続き)
上で書いたprmファイルをJaneのコマンドに組み込んで動作するかテストしたのですが
>>189と同様 http://mirrorhenkan.g.ribbon.to/jane/htmltodat-convert2/ を利用)
「Unregistered BBS」のエラーになります。
このエラーは、指定したURLの板がJane2ch.brdに存在しないということなのですが
調べてみると、URLにマッチさせてJane2ch.brdを検索するために指定されている正規表現が
まちBBSのURL形式に対応できていない部分がありエラーになっているようです。

スクリプトの13行目、
var src = 〜 として正規表現が指定されてるのですが、途中 /(?:test/.+?/) となってる部分があり
xxx.2ch.net/test/read.cgi/ の部分にマッチさせることを意図してると思うのですが
まちBBSでは xxx.machi.to/bbs/read.cgi/ となっているためマッチせずエラーになっていた模様。
ここを /(?:(?:test|bbs)/.+?/) としてやると多分うまくいくようになったと思います。

この話(/bbs/read.cgi/にマッチしない)のはほぼ同じような処理をしてるGetlogとかでも同じなんですが
URLの読み替えだけ対応しても取得できるdatの形式が2chとは異なるので
プラス何らかの対処をしないとそれだけでは専ブラで読めないと思われます。
htmltodat+htmltodat-convert2だとそこにはすでに対処しているので大丈夫と思います。


ところで、これのテストの為に過去ログをいくつか漁ってて気づいたんですが、
まちBBSではログURLをPATH_INFO形式でなくQUERY_STRING形式
(/read.cgi/板名/スレ番号/ ではなく /read.cgi?BBS=板名&KEY=スレ番号 の形式)
で表現されてるものがたまにあるようなのです。
2chではかなり昔に廃れた形式なのですが、まちBBSでは今でも使われてるのか
たまたま開いたスレがそうだっただけなのか。
この形式に対応しようと思うとまた別の読み替えパターンを考えないといけない・・・
面倒そうだしとりあえず放置しますか。

196 ◆/vmukiyuzw:2014/07/12(土) 00:46:17
http://anago.2ch.net/test/read.cgi/software/1405086867/

htmltodatでは 2ch.net のサーバにdatを取りに行く必要性はないので
直接的な影響はなさそうですが、なんか回りまわって
間接的な影響が出てきそうな予感がします。
いずれにせよ現時点では様子見くらいしかできないですが。

197 ◆/vmukiyuzw:2014/07/15(火) 06:45:17
まあどこまでできるかはわからないけれども
やりたいことのネタは振ってもらった感じですかね〜
目標としてレベル1,2,3と設定したんで
とりあえずレベル1を頑張る。といっても多分のんびりだし
同じことを先にやる人がいたらあきらめちゃうでしょうが。

198 ◆/vmukiyuzw:2014/09/14(日) 23:41:26
レベル1というのは、既存のプロキシツールを使って
htmltodat的処理を実現することだったんです。
本当はhtmltodat自体にプロキシ機能を組み込めたらいいなと思ったんですが
それは結構ハードルが高い・・・ので後回しにして手軽そうなとこから始めようかと
思った次第です。

最初はproxomitronのフィルタ程度でできるんじゃね?とタカをくくってたのですが
あんまりややこしいことするにはちょっと厳しいかなと断念。
で、いろいろ探してみたんですが、Fiddlerというソフトを発見しました。
わかりやすい解説は以下など
http://blog.loadlimits.info/2009/09/%E5%AE%9F%E3%81%AFfiddler%E3%81%8C%E3%81%99%E3%81%94%E3%81%99%E3%81%8E%E3%81%9F%E3%81%AE%E3%81%A7%E3%80%81%E6%A9%9F%E8%83%BD%E3%81%BE%E3%81%A8%E3%82%81%E7%B4%B9%E4%BB%8B/
http://www.hagurese.net/blog/default.aspx?pn=Fiddler%E3%81%A8%E3%81%AF&amp;sn=1

webアプリ開発に関わる人には驚くほど多機能で便利なソフトなのですが
ここで推す理由はhttpリクエスト・レスポンスをスクリプトで書き換え可能なところ。
つまり、datへのリクエストをread.cgiへのリクエストに変換でき
返ってきたhtmlをdatに変換することもできてしまうのです。
英語のソフトで日本語の解説もあんまりなくてとっつきにくい点はあるんですけどね・・・

てことでとりあえずread.cgiからdat変換するスクリプトをあくまでテストですが書いてみました。
http://mukiyu.g.ribbon.to/ の htmltodatByFiddler て奴です。

199 ◆/vmukiyuzw:2014/09/15(月) 23:59:16
>>41で書いたんですが(てもう9年も前かよ!)、
以前、Javaでプロキシもどきを書いてhtmltodatの前身みたいなことしてたんです。
その当時を思い起こすと、やりたいことは
・リクエストされたURLの読み替え
・返ってきたhtmlからdatへの変換
だけなのに、プロキシソフトとして成立させようと思うと
やりたいことの100倍くらいコード書かないといけなかったんです。
(通信回りとか文字コード変換だとかもろもろですな)
それでもプロキシの機能をすべて満たしてたわけではなかった・・・

それを考えると今回>>198で私の書いたコードは30行程度?
プロキシソフトの機能は満たしてる上に必要な機能を乗っけられたので
ものすごく簡単にできたのです。
実のところ、レベル2とか3とかいうのは
自分でプロキシサーバを書くことを目標にしてたんですが
こんな便利なツールがあるならこれを生かしていったほうがいいのでは?
とちょっと考え中です。

200 ◆/vmukiyuzw:2014/09/16(火) 21:01:28
>>198
今日、知人と「連休にこんなスクリプト書いたよ」って話をしていると
「それって配布していいもんなの?」との指摘を受けました。
確かに著作権の問題はあまり気にしていなかった・・・
C#等で作ったアドオンを公開されている方もおられるので
その延長で問題ないかと思ったのですが、
スクリプトで公開するとなると「Fiddlerが自動生成したスクリプト」を
含むことになるので、もしかしたらこれが問題になるかもしれません。
(生成されたスクリプトには著作権に関する記述はないようなので
問題ないのかもしれませんが)

ちょっと導入の敷居を上げることにはなるのですが、
配布するのは自分で書き足した部分だけにして
使う側でマージしてもらうということにしたほうが安全かなと考え
そのように変更しました。

201 ◆/vmukiyuzw:2014/09/21(日) 22:05:49
>>198
のスクリプトを修正しました。
 ・bbspinkへの対応が漏れていたので追加
 ・BE周りの処理が漏れていたので追加

しかし修正して再度配布することまで考慮してなかった(←考えが浅い)。
まるごとのスクリプトであれば全部上書きしてくれ、で済んだんですが
>>200みたいな事情で少々面倒なことしてるんで
すでに導入された方にはまたご面倒をかけると思います。
次の修正がもしあるなら配布方法を考えたほうがいいだろうなあ。

202 ◆/vmukiyuzw:2014/09/21(日) 23:19:00
さて、「これはいったい何をやってるのか」という話ですが。

>>196
でちょっと書いたのですが、2ch.netのdatの取得方法が変わるという話が
上がっているのです。
(現行スレは http://anago.2ch.net/test/read.cgi/software/1409909191/

で、既存の専ブラは何らかの対応が必要になると思われているのですが、
更新が長く止まっていてこの仕様変更に対応できないのではないかと
危惧されるものも少なからずあり、
プロキシでread.cgi直読みしてdatに変換することで当面対応できないかという話も
上がってるわけです。

新仕様についての具体的な話はまだないので
この先どうなるかはまだ不明ですが、とりあえず何かできないかなと思って
まあ遊びがてらですがいろいろやってみているという状況です。

203 ◆/vmukiyuzw:2014/10/01(水) 20:33:55
> プロキシでread.cgi直読みして
て表現はおかしいですね
「datを直読みするのではなくread.cgiを叩いてdatに変換する」
というのが言いたかったことです。

さて、いろいろ面倒そうなのであまり手を出したくはないんですが
Fiddlerのスクリプトでローカルのファイルを読み書きする方法は
あるかないかだけ調べてみました。

Javascriptの仲間なのでFileSystemObjectとか使うのかとか思ったのですが
これは全然見当違い。
.NET フレームワークで作られたツールなので
そっちの方向から攻めるべきだったんです。

で、具体的にどうするのかというと、スクリプトの先頭付近に

import System.IO;

てのを追記します。
これでFileクラスなどが利用できるようになるので

var lines = File.ReadAllLines(filepath);

みたいにファイルの読み書きが可能になります。
この方向で拡張したいという方の参考になれば。

# FiddlerScriptやJavaScriptで検索してもなかなか情報は得られず
# 結局C#のサンプルコードを参考にしました

204 ◆/vmukiyuzw:2014/10/17(金) 20:01:17
とある要件で調べものをしているときに、以下のようなページを発見。

http://scripting.cocolog-nifty.com/blog/2010/01/dir-c6fe.html

ん?バッチファイルの中にJScriptらしきコードが書かれてる。
そんなことできるの?
と不思議に思い調べてみました。

わかりやすかった解説

http://atl.blog.shinobi.jp/html%EF%BC%86javascript/jscript%E3%81%AE%E5%AE%9F%E8%A1%8Clogo%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%9F%E3%81%8F%E3%81%AA%E3%81%84%E3%81%AE%E3%81%A7%E3%81%99%E3%80%82

・バッチファイルの中から自分自身をJScript(WSH)として呼び出す
・バッチファイルとJScriptのどちらで実行されてもうまくいくように
 トリックを仕込んでおく

ということのようです。
これにより、本来二つのファイルに分けるところのものを
一つにまとめることができるわけです。

私が知らなかっただけで実は結構定番のテクニックらしいのですが
かなりトリッキーな気もします。
こういうのを思いつける人は頭いいなーと感心してしまいました。

205 ◆/vmukiyuzw:2014/10/17(金) 23:13:39
>>203
> Javascriptの仲間なのでFileSystemObjectとか使うのかとか思ったのですが
> これは全然見当違い。

これは勘違い(というか調査不足)だったので訂正。

WSHだと

var fso = WScript.CreateObject("Scripting.FileSystemObject");

みたいにして使うのですがFiddlerScriptだとWScriptオブジェクトはないので
できないと決めつけてたのですが

var fso = new ActiveXObject("Scripting.FileSystemObject");

とする方法がありました。
これを使えば

var file = fso.OpenTextFile("Scripts\\SampleRules.js");
var text = file.ReadAll();

みたいにファイルアクセスが可能なようです。

206 ◆/vmukiyuzw:2014/10/18(土) 21:50:50
>>198
のスクリプトを修正しました。
 ・サーバによってはgzip圧縮されたレスポンスを返してくるようなので対応
 ・サーバによってはread.cgiのバージョンが微妙に異なるようなので対応
 ・USER-AGENTでMonazillaを名乗らないブラウザにはhtmltodat変換をしないよう修正

最初にテストしてたサーバではプレーンなレスポンスを返してきてたので
こういうものなのかなと思ったんですけど、サーバによっては
gzip圧縮+チャンクエンコーディングで返すものもあるとわかりました。
まあFiddlerスクリプトにこれに対応するメソッドがあらかじめ用意されてたので
それを呼ぶだけだったんですが。

それから、その同じサーバで返ってくるHTMLの形式が微妙に異なるものがあったので
正規表現をちょっと修正しました。

あと、Fiddlerは起動するとIE等の一般ブラウザのリクエストレスポンスにも介入してしまうので
USER-AGENTをチェックしないと一般ブラウザから普通に2chのページを読むことが
できなくなっちゃう(dat形式で表示されてしまう)ので対応しました。
まあこれは「専ブラはUAでMonazzilaを名乗るはず」との前提なんですが
この暗黙の前提に従わない専ブラもあるかもしれません。
その場合は適当に弄ってください。

207 ◆/vmukiyuzw:2014/10/18(土) 22:32:18
>>206
> ・サーバによってはgzip圧縮されたレスポンスを返してくるようなので対応
> ・サーバによってはread.cgiのバージョンが微妙に異なるようなので対応

この辺がサーバによって違ってたら嫌なんで
一応、今アクティブと思われる2chのサーバ
http://ch2.ma.cx/で表示されるもの)は一通り検証しました。

その結果、このスクリプトでかなり高い確率で
生datと完全に一致する変換結果datを生成できるのを確認しました。

---------------------------------------------------
ちなみに一致しないのは以下のようなケース

http://anago.2ch.net/test/read.cgi/software/1399253195/555

みたいに文字化けしてる場合
(これは多分故意にUTF-8としてPOSTしたものだと思われる)

FiddlerScript内部ではUnicodeとして扱うはずなので
SJIS→Unicode→SJISの変換が行われてると思われます。
この過程で正確に変換できない(元に戻せない)ものがでてくるようです。
まあこの辺は仕方ないですかね。

208 ◆/vmukiyuzw:2014/10/18(土) 23:03:25
それから、readmeにちらっと書いたのですが
この訳わからないスクリプトについての質問・不具合報告等は
当面このスレッドで受け付けようと思います。

あと、663さん(mirrorhenkanさん)の書かれたhtmltodat-convert2
http://mirrorhenkan.g.ribbon.to/jane/htmltodat-convert2/
についても、当面このスレッドでサポートしようと思っています。
(663さんは「htmltodatサポートには質問しないで」と書かれてましたが
現状ネットにアクセスするのが難しい状態なのかな?みたいなので)

209 ◆/vmukiyuzw:2014/11/07(金) 23:14:10
http://anago.2ch.net/test/read.cgi/software/1415161116/171

経験的にsendkeysは結構誤爆率が高くてあまり信用できないし
ちゃんとした終了待ちをせずにsleepで済ませてるのもなんだかなあ
と思いました。
かつては自分もよくこんなスクリプト書いてたなあと思うと
あまりネガティブなことも言えないんですが。

こういうのを簡単にかつちゃんとやるには実はpowershellがいいんだと思います。
プロセスの終了だとか終了待ちだとかが標準で用意されてますし。
http://technet.microsoft.com/ja-jp/library/dd315272.aspx

ただ、powershellでスクリプトを実行するには
セキュリティポリシーの壁を越えないといけないんです。
http://www.atmarkit.co.jp/fwin2k/win2ktips/1023ps1sec/ps1sec.html
「これ使えばできるよー」って人に勧めにくいんですよね・・・
使えれば相当便利なツールだと思うんですがちょっと残念。

210 ◆/vmukiyuzw:2014/11/24(月) 22:39:23
http://anago.2ch.net/test/read.cgi/software/1415161116/910

うーむ、やっぱ使えてる人はいるんだよね。
(うちでは使えているので当然かもしれないけど)

http://anago.2ch.net/test/read.cgi/software/1383498862/722

こういう方は何が悪かったんだろう。
「ログ速にもログがなかった」くらいしか思いつかない。
ここで聞いてくれたら何かサポートできたかもしれないんだけど。

211 ◆/vmukiyuzw:2014/11/25(火) 04:55:52
http://anago.2ch.net/test/read.cgi/software/1415161116/925

> これはXenoに実装されるべき

そんなんされたら私の居場所がなくなるんで勘弁してください^^;

212名無しさん:2014/11/28(金) 08:06:51
>>210
風邪でもないのにくしゃみが出たのでXenoスレから遊びに来ますた
普段は新しいパラメータを盗み読みするだけでサーセンwwwww

たしか●流出騒動直後のRokka開発段階で差分取得の仕様変更があった時かな
問題になった一部IDのNYANNYAN化に伴い旧式のdat差分配信から新式のdat全行配信へと変更され
専ブラ内部でもそれに沿った処理をするように各専ブラが軒並み仕様変更を余儀なくされたアレね
所謂さっしーえっち事件
多分その影響で取得済みスレに対してのアクションに各専ブラごとの仕様で若干の違いがあったり
または回復モードやdat落ち判定解除等の機能の有無やその使い方に違いがあったりと
各々の使用条件によって取得済みスレに対して上書きの可否が変わることもあるはず

特に開きっぱなしの強制dat落ち状態のスレタブではほとんどの専ブラで上書きが不可能なはずなので
Styleスレの彼は他の手段で取得に失敗したスレタブを開いたまま再取得を試みていたり
古いパラメータファイルを使ってるせいで表示がおかしくなったりしているのではなかろうかと妄想


>>211
あ、そいつ𠮟った時なんですが
こんだけ便利なツールを玩具呼ばわりしたのは謝ります
Jimは讃岐に対してでさえかなり冷たい態度だったので相当重度の重いコンダラ症候群と思われ
声高にログ速連呼してるやつがいるといつまたクローラタイサクガーに変身するか分からないんで
そこは方便ということでひとつ

213 ◆/vmukiyuzw:2014/11/28(金) 21:48:02
>>212
どうもです
いるかいないのかよくわからなかったhtmltodat-convert2ユーザーがいらっしゃったということで
今後もよろしくです

214 ◆/vmukiyuzw:2014/12/04(木) 02:11:09
fiddlerのスクリプトでスレタイの [転載禁止](c)2ch.net 等の文字列を消すことができるんじゃないか?
とdatのレスポンスを変換できないかいろいろやってたんですがうまくいかない。
なんか結果の文字列がUTF-8で返されてるようで
何とかしてSJISに変換しないといけないんだろうけど
方法がよくわからなくて放置してたんです。

そんでこないだ、「Jane系でばっかテストしてたけどV2Cで動くのかな?」
とふと思ってテストしてみたんですが、
いきなり「Content-Typeがtext-plainじゃないよ(text-html)」ってエラーで拒否られる。
Content-Typeをtext-plainにしてみる一行書いてみたんですが
やっぱUTF-8に文字化けしたスレしか取得できない。

ここでなぜか思い出したのですがContent-Typeには確か文字コード指定出来たよな・・・
でこんなコード追加してみました。

oSession.oResponse["Content-Type"] = "text/plain; charset=\"Shift_Jis\"";

これでなんとうまく動いてしまった・・・こんなので大丈夫なのか?^^;

もう少し検証したいと思いますが、fiddlerでは
スクリプトで設定されたContent-Typeからcharsetを検知して
相当の文字コード変換とかやってくれるのかな?

# プロキシとしてはこれくらいの機能は当然なのかな?
# だとしたら自力でプロキシ書くとか絶対無理だわ〜

215 ◆/vmukiyuzw:2014/12/05(金) 23:11:10
わざわざエスケープしたダブルクォーテーションでくくる必要はなかったようです。
以下でもOK

oSession.oResponse["Content-Type"] = "text/plain; charset=Shift_JIS";

あと、Shift_JIS の部分を EUC-JP とかにしてもちゃんとEUCのレスポンスが返されたので
まだ検証中ですがとりあえず言えるのは
・Content-Typeヘッダーでcharsetを指定してやると任意の文字コードで出力が可能
てことなのか。だとしたらかなり便利だ。

しかし前にも書いたかもですがfiddlerには日本語のドキュメント自体がなかなかない上に
こういう日本語の変換の取り扱いについてなんて記述は皆無?
徒手空拳でやってみるしかない状況です。
まあ未踏の世界に立ち向かってるようでそれはそれで楽しいんですけど。

216 ◆/vmukiyuzw:2014/12/06(土) 05:34:45
という感じで、fiddlerによるhtml→datの変換はまだいくつか問題はありつつも
少しずつ前進した感じなのですが、
datを直接読んでちょっと細工して返す、てなことをやろうとすると
(これはまあ本筋からは外れたお試しなのですが)これがまた文字化けします。
元データはhtmlもdatもShift_JISなのになぜdatだと化けるのか。

色々試して考えたのですが、htmlのレスポンスだと、自分で(metaタグのcharsetで)
「自分の文字コードはShift_JISですよー」て名乗るじゃないですか。
fiddlerは賢いので(httpヘッダのcharsetも理解するくらいだから)
これを判別してhtmlの文字コードはShift_JISだと認識しているんではないか。
だが、datでのレスポンスにはそういう識別コードがないので、文字コードを判別できない
(だから、おそらくUTF-8のつもりで読み込んでいるものと思われる)ため
文字化けが起こっているのだと推測しました。
ならdatのレスポンスをShift_JISだと認識させて読み込めればいいはずです。

var oBody = System.Text.Encoding.GetEncoding("SHIFT-JIS").GetString(oSession.responseBodyBytes);

うわ、ちょっと長いね^^;もっとスマートなのがあるかもですが
当面これしか見つからなかった。
System.〜で始まるので.netのメソッドを直接叩くのかな。

あとはこれを好きに加工した後、上のレスと同様 charset=Shift_JIS で出力すればいいわけです。

うーむ、なんか敵(じゃないけどね^^;)の正体が少しずつ見えてきたような・・・
結構手こずったけど思ったほど手ごわくはないかもしれない。
結局、入力・出力の文字コードを認識させるにはどうするかって話になるような。

217名無しさん:2014/12/13(土) 04:34:18
したらばで『〜』が『潤オ』に化けてたことを思いだして敢えてこのスレでリベンジしてみるテスト

218 ◆/vmukiyuzw:2014/12/18(木) 01:16:06
Fiddlerでの日本語変換について色々わかってきたので
一旦まとめといたほうがいいのかもですが、次に関心が移っちゃっているので
まあ落ち着いたら改めてということで。

で何に関心を持ってるかというと、Fiddlerのスクリプト以外での拡張。
スクリプトを書き換えての拡張は個人利用には楽なんですが
配布とかには面倒だし更なる拡張性とか考えるともっといい方法がないかと。
それがC#やVB.NETで拡張ができるのです。

http://docs.telerik.com/fiddler/extend-fiddler/extendwithdotnet

最初、同じ.NETなんだから今までのスクリプトの延長で
Jscipt.NETでもいけんじゃないの?といろいろやってみたんですが
徒手空拳ではうまくいかずドキュメント等もなく頓挫気味。
C#でやってみるとなんかうまくいったみたいなのでこの路線でとりあえずやってみます。
まあ前からC#やろうとか言ってながら回りまわってやっとたどりついた感じか。

219 ◆/vmukiyuzw:2015/01/15(木) 02:57:54
http://jbbs.shitaraba.net/bbs/read.cgi/computer/21256/1164941934/821

htmltodat-convert2を弄って何とかならないかと思ったのですが
2chとしたらばではURLの形式が微妙に違って
同じスクリプトで両方に対応させようとすると結構難しい部分があったので
htmltodat-convert3として別コマンドにしてみました。
(prmファイルを別にする以上コマンド自体別にしないといけないはずなんで
特に困ることはないかと思ったのですが)

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

使い方はhtmltodat-convert2とほぼ変わらないのですが
コマンドの第二引数に "$LINK$URL" を指定できるように
ちょっと修正してます(GetLogの仕様に近づけるため)。

>>208に書きましたがこのスクリプト関連のサポートは
私が勝手に引き継ごうと思っているので
何か問題等あればここで報告いただければと思います。

220 ◆/vmukiyuzw:2015/01/25(日) 01:55:33
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/821-822
の変更を受けてfiddlerスクリプトのほうも修正しました。
(ver1.03)
http://mukiyu.g.ribbon.to/cgi-bin/download2.cgi?name=htmltodatByFiddler1.03&amp;url=htmltodatByFiddler1.03.zip

しかし>>218でちょっと書きましたがC#に移行しようと考えていて
実は当面の機能は移植できていてプラスの何かをやろうと考えてた時だったので
ちょっと引き戻されたような感じで少し残念ではあります。

221<削除>:<削除>
<削除>

222<削除>:<削除>
<削除>

223 ◆/vmukiyuzw:2015/01/27(火) 22:08:29
http://anago.2ch.net/test/read.cgi/software/1421448195/351

最近新しい正規表現作る機会がなかなかなかったもので
頭の体操がてら考えてみました。まあいつものちょっとした遊びで。
htmltodatではgzip圧縮に対応してるんで*.gzの形式でも
そのまま解凍して読み込めます。


コメント:
# http://atchs.jp/ の過去ログ変換できるかも-20150127

前処理:
s#(<title>)\s*(.*?) - 過去ログ .*?(</title>)#$1$2$3#iks
s#\tID:# ID:#g
s#\s{2,}(?!ID)##g
s#<br />#<br>#g
s#&nbsp;\[.*?\]##g

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

正規表現:
m`<div\ class="res">.*?(?:<a\ href.*?>)?
(?# レス番号) (\d+)
(?:</a>)?.nbsp;名前:
(?# メール欄) (?:<a\ href="mailto:(.+?)">|<span\ style="color.*?>)?
(?# 名前) (.*?)
(?:</span>|</a>):
(?# 投稿日・ID) (.*?)
<p\ class="res_body">
(?# レス内容) (.*?)
</p>
`mikx

224 ◆/vmukiyuzw:2015/02/01(日) 00:32:00
http://anago.2ch.net/test/read.cgi/software/1418396135/890

このサイト見て
「そういやread.cgiにはrawモードてのがあったよな・・・
これ使えばhtmlからdatに変換しなくてもdat取れるんじゃ?」
と思って試してみたのですが、rawモードは廃止されてしまったのかな?
指定してもレスポンスは何も変わらないです。
dat直読みができなくなりそうな現状(まあポシャる気配も濃厚ですが^^;)
あったらよさそうな感じですけどね。

225 ◆/vmukiyuzw:2015/02/19(木) 22:25:20
http://anago.2ch.net/test/read.cgi/software/1424147714/19-20

htmltodatのfiddlerスクリプトで実現できていなかった差分取得を
このスクリプトでは実現できているので、とりあえず私の書いたスクリプトは
お役目終了かもしれません。
このスクリプトでいろんな専ブラで動作確認してみたんですがいくつかうまく動かないのがある。
どうも既存ログのサイズと新規に取得したサイズをきっちりチェックしてるものがうまく動かないようで、
responceCode = 206 となるケースで以下のコードが必要なようです。

oSession.oResponse.headers("Content-Range") = "bytes " + sbyte + "-" + (bodylength - 1) + "/" + bodylength;

と足したらうまく動くなるようになるものもありました。
手元で確認したものではJane系・V2C・ギコナビ・Live2ch・かちゅ〜しゃ は
新規取得も差分取得もうまくいってるようです。

「もうこのブラウザだめだ乗り換えよう」とか「.net以外に移住しよう」とか言っておられる方は
一度試して見られては。

226 ◆/vmukiyuzw:2015/02/19(木) 23:28:25
>>225
訂正。Live2chでは差分取得がうまく動きませんでした。
fiddlerスクリプトで差分取得かどうかを判定してレスポンスコードを書き換える場合

HTTP/1.1 206 Fiddeled

みたいなレスポンスになるんですがLive2chはそれを受け付けてくれないような?
(一般的には「206 Partial content」とかになる)

227 ◆/vmukiyuzw:2015/03/02(月) 00:55:46
htmltodatのfiddlerスクリプトなんですが、2点ほど壁にぶつかっていました。
・メール欄に全角文字が書かれていると文字化けする
・名前やレス本文にメールアドレスが書かれているとスレが壊れる

どちらもCloudFlareのemail-protection処理に起因する問題なのですが
なかなかやっかいでちょっとお手上げ状態で放置していました。
ところが、このemail-protection処理により2ch自体のread.cgiでも
スレが壊れたりセキュリティホールが発生したりという事態になって
emai-protectionは外されることになったようです。
よって、目の前の壁は勝手にどいてくれたかなという感じです。

これによってやれることはまだできたかなと思うのですが
まだまだ状況は流動的ぽいのでしばらくは様子見ですかね。

228名無しさん:2015/03/02(月) 04:03:37
ということはそのままで壊れなくなったってことか

229名無しさん:2015/03/02(月) 11:11:41
email-protection処理を無効化
変換は GET method だけ有効にする
で何となく動いている
当面これで乗り切れそう
ありがとうございます

230名無しさん:2015/03/19(木) 04:25:09
レス1だとレス取得が壊れることがあるのですが、
>>225はhtmltodatByFiddler1.03のどこにコピペすればいいんでしょうか?

231 ◆/vmukiyuzw:2015/03/19(木) 21:15:27
>>230さん

>>225のレスはhtmltodatByFiddlerについてのものではなく
http://anago.2ch.net/test/read.cgi/software/1424147714/19 さんの書かれた
スクリプト(以下19スクリプトと略す)についてのものだったんです。

で、19スクリプトのどこにコピペすればということになるんですが、
人の書いたスクリプトにケチをつけるようでなんなんですが
このスクリプトはhtmltodat変換の精度にやや問題があるような。
(メール欄の内容が失われたりレス本文の一部が特定の条件で欠けたりします)

ので、19スクリプトのまずい部分を修正するより、htmltodatByFiddlerに
差分取得ロジックを移植するほうが楽だし問題も少なそうなので
そうすることにしました。
次レスに続く。

232 ◆/vmukiyuzw:2015/03/19(木) 21:22:30
htmltodatByFiddlerを更新しました。(ver 2.00)
 ・差分取得に対応
 ・メール欄デコード処理は不要になったので削除
 ・USER-AGENTでのmonazillaの判定を外す
  (USER-AGENTを変更しても問題ないように)

readmeにも書いたのですが、
前バージョンまでで対応していなかった差分取得に対応しました。
ただ、その対応のためにdat変換処理を修正する必要があったため、
前バージョン以前を使って取得済みのログを更新しようとするとログ破損状態に
なってしまいます。
申し訳ないですが再取得してください。
もしくは、前バージョンで問題が起きていない場合は今回のバージョンアップは
見送るのでもいいと思います。
(Jane系の専ブラ等は自力で差分だけを取れるようになっているので
前バージョンでも問題なく動いてるはず)

233 ◆/vmukiyuzw:2015/03/19(木) 22:04:10
まあ差分取得とか言ってますが実際には全レス取得してブラウザには差分だけ返す
疑似差分取得です。
一般的な専ブラならログをローカルに保存してそこからの差分をリクエストするような
方式で動作してると思うのですが、それと同じようなことをやろうと思うと
やはりローカルに何らかの形で情報を保存しておかないと実現できないと思うんです。
実際その方向で実装しようと試行錯誤してたときもあったんですが、いろいろと面倒だし
多少重くはあるけど当面はこの形で行こうかと。

しかし、他にも専ブラ用プロキシソフトはいろいろよさげなものが出てきて
htmltodatByFiddlerなんてもうお役目御免かなくらいに思ってたのですが、
Fiddler(実績のあるプロキシソフト)+ソース丸見えのFiddlerScript
ていう安心の組み合わせはそれなりにニーズはあるのかな?
ダウンロード数が跳ね上がっていてちょっとビビってます^^;

234名無しさん:2015/03/19(木) 22:32:41
htmltodatByFiddler1.03(32bitWin7Xeno150312)で
>>230に似た症状が自分も出てたんですが
2.00にしたら無事直りました
個人的に使いやすいのでとても助かってます
ありがとうございました

235名無しさん:2015/03/19(木) 23:09:26
更新お疲れ様です

お絵描き機能の(http://maguro.2ch.net/oekaki/とか)
タグ除去置いておきます
BE周りの処置を弄っただけですが

//oekaki対応
oBody = oBody.replace(/<img src="http:\/\/(o\.8ch\.net\/.+?)">/ig,"http://$1");
//ここまで

//BE周りの処置と変換後の//1レス目にタイトルを付加の間に入れてます

236 ◆/vmukiyuzw:2015/03/19(木) 23:47:58
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/831-832

私が作ったものではないので積極的には推せなかったのですが
htmltodat-convert2 がようやく日の当たる場に出た感じですか。よかった。
あと、したらば過去ログがJaneStyleで読めないって方には
>>219 みたいなのもありますのでお試しいただければ。

237名無しさん:2015/03/21(土) 00:24:04
使い始めました。
感謝、感謝です。

238230:2015/03/21(土) 06:49:39
>>231
ありがとうございました!

239 ◆/vmukiyuzw:2015/03/22(日) 19:28:21
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/835 さん

http://anago.2ch.net/test/read.cgi/software/1426858616/907
にもありますが、

> 117のスレのように本文が長いレスが大量にある場合に起こるようです。
> read.cgiはdatの半角スペースの連続を1つの半角スペースに置き換える処理を行っていますが
> これを途中でやめてしまうのが原因のようです。

これに加えて、プロキシからはread.cgiに対し同じリクエストを投げているのに
返ってくるレスポンスでは半角スペースの連続を省略したりしなかったり
一定しない。これで416が発生するようです。
(read.cgiの潜在バグかもしれない)

とりあえず対処としては、半角スペースの連続を省略する処理を組み込んでしまって
read.cgi側でブレが出ても影響ないようにすることかと思いました。

oBody = oBody.replace(/ +/g," ");

↑これを

oBody = oBody.replace(/^(.*?<>.*?<>.*?<>.*?<>$)/m,"$1" + title[1]);

の後あたりに挿入。

対応したバージョンは追ってアップします。

240835:2015/03/22(日) 20:12:27
>>239
さっそくの対応ありがとうございます。
追加しまして無事に206にて取得できております。
ありがとうございました。

241 ◆/vmukiyuzw:2015/03/22(日) 22:33:01
htmltodatByFiddlerを更新しました。(ver 2.01、1.04)
 ・特定のスレで更新時に破損ログとなってしまう問題の対処ととして
  連続する半角スペースを1個に省略するよう修正

変更した部分は>>239のみです。
ver 1.xxで不都合がなくてまだお使いの方もいらっしゃると思うので
今回はver 2.xx、1.xx両方について更新しました。

ただ、今回もdat変換処理に修正が入っているため、
前のバージョンを使って取得済みのログを更新しようとするとログ破損状態に
なってしまう可能性があります。申し訳ないですが再取得してください。
(今回は長文が多くレス容量が大きいスレが危ないような)

242名無しさん:2015/03/22(日) 22:59:39
>>241
ありがとうございます!
chaika+htmltodatByFiddler2.00でフリーズしたことがあったので、1.03使ってました。
1.03で安定しているので、1.04使わせていただきます。

243 ◆/vmukiyuzw:2015/03/23(月) 00:25:38
http://anago.2ch.net/test/read.cgi/software/1427009587/56

200で返ってくるけど本来は404なり302になるようなやつをはじけば
いいのかな?

if (title[1] == "2ちゃんねる error 3001"){
oSession.responseCode = 404;
return;
}

こういうの入れとけばCPUが上がるのは避けられるような

244名無しさん:2015/03/23(月) 00:28:25
>>241
お疲れ様です!

2.01にてCPUが100%になるという書き込みがありましたので、
一応報告させていただきます。

専用ブラウザを助けるプロクシ作らね?7串目 [転載禁止]©2ch.net
http://anago.2ch.net/test/read.cgi/software/1427009587/56

56 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2015/03/22(日) 23:03:22.23 ID:8oJm1s6h0
htmltodatByFiddlerでCPU使用率が上がるのは
「datが存在しません。削除されたかURL間違ってますよ。」のスレを開いたときかな

245 ◆/vmukiyuzw:2015/03/23(月) 00:34:25
あ、>>243

//スレのタイトルを取得
var title = oBody.match(/<title.*?>(.*?)<\/title>/mi);

の後ね。
ちょっといろいろ試して問題なければバージョンアップします。

246 ◆/vmukiyuzw:2015/03/23(月) 02:28:49
http://anago.2ch.net/test/read.cgi/software/1427009587/156

確かにそうなのでこんな感じに修正したほうがいいか

if (!oBody.match(/<dl /)){
oSession.responseCode = 404;
return;
}

眠いので続きは明日以降に

247 ◆/vmukiyuzw:2015/03/23(月) 22:40:55
htmltodatByFiddlerを更新しました。(ver 2.02、1.05)
 ・2ch側で削除済みのスレを取得しようとするとFiddlerのCPU使用率が上がってしまう問題の対処として
  エラーと思われるhtmlが返された場合にステータスコードを404とするよう修正

今回もver 2.xx、1.xx両方について更新しました。
変更した部分は>>246のみです。
今まで自力で修正していて、今回も自力で反映させたいという方は

var oBody = oSession.GetResponseBodyAsString();

の後あたりに挿入していただければいいと思います。

248名無しさん:2015/03/23(月) 22:48:48
>>247
ありがとうございます!

249 ◆/vmukiyuzw:2015/03/24(火) 01:47:38
うわ、今気づいた
http://mukiyu.g.ribbon.to/
のトップを更新するの忘れてましたわ・・・
「バージョン変わってないじゃん?おかしいな〜」
という方は再度ダウンロードしていただければ・・・
ごめんなさい。

250名無しさん:2015/03/24(火) 05:31:48
>>249
乙です
一番使いやすい串なので使っております

251名無しさん:2015/03/24(火) 10:12:13
>>249
更新乙です。
fiddler+わかりやすいスクリプトはやはりいい!
愛用させてもらってます。

ところでこちらで生成したdatはLast-Modifiedがないようですがこれは取得が難しいのでしょうか?
chaikaで書き込みする際にフォームエラーが返ってきます。
ひとまずは下記のコードを追加して問題なく動作はしていますが
正確なLast-Modifiedの値ではないのでちょっとモヤモヤします。
oSession.oResponse["Last-Modified"] = oSession.oResponse["Date"];

datの仕組みはよく知らないので的外れかも知れませんが
最終レスのDATEをLast-Modifiedに返せれば正確な値となるのかな?と思っております。

252 ◆/vmukiyuzw:2015/03/24(火) 23:52:26
>>251さん

> 正確なLast-Modifiedの値ではないのでちょっとモヤモヤします。
> oSession.oResponse["Last-Modified"] = oSession.oResponse["Date"];
>
> datの仕組みはよく知らないので的外れかも知れませんが
> 最終レスのDATEをLast-Modifiedに返せれば正確な値となるのかな?と思っております。

Last-Modifiedを使ってエラーチェックをしてるブラウザがあるとは寡聞にして知りませんでした。
うーむ、思うにhtmltodat変換をしてる時点で正確なLast-Modifiedは存在しないわけで
最終レスの投稿日時とて=Last-Modefiedとなるとも100%は限らない
(ほぼイコールになるだろうとは思いますが)と思うので
それをやったところでモヤモヤは残るのでは。というか気分の問題かもしれませんね。
とかいいつつ以下のようなのも書いてみました。

var arr1 = oBody.split("\n"); //各行にばらす
for (var i = arr1.length - 2; i >= 0; i--){ //最終行が1001だと投稿日時が取得できないため後ろからなめる
var arr2 = arr1[i].split("<>");
var t = arr2[2].match(/(\d+)\/(\d+)\/(\d+).*?(\d+):(\d+):?(\d+)?\.?(\d+)?/); //投稿日時取り出し
if (t){
if (!t[7]) t[7] = "00"; if (!t[6]) t[6] = "00"; //古いログでは秒やミリ秒は存在しないものがあるため
var d = new Date(t[1],t[2],t[3],t[4],t[5],t[6],t[7]);
oSession.oResponse["Last-Modified"] = d.toUTCString();
break;
}
}

この前書いた

oBody = oBody.replace(/ +/g," ");

の後あたりに挿入してください。というかこんなのは関数化したほうがいいんだろうな。
htmltodatByFiddlerへの取り込みはちょっと考えさせてください。

253251:2015/03/26(木) 01:37:24
>>252
返信ありがとうございます。
Last-Modefied自体が元々存在しないとなると
最終レスの日付から取得しても偽データということなんですね。
となると言いだしっぺの私が言うのもあれですが
たかがその為に冗長的なコード増やすのは無駄だと思われますし
chaika限定かつ個人的な問題ですのでhtmltodatByFiddlerへの反映は不要だと思います。

ちなみにせっかく書いて頂きましたコードを追加しましたところ
最終レス日時の1か月後の日時がLast-Modefiedに格納されて
Last-Modefied>dateとなり不整合で結局エラーとなりました。
ひとまずは現状のLast-Modified=Dateで問題もないので
後は書いて頂いたコードを参考に自分でもう少し勉強してみます。
ご教示ありがとうございました。

254251:2015/03/26(木) 18:14:39
Last-Modefiedが1ヶ月ズレる件、解決できました!
dateオブジェクトの月は0〜11で表さなきゃいけなかったんですね。
なのでt[2]を-1することで正常な最終レス日時を返すことが出来て書き込みも可能と希望通りの結果となりました。
私の自己満足に付き合って頂き本当にありがとうございました。

255名無しさん:2015/03/26(木) 22:49:13
差分取得のちょっとした改善案です。

html変換のdatサイズより途中まで取得済みの正規のdatサイズの方が大きいがため、
本来追記されるであろう残りのレスがなくあぼーん分岐してしまうのを可能な限り防げるかと思います。

まず以下をスレタイ取得の前後何れかに入れる。

// スレサイズを取得(取得したサイズの方が小さい時の保険)
var aSize = oBody.replace(/<font color=red face="Arial"><b>(\d+) KB<\/b><\/font>/mg, "$1");
var getSize = parseInt(aSize, 10) * 1024;

で、差分取得処理のサイズ判定を以下の様にする。

if (sbyte > bodylength){



if ((sbyte > bodylength) && (sbyte > getSize)){

以上です。

256名無しさん:2015/04/11(土) 16:30:11
>>255
ちゃんとスレサイズ取れてなかったので訂正

// スレサイズを取得(取得したサイズの方が小さい時の保険)
var aSize = oBody.replace(/<font color=red face="Arial"><b>(\d+) KB<\/b><\/font>/mg, "$1");
var getSize = parseInt(aSize, 10) * 1024;



// スレサイズを取得(取得したサイズの方が小さい時の保険)
var aSplitBody = oBody.split('<font color=red face="Arial"><b>');
var aSize = aSplitBody[1].split('\n')[0].replace(/(\d+) KB<\/b><\/font>/, '$1');
var getSize = parseInt(aSize, 10) * 1024;

257名無しさん:2015/04/11(土) 20:56:12
動作確認を行った環境は
Windows 7 Professional (x64) Build 7601
.NET Framework 4.5.51209(← regeditのVersion)
(でもFiddlerで確認すると、.NET 4.0.30319.34209と表示)
Fiddler v4.5.0.0
htmltodatByFiddler 2.02

作者さんありがとう

258名無しさん:2015/04/17(金) 21:26:42
htmltodatByFiddler 2.02 ありがたく使わせてもらっています
先日2chのスレでftp://が書き込まれたスレが取得できない状態になってしまいました
何らかの形で対応できないものでしょうか

259名無しさん:2015/04/17(金) 23:32:31
>>258
Fiddlerと2chの間にはCloudFlareがあってだな
2chのread.cgiのバグを修正しない限りCloudFlareが誤動作するんだ
これは端末のツールでどうこう出来る問題じゃないんだよ

260 ◆/vmukiyuzw:2015/04/17(金) 23:51:11
>>259さん、フォローありがとうございます。

>>258さん
一応状況は把握していて、何か逃げ道はないかと考えていたのですが
htmlを取得して変換するという仕組み上、そこでエラーになる状況であれば
完全に回避することは難しいと考えます。
(どのレスにftp://が書かれてるかは読んでみないと分かりませんしね)
現状ではAPI対応のプロキシもいろいろあるようなんで
そちらをお使いいただいたほうがよろしいかと。

しかし、2ch.net側としても
read.cgi経由(htmlプロキシだけでなく汎用のwebブラウザでも)で
読めない状況はまずいと思われるので
そのうち対応されるだろうと期待して様子見してるのですが。

261名無しさん:2015/04/17(金) 23:55:59
横からですが、
そのうち、netに書き込まれた全てのftp://のレスがあぼんされるんじゃなかろうか

262名無しさん:2015/04/19(日) 21:56:19
多分CloudFlare側の対応で、read.cgi経由でftp://が表示出来るようになったよ。

263名無しさん:2015/04/19(日) 21:57:58
おお、本当だ

264 ◆/vmukiyuzw:2015/04/19(日) 22:20:59
>>262さん
CloudFlare側の対応というより、read.cgiの修正(というか多分バージョンダウン)で直ったんだと思います。
汎用ブラウザでスレを見ると、書き込みのところの「お絵かきLOAD」のボタンがなくなってますので
・お絵かき機能を追加するバージョンアップのときにバグを仕込んでしまった
・問題が発生していない元のバージョンに戻した
てところではないかと。
ただ、MANGO板を含むmaguro鯖ではまだエラー出るようですね。
まあちょっと特殊な鯖みたいなんであまり気にすることはないかな。

http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/884
の結果を受けて、Fiddlerのスクリプトにびんたんからの取得を検討していたところだったんですが、
とりあえず無駄な作業になっちゃう前に何とかなってよかった。

265名無しさん:2015/04/20(月) 01:50:53
>>264
read.cgiの対処なら、↓の表記が全く変わらないのも何だかなって感じだね。
バグってたときと同じver.&日付だし。

read.cgi ver 05.02.02 2014/06/23 Mango Mang&uuml;&eacute; ★

266名無しさん:2015/05/28(木) 00:24:43
こういうのってhtmltodatByFiddler2.02で大丈夫なんですか?


730 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2015/05/27(水) 15:13:18.45 ID:4WQWcUci0
「提督業も忙しい!」にセキュリティ問題、警察庁も注意喚起
http://www.itmedia.co.jp/enterprise/articles/1505/27/news061.html
[FiddlerCore] Startup() のオプションの話
http://www.cat-ears.net/?p=39957

専用ブラウザを助けるプロクシ作らね?10串目 [転載禁止]©2ch.net
http://anago.2ch.net/test/read.cgi/software/1428850227/730
http://anago.2ch.net/test/read.cgi/software/1428850227/737
http://anago.2ch.net/test/read.cgi/software/1428850227/743

267 ◆/vmukiyuzw:2015/05/28(木) 00:54:34
>>266さん
FIddlerCore.dllを使ったアプリでは、デフォルトでは
外部からのプロキシ接続を受け付ける設定になってて
このセキュリティ問題になってるようですね。
Fiddler.exeのデフォルトでは
Options - Connections - Allow remote computers to connect
がオフになってるので、まあそれを信用するなら大丈夫なんじゃないでしょうか。
そもそもルータ等でいらんポートを塞いでれば問題ない気もしますが。

268 ◆/vmukiyuzw:2015/05/28(木) 21:16:01
ちょっと説明が雑だったかもしれないので補足。

FiddlerCoreっていうのは、Fiddlerの機能からUIの部分を取っ払って
プロキシサーバ機能のみを提供するもので、
プログラマがアプリを作るのにプロキシ機能を使いたい、てときに利用できるものです。
(自分で1からプロキシ機能作るのは作るのは大変なので)

で、FiddlerそのものとFiddlerCoreには「外部からのプロキシ接続を受け付けるか否か」
のオプションがあるんですが、これが(デフォルト状態では)
 Fiddlerはオフ、FiddlerCoreはオン
なようです。
FiddlerCoreのほうのオプションはプログラマが適切に設定しなければなりませんが
Fiddlerのオプションはユーザが操作でき、かつ、特殊な目的でもなければ
わざわざオンにする人もいないと思われるので
特に問題はないのではないかと思います。

269名無しさん:2015/05/29(金) 02:45:48
>>267-268
おお、問題ないのですね
ありがとうございました

270名無しさん:2015/09/03(木) 12:34:39
一部の鯖でエラー出るread.cgi復活してるみたいね

271名無しさん:2015/09/03(木) 20:02:16
あ、そういうことなん?
何か数日前くらいから読み込めないスレがちらほら出始めたんだよね

272名無しさん:2015/11/13(金) 23:40:01
potato.2ch.netのread.cgiが吐き出す出力は構造が大きく変わった

273名無しさん:2015/11/14(土) 10:16:01
>>272
http://anago.2ch.net/test/read.cgi/software/1437650830/796
ここのレスが修正のヒントになるよ

274 ◆/vmukiyuzw:2015/11/15(日) 06:50:49
htmltodatByFiddlerを更新しました。(ver 2.03)
 ・2ch側で特定のサーバでread.cgiの仕様が変更されHTMLの形式が変わったため
  それに対応。

変更されたread.cgiに対応した正規表現はさほど難しくなかったのですが
当面(いつまで?)新旧のread.cgiが共存すると思われるため、
どっちのcgiにも対応できるにはどうするかちょっと悩みました。

また、今回もdat変換処理に修正が入っているため、
前のバージョンを使って取得済みのログを更新しようとするとログ破損状態に
なってしまう可能性があります。申し訳ないですが再取得してください。

それと、ver 1.xx系列を合わせて保守するのはちょっとしんどいなと思えてきたので
今後はver 2xx系列だけでいかせていただけないかと思います。

275名無しさん:2015/11/15(日) 08:33:12
>>274
お絵描きのimgタグ除去は、新cgi関係なく共通なんだけど。

276 ◆/vmukiyuzw:2015/11/15(日) 22:50:30
>>275
ご指摘ありがとうございます。修正しました。(ver 2.04)
 ・お絵かき機能のimgタグの除去処理の場所を修正

277名無しさん:2015/11/16(月) 01:59:29
>>276

助かったよ、ありがとう!

278名無しさん:2015/11/16(月) 12:38:12
>>276
今のところ順調に動いてます
ありがとう

279名無しさん:2015/11/17(火) 13:44:42
こっちの問題じゃないんですが
read.cgi ver 06.0.0 には ttp: から始まるリンクに対しておかしなアンカーを生成するバグがある模様
真正の dat とバイト数が大幅に合わなくなる原因になるので一応書いておきます

280279:2015/11/19(木) 09:01:16
jump.2ch.net を呼ぶようになったので特別な対策は要らなくなりました
read.cgi が安定するにはしばらく時間がかかりそう

281名無しさん:2015/11/19(木) 23:47:05
>>244が再発してますね

282 ◆/vmukiyuzw:2015/11/20(金) 22:56:43
>>281さん
ご指摘ありがとうございます。修正しました。(ver 2.05)
 ・「datが存在しません」のレスポンスが返ってきたときの判定を修正

read.cgi 06系では「datが存在しません」の場合に
どういうレスポンスが返るのかよくわからなかったので
判定条件を適当に修正しちゃってバグを仕込んでしまいました。
とりあえず当面のread.cgi 06系の吐くHTMLでは
元の判定条件で大丈夫だと確認しましたので修正(というか元に戻す)しました。
>>243-247あたりも参照)

283名無しさん:2015/11/20(金) 23:48:44
>>282
対応ありがとうございます
バグは直りましたが今度はread.cgi 06が404になってしまい読めなくなっています

284 ◆/vmukiyuzw:2015/11/21(土) 00:30:43
>>283さん
失礼しました。テストが不十分でした。
一応修正したつもりのバージョン。(ver 2.06)

まだまだread.cgi 06系の仕様が読み切れてないので試行錯誤中です

285名無しさん:2015/11/21(土) 00:56:15
>>284
読めるようになりました
どうもありがとうございました!

286名無しさん:2015/11/30(月) 20:05:41
>>284
何か最近読めないページが出てきたな・・・
と思ってたら2.06でいけるようになりました。ありがとう

287名無しさん:2015/12/04(金) 23:33:54
なんか新着レスのとこで「ここ壊れてます」になります。
新スレ取得でもなぜかレスの2が壊れます。
多分、これだと思います。

対処よろしくお願いします。

119 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2015/12/04(金) 19:14:30.15 ID:q3g2YXGo0
まぐろ鯖のread.cgiで>>1に<br><br><div class="banner">から始まる広告が入った

専用ブラウザを助けるプロクシ作らね?15串目
http://potato.2ch.net/test/read.cgi/software/1448272459/119

288 ◆/vmukiyuzw:2015/12/05(土) 01:09:44
>>287さん
とりあえず修正してみました。(ver 2.07)
今回の対処は広告バナーを除去するようにしただけです。

若干説明したいことがあるのですがもう眠いのと
明日から用事が立て込んでるのでまた改めて。

289名無しさん:2015/12/08(火) 13:05:21
俺環かもですが例のレス内広告、BBSPINKではところどころ改行されててうまく取得できないようです
よく見ればすべてタグで括られてるので

replace(/<br><br>\n(?:<[^>]*?>\n?)*?<dt>/g,"<br><br>\n<dt>")

に変更したところ問題なくなりました
再検証のうえで修正版をお願いします

290名無しさん:2015/12/08(火) 16:39:30
>>288
いつもありがとうございます

>>289
replace(/<div class="banner"[\s\S]*?<\/div><br><br>/,"")

俺はこうしたけど正規表現はあまり詳しくありませぬ

291 ◆/vmukiyuzw:2015/12/08(火) 21:12:46
修正しました。(ver 2.08)

>>289さん、>>290さんご指摘ありがとうございます。
今回は、前バージョンからの修正が少なく互換性の検証が容易だった
>>290さん案を取り入れさせていただきました。

292名無しさん:2015/12/08(火) 21:50:51
>>290
そっちの方がシンプルですね

>>291
修正ありがとうございます


正規表現、俺もようわからん
「.*」も「[\s\S]*」もマッチするのは基本的に同じはずだけど
とりあえずサクラエディタ上でテストしたら「.」、「[\s\S]」と一文字だけを指す場合は前者は改行文字にはマッチしなかった


これ以上はスレチになるので退散

293名無しさん:2015/12/11(金) 09:59:26
新 read.cgi でも広告入るようになった

294名無しさん:2015/12/11(金) 16:43:27
>>293
05用の広告カットの定義を06用定義のところにコピペして

replace(/<div id="banner"[\s\S]*?<\/div><\/div><\/div>/,"")

に変更すればおk

ザックリ大雑把に言えばhtml上ではclassがidになり<br>が</div>になっただけ

295名無しさん:2015/12/11(金) 16:47:24
>>293
すまん294訂正。</div>が1つ多かった

replace(/<div id="banner"[\s\S]*?<\/div><\/div>/,"")

296名無しさん:2015/12/11(金) 17:11:22
>>293
すまん、もう1度修正

replace(/<div id="banner"[\s\S]*?(?:<div class="push"><\/div><\/div>)+/,"")

ザックリしすぎた……orz

297名無しさん:2015/12/11(金) 20:08:38
お絵描き画像のリンクが
 sssp://o.8ch.net/xxxxx.png
じゃ無く
 http://o.8ch.net/xxxxx.png
になってるな。

298297:2015/12/11(金) 20:32:47
あと、差分取得だが、

専ブラによっては差分取得が働かず、必ず全件取得になってしまう。
原因は、GETレスポンスのヘッダ情報に最終更新日時の"Last-Modified"ヘッダが無いから。
よって、GETリクエストのヘッダ情報に差分取得用の"Range"ヘッダが付加されないため、
BeforeResponse()内の差分取得処理がスルーされる。

また、新着無しの304を返す判定条件だが、
 if (sbyte == bodylength) {
だと、sbyte("Range"ヘッダの値)よりbodylength(dat生成後のバイト数)が必ず+1に
なるため、常にイコールにならない。
よって、新着無しの場合、304ではなく差分1バイトの206が返ってきてしまう。

299 ◆/vmukiyuzw:2015/12/11(金) 21:23:25
修正しました。(ver 2.09)

>>294-296さん
フォローありがとうございます。
結果は>>296のものと同じなんですが

replace(/<div id="banner"[\s\S]*?(?=<div class="post")/,"")

のようにしました。

>>296さん
ご指摘ありがとうございます。sssp:になるよう修正しました。

300 ◆/vmukiyuzw:2015/12/11(金) 22:12:09
>>299
> >>296さんご指摘ありがとうございます は
>>297さんの間違いでした。


>>298さん
> 原因は、GETレスポンスのヘッダ情報に最終更新日時の"Last-Modified"ヘッダが無いから。
> よって、GETリクエストのヘッダ情報に差分取得用の"Range"ヘッダが付加されないため、
> BeforeResponse()内の差分取得処理がスルーされる。

うーん、なんか違うような・・・
GETリクエストのRangeヘッダはわざわざ削除してるんですけど。
(htmlベースでは差分取得するのが難しいので全部取得して内部で差分を取る前提)
専ブラから送られたRangeヘッダは削除前にOnBeforeReqest()でoSessionオブジェクトに保存して
OnBeforeResponse()に引き継いでるので差分取得処理でスルーされることはないはずです。

あと、専ブラによっては差分取得時に取得済みのdatサイズの続きではなく
あえて-1をRangeリクエストするものがあります。
(返ってきたデータの先頭が改行でなければ破損ログとみなす判定のため)
私の知る限りではかちゅ〜しゃ、V2C、ギコナビ等がこの方式を取っていたと思います。
これらのブラウザでは新着レスがなくても304ではなく206が返るのが正常なレスポンスです。

お使いの専ブラではなにか不都合が出てるのでしょうか?
できたら専ブラの種類を教えていただきたく。

301298:2015/12/11(金) 23:13:04
>>300
使ってる専ブラは「禁断の壷」というWebベースのものです。

「GETリクエストに"Range"ヘッダを付加しない」のは専ブラ側の方です。
よって、OnBeforeReqest()での"Range"ヘッダ削除処理自体が行われません。
なので、必ずステータス=200で全件取得となってしまいます。

あと、304の件ですが、他の専ブラの仕様でそうなっているのは了解しました。

302 ◆/vmukiyuzw:2015/12/12(土) 00:16:26
>>301さん
「禁断の壺」ですか。
かつては2ch公式ブラウザと言われたものですね。
動作を確認しようと検索したのですが元々の配布サイトが消滅していて
(検索不足かもですか)今どこにあるのか確認できず。
Rangeヘッダを出力せずどうやって差分取得を行っていたのか・・・
現時点では確認しようがなくお手上げです。

303298:2015/12/12(土) 02:06:57
>>302
何かずっと誤解されてますが、
"Last-Modified"ヘッダがあれば、専ブラ側でその更新日時を元に"Range"ヘッダを付加して
差分取得を行います。
が、htmltodatByFiddlerでは"Last-Modified"ヘッダを付加して返してこないために、
専ブラが"Range"ヘッダを付加せず、結果差分取得が行われないのですよ。

304 ◆/vmukiyuzw:2015/12/12(土) 02:41:02
>>303
> "Last-Modified"ヘッダがあれば、専ブラ側でその更新日時を元に"Range"ヘッダを付加して
> 差分取得を行います。

それは「禁断の壺」独自の仕様では?
私の知ってる限りLast-ModifiedヘッダがなければRangeヘッダを返さないなんて専ブラは
聞いたことがありません。
それに、FiddlerのInspectorsタブ等で見ていただけるといいのですが
read.cgiからのレスポンスにLast-Modifiedヘッダはそもそも存在しません。
なので

> が、htmltodatByFiddlerでは"Last-Modified"ヘッダを付加して返してこないために、

そもそも付加しようがないと思います。

ですので、もし解決できるとするならご自分でLast-Modifiedを捏造して付加する
コードを書いていただくしかないのではないかと思います。
現時点で私には仕様が確認できないので何もできません。

305名無しさん:2015/12/12(土) 04:47:04
もしかして「壺」は更新の有無(Last-Modified)だけをまず確認して、それをもとに本丸の取得判定を行ってるのか?
昔のネット環境を考えればそういう挙動も理解できる
で、現在の2ch.netは更新の有無にかかわらず都度html生成するからLast-Modifiedは当てにならないんだなぁこれが

とりあえず、自分用に仕込んでたものだがOnBeforeResponse処理の適当なタイミングに以下を追記すればいいよ

// Last-Modifiedが空っぽの場合Dateを代入
if (!oSession.oResponse["Last-Modified"])
oSession.oResponse["Last-Modified"] = oSession.oResponse["Date"];

306298:2015/12/12(土) 11:21:31
>>304
過去にも、"Last-Modified"ヘッダについて遣り取りがあったみたいですね。
そこでは、、"Last-Modified"ヘッダは付けない方向との見解でしたので、
今回も同じ見解という事で、これで終わりにしたいと思います。

>>305
わざわざ、ご教示ありがとう御座います。
「禁断の壷」は、ローカル保存のDATに、"Last-Modified"ヘッダの更新日時を
保持しており、スレの新規取得時に、"Last-Modified"ヘッダの値も保存します。
で、DATに"Last-Modified"ヘッダの値が無いと本来の差分取得を行わずに、
新規取得と同様に全件取得を行う仕様のようです。

なお、"Last-Modified"ヘッダの値ですが、2chAPIの方の動作を確認しますと、
最終レスの日付情報と同じ値の様です。
でも、「禁断の壷」では"Date"ヘッダの値でも問題無く、"Last-Modified"ヘッダ
が付加されていれば、差分取得が行われるようになりました。

307 ◆/vmukiyuzw:2015/12/12(土) 21:23:28
>>306さん
>>251-254 あたりでのやりとりですね。つい最近なのにすっかり失念してました。

>>305さんはもしかしてその時ご意見下さった方かな?
フォローありがとうございます。
>>305のコードを取り入れて他の専ブラに影響が出ないかもう少し検証したいですが
問題なさそうであれば取り入れたいと考えています。

308名無しさん:2015/12/17(木) 23:50:03
read.cgi 05
まだ変わりそうだけどとりあえず消す
oBody.replace(/<div id="js--banners--thread" class="banner" style="width:100%;"><\/div>/,"")

read.cgi 06
httpsがhttpになってたのがhttpsになったので要再読み込み
関係ないけどブラウザでお絵描き表示されるのがssspだけに

309 ◆/vmukiyuzw:2015/12/18(金) 00:30:50
>>308さん ご指摘ありがとうございます。
修正しました。(ver 2.10)

read.cgi 05系の広告の入り方に変更があったので対応しました。
あと、ちょっと上で話が上がっていたLast-Modifiedヘッダについても
付加するようにしました。

> read.cgi 06
> httpsがhttpになってたのがhttpsになったので要再読み込み

なんか破損するスレがあるけど破損しないスレもあるのはなぜだろう
と思ってたらそういうことだったんですね。
これに関しては対応は難しそう・・・再読み込みしていただくしかないような。

310名無しさん:2015/12/21(月) 23:24:30
お疲れ様です
bbspinkでここ壊れてますになって気付いたんですが
FiddlerのTextviewを見るとレス数が1だけだとマッチせずに広告が残ってます
今は
bbspink read.cgi 05は>>290
2ch read.cgi 06は>>296
2ch read.cgi 05は>>308
を追加して消してます

311 ◆/vmukiyuzw:2015/12/22(火) 00:39:10
>>310さん ご指摘ありがとうございます。
修正しました(ver 2.11)

レス数が1だけだと広告除去の条件がうまく効いていませんでした。
レス数1だけのスレというのは板によっては結構出会うことが難しいんで
テスト不足でした。

312名無しさん:2015/12/22(火) 02:04:35
>>311
対応ありがとうございます

313名無しさん:2015/12/25(金) 21:12:13
> //oBody = oBody.replace(/<a href="http:\/\/jump\.2ch\.net.*?>(.*?)<\/a>/ig,"$1"); //これは必要か?後で検討

これを有効にしないとこのスレ(read.cgi 06)の>>1の一部(2ch外へのリンク等)が消えてしまうようです
http://potato.2ch.net/test/read.cgi/software/1422462757/

314 ◆/vmukiyuzw:2015/12/25(金) 23:52:25
>>313さん ご指摘ありがとうございます。
修正しました(ver 2.12)

ご指摘いただいた行(jump.2ch.netを外す)ではなく、その直下の
// レスアンカーに対するフルパスを相対パスに変換〜
のとこがよくなかったようです。
現状のread.cgi 06ではレスアンカーに対するパスはいつのまにか05同様相対パスになっているようなので
この変換処理は不要であると考えコメントアウトするようにしました。

315名無しさん:2015/12/26(土) 00:56:05
>>314
ありがとうございます

316名無しさん:2016/01/11(月) 17:24:30
以下のスレで指摘された新read.cgiのバグへの対応お願いします

専用ブラウザを助けるプロクシ作らね?15串目
http://potato.2ch.net/test/read.cgi/software/1448272459/809


以下のように修正したら上手く動きました
(?:<a href="mailto:(.*?)">)?

(?:<a href="mailto:(?:<a[^>]+>)?(.+?)(?:<\/a>)?">)?

317名無しさん:2016/01/11(月) 20:36:04
>>316の件ですがこの修正の仕方は決め打ち過ぎるので訂正します

以下のスレでいくつかのテストを重ねてみました
http://potato.2ch.net/test/read.cgi/software/1449192043/404-410

結果としてはdat形式への変換は元のまま、その前に名前・メール欄内だけ以下の変換を行なうことで問題がなくなりました

//名前・メール欄内の余計なAタグ除去(前処理)
oBody = oBody.replace(/(<b><a href="mailto:)(.+?)(<\/a><\/b>)/g, function(aStr, aTag1, aMailName, aTag2) {
var mailname = aMailName.replace(/<\/?a[^>]*?>/g, '');
return aTag1 + mailname + aTag2;
});

以上を踏まえ修正お願いします

318 ◆/vmukiyuzw:2016/01/11(月) 22:36:17
>>316-317さん ご指摘ありがとうございます。
htmltodatByFiddlerを修正しました(ver 2.13)

正直、>>316を読んだ直後には
「メール欄にURLとともににsageとか入力されたらどうなるんだろう」
「メール欄だけじゃなく名前欄にも影響ありそうな」
と懸念を抱きどうしたもんかと思ったのですが
>>317で検証いただいたようでありがたいです。

# 実はreplaceメソッドの引数にこういう形で関数を指定できるのを
# 知らなかったので勉強になりました

read.cgi 05系ではこの現象は発生しないことは確認したのですが
念のため05系、06系両方に適用するようにしてます。

319名無しさん:2016/01/11(月) 23:44:26
修正乙でした

320<削除>:<削除>
<削除>

321<削除>:<削除>
<削除>

322名無しさん:2016/03/10(木) 10:49:40
溶接工とか言う寿命削る仕事
http://bit.ly/1XshYYl

323名無しさん:2016/03/10(木) 17:57:41
>>320-322

324名無しさん:2016/03/15(火) 05:31:40
【絶望】ふらつくから病院行ってみたらwwwwwwwwwwww
http://bit.ly/1R5AiRC

325名無しさん:2016/03/26(土) 13:23:07
bbspink.com(2ch.netでも見た気がするが覚えてない)で最終レス末尾に広告枠が追加されたようなので

oBody = oBody.replace(/<\/div><\/div><\/div><div><div class="js--ad--bottom"[\s\S]*$/,"</div></div>\n");

バナー広告削除処理の辺りに入れてください
テストらしいテストはしてませんが……

326 ◆/vmukiyuzw:2016/03/26(土) 22:07:09
>>325さん ご指摘ありがとうございます。
htmltodatByFiddlerを修正しました(ver 2.14)

意味的にはほぼ同じなのですが以下のようにしました。

oBody = oBody.replace(/<\/div><div><div class="js--ad--bottom"[\s\S]*$/,"");

327名無しさん:2016/04/09(土) 09:52:53
【悲報】サメ映画、もはやなんでもあり【画像あり】
http://bit.ly/1R5A4tS

328名無しさん:2016/04/10(日) 19:38:57
彼女がディズニーランド行きたいって言うことで大喧嘩になった
http://bit.ly/1R5A6lu

329名無しさん:2016/04/20(水) 15:32:11
本当に出会える出会い系ランキング
ttp://bit.ly/1OgYRt7

330名無しさん:2016/05/08(日) 11:21:49
本当に出会える出会い系ランキング!
ttp://deai.erosoku.top/ranking/type2

331名無しさん:2017/03/07(火) 23:35:13
bbspinkのreadcgiが更新されたので対応願います
自分用に修正した点からヒントは

readcgi06の派生である
div構造からdl、dt、dd、span構造へ変更
レス1とレス2間に広告があるのは変わらないがsectionタグで解りやすくしてある
最終レスの広告はない
一部のclass名が変更されてる

というところでしょうか

332 ◆/vmukiyuzw:2017/03/08(水) 01:58:26
>>331さん ご指摘ありがとうございます。
htmltodatByFiddlerを修正しました(ver 2.15)

ちょっとやっつけ作業ぽいのですがとりあえずbbspinkでは動くと思います。
このread.cgiが2ch.netにも導入されるようだとまた考えないといけないかもしれません。

333名無しさん:2017/03/08(水) 14:55:47
>>332
更新どうもです
申し訳ないですが再修正を願います

beID周り処理が抜け落ちてます
ageレス時(だけかな?)の名前欄にfontタグが追加されていた
バナー削除の処理で若干ゴミが残る可能性があるので以下のようにするといいと思います
<\/section>.*?<\/div><\/div> → <\/section>.*?(?=<dl class="post")

334333:2017/03/08(水) 16:10:33
fontタグに関して

通常のageレスもしくは一部の★持ち(運営)のレス場合タグ付加
通常のageレスはcolor="green"、★持ちは個々人で違う色を指定してる

除去するのであれば前者のケースのみで

335 ◆/vmukiyuzw:2017/03/08(水) 18:16:48
>>333-334さん、ご指摘ありがとうございます。

まずbeID周りですが、beIDの入ったスレを私のほうで探すことができず
(bbspinkには疎いもので)、2ch.netのbeID周りと形式が同じかどうか
わからなかったので、入れてませんでした。
beIDが入ったスレ、および★持ちさんのレスが入ったスレのURLを
いくつか教えていただけると助かります。


あと多分もっと重大な問題として、(板によるかもしれませんが)
透明あぼーんが頻発するスレが散見され、(http://mercury.bbspink.com/hnews/等)
これがブラウザによってはスレが壊れる原因となっていると思われます。
(壊れないブラウザでもどのみちレス番がずれることになるので問題なのですが)

この問題は実は前から認識はしていたのですが結構大きな修正になってしまいそうなので
先送りにしてました。が、あまりレアケースでもなくなっているようなので
今回合わせて対応しようと思います。ちょっと時間かかるかもしれません。

336333:2017/03/08(水) 22:28:19
>>335
板だとここ
http://phoebe.bbspink.com/meow/
その中でも両方同時に確認できるのはこのスレですね
http://phoebe.bbspink.com/test/read.cgi/meow/1461076454/l25

このにゃあ板はpinkで一番エロくないおとなしい板で実験板も兼ねています

pinkでスレが壊れるのは仕方ないことですよ
自動あぼーんが機能してるんで宣伝レス等があればほどなく発動、「うふ〜ん」に置き換えられます
また2chより板が少ない分に削除人が動いてくれてます
なのであまり気にする必要ないかと思います

これまでのreadcgiならスレサイズが下部に記載されてたのでそれである程度あぼーん判定の補完ができたんですが

337 ◆/vmukiyuzw:2017/03/09(木) 00:01:25
htmltodatByFiddlerを修正しました(ver 2.16)

>>333さんにご指摘いただいた部分を修正しました。
また、透明あぼーんがあった場合にスレが壊れたりレス番がずれる
問題に対処しました。
(透明あぼーんがあった場合それを補う「透明あぼーん」レスが
追加されます。なので汎用ブラウザで見た時には存在しないレスが
表示されることになります)


>>333=336さん
いろいろご指摘・情報提供いただきありがとうございます。
bbspinkでスレが壊れる事情は多分仕方ないのでしょうが
>>335で挙げていただいたスレをAPIを使う専ブラで見るとレス番10や16が
「うふ〜ん」で表示されるのですが
新しいread.cgiが吐くHTMLだと透明あぼーんになってしまうようなのです。
(以前のread.cgiではどうだったのか知らないので新read.cgiでそうなったのか
どうかはわからないんですが)

ともあれ透明あぼーんがあるとdatデータの構造上専ブラではレス番がずれちゃう
状況はやはりまずいと思い、対応することにしました。

338名無しさん:2017/03/09(木) 00:55:12
>>337
更新お疲れ様です

透明あぼーんの件、こっちの理解不足でした
と同時に以前のreadcgiで自分でも対処しようとしたけど、結局放置してたのを思い出しましたf^_^;)

以前のものは透明あぼーんがある場合レス0番が存在してました
レス0がどういった内容だったかは覚えてませんが

339 ◆/vmukiyuzw:2017/03/12(日) 00:19:23
htmltodatByFiddlerを修正しました(ver 2.17)

>>338さんにご指摘を受けた「レス番0」の件ですが
一応認識はしていて、対策もしたつもりでいたんですが
http://potato.2ch.net/test/read.cgi/software/1488358985/51
で挙げられたスレを見てバグに気付きました。

レス番0は読み飛ばすようにしたのでこれで問題ないと思ったのですが
その前にレス1(これはレス番を見ていない単に最初のレス)に
スレタイを付加する処理を入れていたので
レス番0が存在した場合スレタイも消えてしまうというアホな事態になってしまってました。

スレタイを付加するタイミングを後にずらしたので多分問題解消したと思います。

340 ◆/vmukiyuzw:2017/03/25(土) 03:05:47
なんか差分取得で壊れるスレがあるなあと思ったら、
read.cgiが若干仕様変更された模様。
一応問題点はわかったのですが
今から修正するのは時間的にしんどいんで明日の夜やります。

341 ◆/vmukiyuzw:2017/03/25(土) 22:20:26
htmltodatByFiddlerを修正しました(ver 2.18)

read.cgiの仕様が若干変更され(今のところ2ch.netの06系だけのようですが)
BeアイコンやEmoticonやお絵描き機能の画像など、html上では <img src="〜"> で表される
(dat上では sssp://〜 となる)要素について、http: が省略されるようになったため
対応しました。

342 ◆/vmukiyuzw:2017/03/25(土) 22:28:24
>>341
おっとこのレスはブラウザによっては化けてしまうかも

> (dat上では sssp://〜 となる)要素について、
         ↑実際は半角

です。

343 ◆/vmukiyuzw:2017/04/09(日) 00:57:27
htmltodatByFiddler、と呼ぶのは長くて面倒になってきたので
勝手ながらこのスレでは今後 hBF と略して呼ぶことにします(鉛筆の濃さみたいですが^^;)

で、hBFを修正しました(ver 2.19)

・itest.2ch.net/xxx/〜 へのリクエストがあったら xxx.2ch.net/〜 に飛ばすよう修正
 (itest.bbspink.com についても同様)
・https://〜 へのリクエストがあった場合への対応

今回は OnBeforeResponse.txt だけでなく OnBeforeRequest.txt も更新してますのでご注意ください。
補足があるのですが長くなるかもなので次レス以降で。

344 ◆/vmukiyuzw:2017/04/09(日) 01:14:52
>>343 補足1
まずitestへのリクエストの変換ですが。
最近 itest.2ch.net へのリンクが貼られることが多くなってきたと思うのですが、
専ブラにとっては(というより itest 以外の全ての閲覧環境にとっては、かもしれませんが)
面倒だと思ったので、本来の 2ch.net のURLに変換するようにしてみました。

ただ一つ考慮事項として、専ブラの側で itest.2ch.net へのリクエストを
2ch.net へのリクエストとして認識してくれないと、このリクエストの変換は行われないです。
専ブラによっては「このURLは自分の仕事じゃない」と
汎用ブラウザ等に投げてしまうものもあるようです(となると当然hBFの処理も通らないので
どうしようもない)。

この話はいろいろ膨らむ要素がありそうですがとりあえずこの辺にしておきます。

345 ◆/vmukiyuzw:2017/04/09(日) 02:05:53
>>343 補足2
https: へのリクエストについてですが。

Fiddler自体は元から https: に対応しているのですが
現存する専ブラでは https://xxx.2ch.net/ 〜 のようなリクエストがあっても
プロキシに https: のまま投げてくるものはないようなので、
当面あまり意味はないです。
「もし対応したものが出てきたらこうしとかないとまずいかも」
という点を直しただけです。
今後対応してくるものもでてくるでしょうからそのときまた考えます。

346名無しさん:2017/04/10(月) 21:25:36
https対応は2ch鯖-Fiddler間で対応しないとマズイのでは?
現にegg鯖がhttpsがデフォになったし。

347 ◆/vmukiyuzw:2017/04/10(月) 23:45:43
>>346さん
すみません、「2ch鯖-Fiddler間で対応しないとマズイ」とはどういう意味ですかね?
もしかして「これからは https: がデフォになるから普通の http: での通信も https: にしないとマズイ」という意味?

>>345にもちょっと書いてますがFiddler自体は元から https: には対応してますし
専ブラではない別のクライアントで https: のリクエストをシミュレートして
「もし専ブラが https: へのリクエストを投げてきたら」も確認してます。
だが実際のところ https://xxx.2ch.net/test/read.cgi/ 〜 のリクエストを
そのままプロキシに投げてくる専ブラは私はまだお目にかかったことないので
それから考えようと思ってます。
そういうことではなくマズイと思われる点があればご指摘いただけるとありがたいです。

348名無しさん:2017/04/13(木) 16:16:30
>>347
2ch(CF)側がhttpsのみに対応した場合、httpしか対応してない専ブラが通信出来なく
なるかも知れないので、現在APIモード対応の串がやってる

専ブラ(http)<->(http)Fiddler(https)<->(https)2ch(CF)

という通信にも対応しておく必要がある。って意味です。

349 ◆/vmukiyuzw:2017/04/13(木) 23:30:40
>>348
なるほど、専ブラの対応に関わらず
Fiddler - 2ch 間のやり取りは今から https にしておいた方が良いということですね。
それは納得しました。

ただ、現在のところhBFでは read.cgi とのやり取りにしか介入してないのですが
> 2ch(CF)側がhttpsのみに対応した場合、
という状況を考えると、他にも bbs.cgi とか subject.txt とかとのやり取りも
考慮しないといけなくなるように思います。
この辺は今まであまり気にしていなかった部分なので、ちょっといろいろ
確認してみます。

350名無しさん:2017/04/15(土) 22:23:30
FiddlerのSSL対応のデフォはOS依存のようで
7以降は証明書生成にCertEnrollAPIとやらを利用出来るから何の問題もない
XPの場合はご存知かと思うが原則SHA1まで、SP3ならSHA256に一部対応してるそうだがFiddlerでは使えない
Vistaは分からないけど現状問題ないだろう
Fiddler拡張としてOpenSSL等利用するラッパー作ればいいらしいけど覚えることがたくさんだろうね

351 ◆/vmukiyuzw:2017/04/22(土) 07:27:29
https対応はまだのんびりでいいかと思ってたんですが
なんかread.cgiの変更があったようですね。まだ一部サーバのみ?
今日ちょっと用事が立て込んでるんで対応は遅くなるかもです。

352 ◆/vmukiyuzw:2017/04/22(土) 23:12:12
hBFを修正しました(ver 2.20)

 ・2chの一部のサーバでread.cgiがバージョンアップ(07.0.0)されたので対応

今のところagree鯖だけですかね?
対象の鯖で既得済みのログを更新しようとするとログ破損状態になる可能性があります。

353 ◆/vmukiyuzw:2017/04/23(日) 07:18:22
hBFを修正しました(ver 2.21)

前バージョンにバグがあり変換結果のdatにゴミが入ってしまっていました。
( read.cgi 07系のみ)
申し訳ありませんが差し替えてください。

354名無しさん:2017/04/23(日) 13:19:30
2.10だったのですがecho鯖へのアクセスで
(・∀・)ナンカエラーダッテ HTTP/1.1 404 Fiddledだったので
2.21にした所正常になりました。ありがとうございます

355名無しさん:2017/04/24(月) 08:02:52
ありがとうございます!

356名無しさん:2017/04/25(火) 23:10:00
取得済みのスレに新着があった場合や更新チェックした場合の新着レスが
スレを閉じると消えてしまうのですが何が原因か分かりませんか?
最初に読み込んだ所までは残ります。
2.21を入れてすぐはこのような症状はなかったと思うのですが
どうしてこうなったか見当がつきません。
無関係でしたらすみません。

357名無しさん:2017/04/26(水) 00:49:14
今日から?下のログに
(;゚Д゚)サイズが合わない・・・
と表示されるようになりましたね
でもレスは更新されてるからとりあえずおkかなw

358 ◆/vmukiyuzw:2017/04/26(水) 01:36:11
>>356さん、>>357さん
・どの板、どのスレで発生したのか(具体的なURL)
・どのブラウザ(できればバージョンも)で発生したのか
少なくともこの辺の情報がないと確認できないです。
問題なのかどうかすらわからないのでできれば詳細を再報告願います。

359357:2017/04/26(水) 01:52:19
URL制限あるぽいですね

360名無しさん:2017/04/26(水) 01:53:22
ブラウザ:JaneDoe View α ( build date: 1507130036 )
出る
http://mint.2ch.net/test/read.cgi/pav/1466221276/
http://echo.2ch.net/test/read.cgi/av/1492956696/
出ない
http://egg.2ch.net/test/read.cgi/jisaku/1487581901/
http://egg.2ch.net/test/read.cgi/smartphone/1492258777/

361名無しさん:2017/04/26(水) 01:55:12
>>360>>357です。
それほど大きな問題ではない(と思っている)ので時間がある時にでも・・・

362 ◆/vmukiyuzw:2017/04/26(水) 02:37:13
確かに read.cgi 07.0.0 の出力形式が微妙に変更されているようですね。
(わかりにくいから 07.0.1 とかにしろよ!と文句言いたいですが^^;)
>>360 の「出ない」のほうの2スレは 06系なので影響ないようです。

ちょっと時間も遅いので本格的にはもう少し確認・様子見の上で明日対応しますが
お急ぎの方は OnBeforeResponse.txt の 80行目(07系の後ろの不要な部分をカットしているところ)を

oBody = oBody.replace(/(<br>)?(<\/div><div class="push">)?<\/div><div class="pagestats">(.|\s)*$/,""); //後ろの不要な部分をカット

にして反映してください。

363357:2017/04/26(水) 02:50:02
>>362
反映した所正常になりました
遅くにありがとうございます

364 ◆/vmukiyuzw:2017/04/26(水) 02:50:19
>>362
あーこれ取り消します、正規表現のほうを変えないとダメだ

oBody = oBody.replace(/<div class="post".*?><div class="meta"><span class="number">(\d+).*?<\/span><span class="name"><b>(?:<a href="mailto:(.*?)">)?(.*?)(?:<\/a>)?<\/b><\/span><span class="date">(.*?)<\/span><\/div><div class="message"><span class="escaped">(.*?)<\/span><\/div><\/div><br>/ig,"$1<>$3<>$2<>$4<>$5<>\n");

眠いんであんま自信ないです・・・明日ちゃんとやります

365名無しさん:2017/04/26(水) 02:51:26
>>364
あら?w
はいゆっくりで大丈夫ですのでお休み下さい

366356:2017/04/26(水) 03:05:40
事情を説明しようと拙い文章をまとめていたのですが遅れてしまってすみません。
代わりに要点をまとめてくれた357さんにもお礼を言っておきます。
原因を特定していただけたようで助かりました。
急ぎでなくても問題ないので時間のあるときにお願いします。
本当にありがとうございました。

367 ◆/vmukiyuzw:2017/04/27(木) 00:00:05
hBFを修正しました(ver 2.22)

 ・read.cgi 07系に仕様変更があったので対応

>>357さんからご指摘があり>>364で暫定対応を考えたものの正式反映です。
内容としてはレスの間に<br>タグが入ることになったことへの対応だけです。
なんかいろんなところの情報見てるとかなり無理やりというか場当たり的?な
変更みたいですね。
read.cgi 07.0.0 についてはかなり不満の声も上がってるみたいなんで
まだまだ変更はあるかもしれませんね。

ところで>>356さんのご報告はこれとは別件のように最初感じたのですが
同じ原因ということで本当に良かったのでしょうか。

368356:2017/04/27(木) 01:19:12
うまく説明できるか分からないのですが。
昨日の症状は例えば700番までレスがついたスレを開いた後
更新して新着レスがあった場合に、スレを開いている間は新着が表示されますが
一度閉じて再度開くと新着部分が消えてしまうという現象でした。
(表示されるのは最初に取得した700番までということです。)
自分の使っているブラウザはJaneXeno 161205です。
すべての板ではなく特定の板でのみ起きることを後から気づいたのですが
どの板でおきるのか調べたり説明が難しかったりして報告が出遅れてしまいました。

2.22にしてから上記の現象は起こらなくなりましたので
同じ原因だったのだと思います。
対応していただきありがとうございました。

369 ◆/vmukiyuzw:2017/05/04(木) 02:57:35
read.cgi 07.0.1 が出てるようですね。例によってagree鯖で実験中?
汎ブラでの見た目はあんま変わらないようですが、レス番のゼロサプレスはやめたみたいですね。
hBFとして影響あるのはIDの前に </span><span class="uid"> が入るようになったとこくらいか。
もう少し調べてから対応します。もし他にお気づきの点があればご報告いただけると有り難いです。

370名無しさん:2017/05/04(木) 14:10:20
そこを事前に半角スペースに置き換えるだけで問題なさそう

371 ◆/vmukiyuzw:2017/05/04(木) 20:29:24
hBFを修正しました(ver 2.23)

 ・read.cgiがバージョンアップ(07.0.1)されたので対応

修正箇所は>>369で書いた追加されたタグの除去のみです。
また修正したのは OnBeforeResponse.txt のみです。OnBeforeRequest.txt は修正してませんので
ご自分でUA等修正されてる方は上書きしないようご注意ください。


今のread.cgi 07.0.1 にはまだいろいろ不具合あるようなので近いうちにまた修正されると思われます。
私の把握してるものでは

・IDの代わりにリモホが出る板(シベリア)で投稿日・IDが「NG NG」と表示される
・嫌儲で特定のBEの投稿日・IDが「NG NG」と表示される

うーむ・・・read.cgi修正してる人、頑張れ^^;

372 ◆/vmukiyuzw:2017/10/02(月) 05:44:29
5chてのはなんなんだ?
背景を知りたいとこですがとりあえず急ぎ対処が必要でしょうね。
今日中には何とかしたいな・・・。

373 ◆/vmukiyuzw:2017/10/02(月) 23:53:22
hBFを修正しました(ver 2.24)

一応 5ch.net への暫定対応ということになりますが本当に暫定でしかないです。
"2ch.net"とハードコーディングしていた部分を"[25]ch.net"として
どちらが来ても一応対応できるようにしただけです。

今後、読みも書きも 5ch.net に移っていくことになると思われるのですが
まだ現状では書き込みは 2ch.net に対してはできるようですし
読み込みはAPI経由では 2ch.net に対してもできるようです。
(read.cgi での 2ch.net の読み込みはもう無理みたいですが)

であれば、専ブラとしてはまだ 2ch.net にアクセスしてるつもりで
(板一覧はまだ 5ch.net に対応してないものを使う、Replace.str等で5chを2chに読み替える)
hBFとしては読み込みだけ 5ch.net にすり替える手が当面使えるかもしれません。
そのための処理をコメントにしてますが一行仕込んでます。
現状私はこの形でXenoで読み書きできるようにしました。

もう一つ、読み込みは 5ch.net に対して行うとしても
書き込みは 2ch.net に対して行うという手も当面使えるかもしれません。
JaneXenoとかはクッキーの問題で 5ch.net には書き込めないけど
2ch.net には書き込める(書き込むスレの実体は同じ)ことがあるようで
このための処理もコメントにしてますが一行仕込んでます。

いずれにせよ明日にでもはしごを外されても不思議はない状況かなと思います。
正直言うと専ブラ側で何らかの対処がないと今後厳しいかなと思います。
("2ch.net"をハードコーディングしてる部分は山ほどあるでしょうから)

374名無しさん:2017/10/03(火) 00:42:10
JaneDoe View α ( build date: 1507130036 )
の環境で2.24を試してみましたが、下記のログが出てNGでした
Doe Viewはさすがにもうダメかなぁ… 上手く出来てる人いるかな?

(・∀・∀・)
(・∀・)サテオシゴト ε三三(; ・∀・)鯖マデオツカイ
HTTP/1.1 302 Moved Temporarily
HTTP/1.1 302 Moved Temporarily
HTTP/1.1 302 Moved Temporarily
HTTP/1.1 302 Moved Temporarily
( ・∀・)(・∀・ )オツカイオワリ 三三3
(・∀・∀・)
(・∀・)ナンカエラーダッテ HTTP/1.1 302 Moved Temporarily
(・∀・)カンリョウ!!

375名無しさん:2017/10/03(火) 00:43:52
Fiddlerのログでは下記のように感じです

http://egg.2ch.net/test/read.cgi/jisaku/1487585295
http://egg.2ch.net/test/read.cgi/jisaku/1487585295
http://egg.2ch.net/test/read.cgi/jisaku/1487585295
http://egg.2ch.net/test/offlaw2.so?shiro=kuma&amp;bbs=jisaku&amp;key=1487585295&amp;sid=sid

376374:2017/10/03(火) 00:53:31
すいません、いつものようにお気に入りから開こうとしたのがまずかったです
ボード一覧取得URLを5chに変えて、板一覧の更新をして
それから新規に板とスレを取得に行ったらOKでした

作者さんありがとう

377名無しさん:2017/10/03(火) 21:34:06
すりかえ行のコメントを外したら2chのままで取得できてます
ありがとう

378 ◆/vmukiyuzw:2017/10/12(木) 21:42:07
5chのread.cgi 7系のバージョンが上がったようで
差分取得時にログ破損が発生するケースが出ているようです。
まだ詳しくは調査中ですが、とりあえず<title>タグでのスレタイトルの表現が
若干変わっているようなので、当面以下の様なのでしのげると思います。

//スレのタイトルを取得

このコメントを検索
その下の一行を

var title = oBody.match(/<title.*?>(.*?)\n?<\/title>/mi);

var title = oBody.match(/<title.*?>(.*?)\s*?<\/title>/mi);

に書き換える。

379名無しさん:2017/10/12(木) 22:27:05
しのげるようになりました㌧クス

380 ◆/vmukiyuzw:2017/10/14(土) 22:40:34
hBFを修正しました(ver 2.25)

今回は>>378の分の反映のみです。
なので自力で書き換えて対応済みの方は取り込む必要はないと思います。

381 ◆/vmukiyuzw:2018/02/13(火) 21:55:30
bbspink.com の一部鯖(今のとこmercuryのみ?)が 5ch.net の read.cgi 07系に変わったようですが

read.cgi ver 07.2.0 2018/01 Walang Kapalit ★
Cipher Simian ★

と独自のバージョンアップがされているようで、専ブラによってはログ破損するケースが出ているようです。
もう少しテストしてから修正版をリリースします。

382 ◆/vmukiyuzw:2018/02/14(水) 01:45:18
hBFを修正しました(ver 2.26)

 ・bbspinkのread.cgiがバージョンアップ(07.2.0)されたので対応
  (バナー広告の除去)

今回の修正はOnBeforeResponse.txtのみです。
影響は今のところ多分bbspinkのmercury鯖でログの取得がおかしい
ケースだけだと思われます。

なんか泥縄的対応でイマイチだなあというのはわかっているのですが
精進します。

383名無しさん:2018/02/15(木) 03:21:05
乙です
pink見てないので放置してますがw

384 ◆/vmukiyuzw:2018/04/01(日) 23:52:40
5chの一部鯖(今のとこagreeのみ?)で read.cgi のバージョンアップが行われたようです。

read.cgi ver 07.2.1 2018/04 Walang Kapalit ★
Cipher Simian ★

今のとこ影響あるのは、>>1 みたいなレスアンカーの前に付くアンカータグの内容が
<a href="../test/read.cgi/operate/1507551280/8" rel="noopener noreferrer" target="_blank" class="reply_link">
みたいに、最後に class="reply_link" の部分が追加された点のようです。
この class=ほにゃらら の部分はAPIで取得したdatには含まれないようなので
htmltodat変換の結果をできるだけ元datに近づけようと思うと対応すべきなんでしょうが
多分多くの専ブラでは表示上特に影響はないと思われるんです。
もちろんdatサイズは変わってきてしまうので、既得ログの差分取得をしようとすると
破損する可能性が高いのですが。

のでちょっと様子見。
もし対応が必要となれば、後処理の最後くらいで

oBody = oBody.replace(/(target="_blank") class="reply_link">/g,"$1>");

こんな感じのを入れてやればいいかな。

385名無しさん:2018/06/02(土) 14:54:17
Fiddler公式にLinux版Fiddlerがあるのですが、これに対応したhtmltodatbyFiddlerを作っていただけないでしょうか?
CustomRulesを見ると微妙にWindows版と違ってて、そのままhtmltodatbyFiddlerのソースを貼ってもスレが読めません。
ちなみに当方のLinux環境(Ubuntu18.04LTS使用)では、JaneXenoをWineで動かしています。

386 ◆/vmukiyuzw:2018/06/03(日) 00:23:24
>>385さん
これは「自分のところにLinux環境を作って検証しろ」という案件かと思って一瞬頭がくらっとなったのですが・・・

Linux版Fiddlerをダウンロードして見てみるとCustomRules.csはJScriptではなくC#で書かれてるようです。
スクリプトのコメントを見ると

//注:これはC#版のスクリプトで、WindowsおよびMonoで使用できます。
// Windows上でのみ使用できるJScript.NETスクリプトとは異なります。 使用するために
// MonoのJScript.NETスクリプトをC#で書き直す必要があります。

とあります。(googleの翻訳)
(Monoってのは.NET環境をWindows以外でも動かすためのものらしい)
C#はコンパイルして動かすだけじゃなく最近ではスクリプトとして動かすことができるようになった
らしいので、それが取り入れられたんですかね。
気づいてなかったんですが、Fiddlerのオプションにも、スクリプトをJScriptかC#かを選べるのが
いつの間にか追加されてますな。

ということで、これは「htmltodatByFiddlerをC#に移植する」という案件だと理解しました。
面白そうなのでやってみますが多分時間かかると思います。
C#はやったことないですがオブジェクトの扱い方とかそんなに変わらないかなと思いましたが
キモの正規表現の部分で互換性の問題とか出ないかなと少し気になったりします。

387名無しさん:2018/06/03(日) 21:45:49
>>386
ありがとうございます。

一応、当方の環境
Windows7 home 64bitにVmware Workstation14Playerインストールして
VmwareのゲストOSでUbuntu18.04LTSを使用。

その後、UbuntuにmonoとWine、Fiddler(Linux版)を入れて
$ mono Fiddler.exeでFiddler起動
$ wine Jane2ch.exeでJaneXeno起動
です。

FiddlerとJaneXenoは確実に動いてます。
(JaneXeneは文字化けするのでwinetricksっていうのインストールしないとだめらしいです。)

JaneXenoからプロクシ設定127.0.0.1:8888で確実にFiddlerを通してくれます。
ただ、FiddlerがCustomRules.csを読み込みません。
これがCustomRules.csを読み込んでいないのか、
そのまま.jsのhtmltodatbyFiddlerをコピペしたからなのかは私にはわかりません。)

時間は気にしませんのでよろしくお願いいたします。!
ご苦労おかけしまして申し訳ありません。

388 ◆/vmukiyuzw:2018/06/20(水) 01:10:18
C#への移植はほぼできたと思うのですが、テストが十分でない部分がいくつかあります。

元々最初作ったころ2chのread.cgiのバージョンが06系で、過去ログは05系という状況
だったと思うのですが、その後07系が現れたり、bbspinkの独自形式が現れたりして
4パターンに分岐していたのです。
でも現状、ライブな板は(5ch,bbspink含め)全て07系のようです(07系の中でも違いはあるので
注意は必要なのですが)。
過去ログを探そうとしてもほぼ05系です。06系、bbspinkの独自形式にはなかなか出会えないので
今のところ動くかどうかテストできてないのです。
でもまあ「テスト出来たら教えてください」とユーザさんに投げるのもどうかと思うし
まあ見つかってから考えるしかないか。

389名無しさん:2018/06/23(土) 19:47:17
>>388
お疲れ様です。
C#版の公開はいつになるでしょうか?
公開してくれると嬉しいです。
5chでも公開して欲しい人いるみたいですし、ぜひお願いいたします!

390 ◆/vmukiyuzw:2018/06/23(土) 21:19:46
>>389さん
ubuntu+monoの環境で最低限の動作確認くらいはしておきたいと思ったので
今日環境構築やってたんですが、まだ時間かかりそうなんで先にC#版出すことにします。
導入手順が若干変わります。その他にもいろいろあってう〜ん明日中にはなんとか。

391 ◆/vmukiyuzw:2018/06/24(日) 20:21:52
hBFをバージョンアップしました(ver 3.00)

 ・スクリプトを JScript.NET から C# に移植
 ・一部サーバでread.cgiがバージョンアップ(07.2.1)されたので対応
  (タグ、要素の追加)
 ・書き込みの処理を見直し

>>386からやってたC#版です。
上にも書いてますが導入手順が若干変わります。
readme.cs.txt に書いてますのでお読みください。
大雑把に言うと
・Fiddlerの設定でスクリプトをC#に切り替える必要がある
・スクリプト中に取り込むファイルが2つ増える
ということになります。

あと、今日の18:00頃に一旦新バージョンを公開したのですが
バージョンアップの手順をミスってテスト版を公開してしまいました。
20:00頃に正式版を公開しなおしたので、申し訳ないですが
それ以前にダウンロードされた方はダウンロードしなおして
差し替えてください。

392 ◆/vmukiyuzw:2018/07/01(日) 23:35:49
まあ今更感もあるのですが、動作確認してみたかったので>>387さんの情報を参考に
ほぼ同等の環境 Windows8.1にVmware+Ubuntu+Mono+Fiddler+hBF(+Wine+JaneXeno)
を作ってみました。
一番手こずったのはWineの文字化け対応ですかね。

で、肝心のFiddler+hBFの動作ですが。
読み込みに関しては特に問題なくWindows版と同様に動作するように感じました。
書き込みも試してみると、なぜか私の環境ではXeno自体がエラーで強制終了してしまう。
Fiddlerのログを見ると、書き込み自体はうまくいっているようなのですが、
書き込み後のリロード処理でレスポンスを受け取った時点?で何故かお亡くなりになる。
うーん、これはFiddler+hBFの問題からは離れるかもなのでどこまで踏み込んだものか...
時間を見つけて調べてみますが、何か情報をお持ちの方がいれば教えてください。

393名無しさん:2018/12/01(土) 19:57:08
5chのread.cgiがver0.7.2.3にアップしました
新たな広告がレス間に入りました (id="horizontalbanners○○")
AA用classの追加 (class="AA")
返信アンカー(レスポップアップ)用classの追加 (class="reply_link")

bbspink read.cgi(ver0.7.2.0)
新たな広告がレス間に入りました (id="announcement")

以上の対応お願いします

394 ◆/vmukiyuzw:2018/12/02(日) 02:19:31
>>393
すみません、その辺の問題はver 3.00(C#版)で解決できたと思っていたのです。
「新たな広告」問題は「広告をカットするのではなくマッチするものだけ抜き出す」ように変更して対応したし、
「AA用class」は>>391時点で判明していたんで対応していたつもりです。
「対応がうまくいってない」「JScript版じゃないと嫌だ」とかいう話ならまたご相談ください。

395名無しさん:2018/12/02(日) 11:24:02
JScript版からC#版3.00に移行してみましたが、
どのスレも取得しようとすると302 Moved Temporarilyになってしまいます。
Fiddlerはエラーを出していません。

396名無しさん:2018/12/02(日) 11:35:54
2chへの読み込みリクエストを5chへの〜
がコメントアウトされていたのが原因でした。
失礼しました。

397名無しさん:2018/12/02(日) 12:34:34
余談ですが、コメントアウトされている
『5chへの書き込みリクエストを2chへの書き込みリクエストに変換』
のところに謝りがあるようです(ダブルクオーテーションの不足)

398名無しさん:2018/12/02(日) 14:48:32
別人ですが何とか上手く行きました
今までは「Jscript.NET」で運用
<環境>
win10 pro 1709
.NET Framework 4.7.1
Fiddler v5.0.20182.28034 for .NET 4.6.1
JaneDoe View α ( build date: 1507130036 )

<貼り付ける時にやったことと気づいた点>
1.readme.txtに
 ・メソッド
  public static void OnBeforeResponse(Session oSession)
  の最後(次の public static 〜 に直近の } の上)に OnBeforeResponse.cs.txt を挿入
 と記載されているが、
  の最後(次の static void 〜 に直近の } の上)に OnBeforeResponse.cs.txt を挿入
 でした。
2.>>397さんが指摘してますが、以下修正
   oSession.url = oSession.url.replace(@".5ch\.(net)/,".2ch.$1");
   oSession.url = oSession.url.replace(@".5ch\.(net)",".2ch.$1");
3.>>396さんと同様に
   //2chへの読み込みリクエストを5chへの読み込みリクエストに変換 5ch対応の板一覧を使っていれば多分不要
   //oSession.url = oSession.url.replace(@".2ch\.(net)",".5ch.$1");
   //5chへの書き込みリクエストを2chへの書き込みリクエストに変換
   //oSession.url = oSession.url.replace(@".5ch\.(net)",".2ch.$1");
 この2行のコメントアウト//を削除
4.janeで以下エラーが出るけど、ログを削除すれば正常に動作(削除が面倒だけどw)
 ( ・∀・)(・∀・ )オツカイオワリ 三三3
 (・∀・∀・)
 (・∀・)ソンナニナガクナイッテ HTTP/1.1 416 Fiddled
 (・∀・)カンリョウ!!

作者さんありがとう

399 ◆/vmukiyuzw:2018/12/03(月) 01:09:20
>>397さん、>>398さん
ご指摘ありがとうございます。
指摘いただいた点(readmeの記述とOnBeforeRequestの記述)を修正し
アップしました。
バージョンUPというほどのものではないのでバージョン番号は3.00のままです。

>  public static void OnBeforeResponse(Session oSession)
>  の最後(次の public static 〜 に直近の } の上)に OnBeforeResponse.cs.txt を挿入
> と記載されているが、
>  の最後(次の static void 〜 に直近の } の上)に OnBeforeResponse.cs.txt を挿入
> でした。

これは私の思い込みで間違えました。申し訳ありませんでした。
「次の関数の開始の直前の」という意図で「次の public static 〜 に直近の」と書いたのですが
現状では次の関数の開始は
static void OnReturningError(Session oSession)
という行なのですが、ここはプログラム上はコメントになってる部分なんです。
( /* と */ で囲まれている)
自分の開発環境ではコメント部分は色が変わって表示されるので
脳内で無いもの扱いしてしまい、その後プログラム上有効になる
public static void Main()
を意図して「次の public static 〜 に直近の」と書きました。
でもこういう書き方をした以上、素直に読めばご指摘の通りなのです。

なんかバージョンアップのたびにこういうあれこれでご迷惑をおかけするのも
心苦しいので、更新をある程度自動化できないかといつも考えるんですが
単純な差分ツールとかでは難しそうで。何かいいアイデアあれば教えてください。

400398:2018/12/04(火) 23:09:58
他の人は分かりませんが私は迷惑と思ったことは一度もなく感謝しかないです
プログラムやスクリプトは20年以上まともに触ってないから今更触れませんしw
人間は間違える生き物だと認識してますからこの程度なんてこと無いと思ってます
お役に立てず申し訳ない

401 ◆/vmukiyuzw:2019/09/01(日) 22:45:31
hBFをバージョンアップしました(ver 3.01)

 ・一部サーバでリクエストURLの末尾が"/"でないとエラーになるケースが
  出てきたので対応

http://xxx.5ch.net/test/read.cgi/yyy/1234567890

のようなURLは410等のエラーになり

http://xxx.5ch.net/test/read.cgi/yyy/1234567890/

のように最後に"/"がないといけなくなった、という状況のようです。


修正箇所は 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/" + v.g(2) + "/" + v.g(3) + "/";

にしただけなんで、わざわざ最新バージョンをダウンロードして通常のメンテナンス手順を
とっていただくよりも CustomRules.cs を直接修正していただく方が多分楽だし
間違いも少ないかもしれません^^;

402名無しさん:2019/09/01(日) 23:00:54
>>401
ありがとうございます

403名無しさん:2020/04/05(日) 22:37:46
書けるかな?

404 ◆/vmukiyuzw:2020/05/23(土) 01:19:56
なんか壊れるスレがあるなあと思って調べてみたら
名前欄に<img src タグが(これはどうやったら書き込めるのかまだわからないのですが)
入れることができるようになっていて、これがhBFの潜在バグに引っかかったようです。

もうちょっと調べますがとりあえず

// お絵かき機能やEmoticonのimgタグを除去。dat上では除去されてるのでそれに従ったがブラウザによってはなくてもいいかもしれない
oBody = oBody.replace(@"<img src="".*?(//.*?)"">","sssp:$1");

と記述した oBody = の行はコメントアウト(先頭に // を付ける)したほうがいいと思います。

405 ◆/vmukiyuzw:2020/05/23(土) 21:29:10
>>404
> と記述した oBody = の行はコメントアウト(先頭に // を付ける)したほうがいいと思います。
とか書きましたが、

// お絵かき機能やEmoticonのimgタグを除去。dat上では除去されてるのでそれに従ったがブラウザによってはなくてもいいかもしれない
oBody = oBody.replace(@"<img src=""[^/>]*?(//.*?)"">","sssp:$1");

とするほうがよさそうです。もう少しテストして確認後リリースします。

406 ◆/vmukiyuzw:2020/05/25(月) 00:09:51
401 ★自分 名前: ◆/vmukiyuzw[sage] 投稿日:2019/09/01(日) 22:45:31
hBFをバージョンアップしました(ver 3.02)

3.02 (2020/05/24)
 ・5chの仕様変更?により名前欄にimgタグが入るようになり、それに伴い
  一部の正規表現が不具合を起こしてスレが壊れるケースが出てきたので対応

結局、修正したのは OnBeforeResponce の

// お絵かき機能やEmoticonのimgタグを除去。dat上では除去されてるのでそれに従ったがブラウザによってはなくてもいいかもしれない
oBody = oBody.replace(@"<img src=""[^/>]*?(//[^""]*?)"">","sssp:$1");

の部分のみです。(>>405よりさらに用心しました)

修正前は <img src="".*?(// としていた正規表現に対し、名前欄に入るようになった imgタグは
<img src="/images/susu-16px.png">
のようになっていて、これにはマッチせず、同じレス中にURL等が含まれるとそちらの http:// の // に
.*? が意図せぬ長さでマッチしてしまい変換がおかしくなっていたようです。
(もともとマッチさせるのを意図していたのは <img src="//o.5ch.net/1kbww.png"> みたいなものだった)

.*? て正規表現は便利なパターンでついつい使ってしまいがちですが
こういう罠?もあるんで気を付けないといけないなと思いました。

407 ◆/vmukiyuzw:2020/05/25(月) 00:24:38
>>406
一行目はコピペのゴミです^^;気にしないでください

408名無しさん:2020/05/25(月) 22:08:58
更新ありがとうございます。

409名無しさん:2020/06/04(木) 01:33:34
なんか調子が悪いなと思ってスレを覘いたら更新来ていました。
いつもありがとうございます、更新お疲れさまでした。

410 ◆/vmukiyuzw:2020/06/08(月) 21:08:15
とりあえずまだ調べ中ですが多分今までhttp://でのリクエストを許していたのを
https://にリダイレクトするようになって不都合が出ているようです。
(対象は多分subject.txtとread.cgと,bbs.cgi)

まあ対処としてはOnBeforeRequestに

oSession.oRequest.headers.UriScheme = "https";

こういうのを入れることになります。
どういう条件で入れるか検証中。

411 ◆/vmukiyuzw:2020/06/08(月) 22:49:41
hBFをバージョンアップしました(ver 3.03)

3.03 (2020/06/08)
 ・5chの仕様変更により http:// によるリクエストが全て https:// にリダイレクト
  されるようになったので、5chに対するリクエストは最初から https:// にするよう変更

修正したのは OnBeforeResponce の最後(//ここまでの直上)に

//5chへの読み書きは全てhttpsになったので対応
if (oSession.url.ismatch(@"(?:\.[25]ch\.net|\.bbspink\.com)/(test/|[^./]*?/subject\.txt)")){
oSession.oRequest.headers.UriScheme = "https";
}

を足しました。>>410で書いた対象を https 対応にするものです。

これは前から>>346さんとかに指摘されてたことなんですよね。専ブラ - Fiddler 間だけでなく
5ch鯖 - Fiddler 間はデフォで https にしておくべきだと。
現実に問題になってやっと対処したという感じです。

412 ◆/vmukiyuzw:2020/06/09(火) 02:07:50
こういうときに限って(かどうかわからないけど) ribbon.to 繋がらないな・・・
あと、今でも 2ch.net のアドレスじゃないとアクセスできない専ブラもあるので
そこも対応しないといけないのかも

413名無しさん:2020/06/12(金) 19:31:04
ここの掲示この板をみつけたときからずっとアク禁だったのが初めて書きこめました。
まずは公開してもらってずっと更新してもらってありがとうございます。

早速不具合報告で申し訳ないですが
板一覧の更新に対してhttps対応が上手く行ってないようです。

私の設定の問題か何かの勘違いなら申し訳ないですが無視してくださっても大丈夫です。

414 ◆/vmukiyuzw:2020/06/12(金) 21:31:09
>>413さん
板一覧の更新!完全に失念してました。
個人的に、公式じゃない板一覧を使ってたり自動追尾に頼ったりしてたもので・・・
menu.5ch.net/bbsmenu.html へのhttps対応ができてないということですよね。

>>411での対応は対象を subject.txt と読み書きのcgiに限ったものでしたが
これに bbsmenu.html を加えるのも一案だと思いますが、いっそ
5ch.net , bbspink.com のサーバについては対象を限らず全部 https にしてしまっても
問題ないように思えてきました。その方向でもう少し検証してみます。

ただ、あくまでこれを書いている今の状況ですが、
menu.5ch.net/bbsmenu.html は http でも https でもアクセスは可能なようです。
http://mercury.bbspink.com/test/read.cgi/erobbs/1490249679/527- あたりから
話題に上がってますが、全 https 化したが対応できない専ブラがあったので
とりあえず一旦戻した(http でのアクセスも有りにした)という話のようです。

ので、不具合の状況(どの専ブラで、どういう設定をしてどういう不具合が
起きたのか)がわかると修正の参考になるかもしれませんので、
差支えない範囲で教えていただけると幸いです

415413:2020/06/13(土) 00:41:42
レスありがとうございます。
先に環境を書くべきでした。申しわけないです。

windows7 64bit

JaneDoe View α build date: 1507130036
(最新版は181014βのようですが公式サイトが閉鎖で手に入れられてません)

ボード一覧取得URLの設定は http://menu.5ch.net/bbsmenu.html です。
ちなみに https://menu.5ch.net/bbsmenu.html にしても同じ結果になります。

一覧を取得すると
ステータス欄は「HTTP/1.1 200 OK」の場合と「ボード一覧更新無し」の場合があるのですがどちらの場合も板一覧は空になります。

http://mercury.bbspink.com/test/read.cgi/erobbs/1490249679/527-についてですが
ボート一覧の不具合に気づいたのが6月11日ですので6月9日の「httpでもアクセス可能に戻した」という発言後での現象となります


現在以下の方法で回避できていますので全く急ぎませんが、もしよろしければ対応お願いします。
(リンク先はJane StyleのスレですのでJane Styleでもバージョンによっては同じ現象が起きているようです。)
http://egg.5ch.net/test/read.cgi/software/1590427365/679


余談ですが、久々に丁寧な文体で文章を書いたので何か慇懃無礼な感じになってる気が…なってたらすみません。

416413:2020/06/13(土) 01:49:50
追記
どうやらこれがjaneのボード取得の挙動らしいです。
http://egg.5ch.net/test/read.cgi/software/1590427365/680

417 ◆/vmukiyuzw:2020/06/13(土) 03:15:36
なるほどー、色々テストしてもfiddlerからはまともなhtmlが返ってくるのに
なんで何で専ブラ側で表示できないんだろう?と思っていたら、
専ブラ側の表示(というか解析力?)に問題があったわけですね。
(専ブラ(View)はbbsmenu.html を解析して jane2ch.brd の形式に変換してるのだが
https:// の形式のURLは多分対応していないので変換できない)
Styleでも起きてるのならXenoでも起きるんだろうな。。

・・・うーむ、となると話はかなり違ってきて、hBFとしては
「bbsmenu.html 内の https// :は全部 http:// に変換しとけば当面はうまくいくのかな?」
を検討しろって話になりますね。5ch側や専ブラ側の対応も今後どうなるのか
わかりませんが。

418名無しさん:2020/06/13(土) 06:18:33
一応JaneDoeView181014βはWebarchiveから落とせます

原因は同じだと思うのですが
httpsの掲示板に対応しているJaneDoeView181014βではmenu.5ch.net/bbsmenu.htmlでjane2ch.brdは作成されますが
板のURLがhttpsになっているのでjane2ch.brdのhttps://を削除しないとFiddlerを通らず読めないという問題があります

419 ◆/vmukiyuzw:2020/06/13(土) 21:59:19
>>418さん、ご指摘ありがとうございます。

私が検証用に入れてたViewも>>413さんと同じ 150713 だったので、
JaneDoeView181014βをwebarchiveから落として使ってみたところ、
menu.5ch.net/bbsmenu.htmlからjane2ch.brdは生成されることを確認しました。
(http://でもhttps://でも)

で、ウチの環境では生成されたままのjane2ch.brdからでもスレ一覧に飛べるし
そこからのスレ表示にも動作は問題ないように思います。
(もちろんhBFは>>411の対応をした状態で)
つまりViewを181014βにしたらとりあえず>>413さんがご指摘くださった問題は
クリアされて普通に使えるようになってしまったのではないかという状況です。

ので、>>418さんの

>>板のURLがhttpsになっているのでjane2ch.brdのhttps://を削除しないとFiddlerを通らず読めないという問題があります

の「問題」に私はたどり着けていません。うーむ、もう少し状況を
教えていただけると何かできるかもしれないですが。

ちなみに、Xenoでも(今使ってるのは 200505 で最新ではないですが)
板アドレスにhttps://を含むbbsmenu.htmlでも問題なく動作するのは確認しました。

420名無しさん:2020/06/13(土) 23:34:41
ギコナビで板のURLがhttpsになっているボード一覧を取得すると
板移転扱いされるのにスレ一覧とログが見えなくなり、
さらにキャビネットのカテゴリから板を開けなくなるので
置換の必要がありました
(とりあえず自力で暫定対策済)

421420:2020/06/13(土) 23:39:38
JScript.Net版暫定対策

if (oSession.url.match(/(?:menu\.[25]ch\.net\/bbsmenu\.html)/)) {
oSession.utilDecodeResponse();
oSession.oResponse["Content-Type"] = "text/plain; charset=Shift_JIS";
if (!oSession.oResponse["Last-Modified"]) {
oSession.oResponse["Last-Modified"] = oSession.oResponse["Date"];
}
var oBody = oSession.GetResponseBodyAsString();
//oBody = oBody.replace(/<A HREF=\"(\w*?)\"/ig,"<A HREF=$1");
oBody = oBody.replace(/https\:/ig,"http:");
oBody = oBody.replace(/\.5ch\.(net)/ig,".2ch.$1");
oBody = System.Text.Encoding.GetEncoding("shift-jis").GetBytes(oBody);
oSession.ResponseBody = oBody;
}

422413:2020/06/14(日) 03:30:42
181014βをダウンロードして試したところ
>>418さんと同じ状況になりました。

そしてこの時点で
「hBFとは関係なく専ブラの種類やバージョンによってボード一覧取得の挙動が大きく変わってしまう」
ということが明らかとなったので、hBF側での一律の対応は非常に面倒という判断から
勝手ですが私からの「ボード取得問題への対応」という要望は取り下げとさせて下さい。

もちろん作者様の負担の問題もありますが、
バージョンアップ時などに「○○を使ってる人はこの行のコメントアウトを外して〜」という運用よりも
非公式の板一覧を使ったほうがスマートだという私側の事情です。

お騒がせした上に勝手でまことに申し訳ないです。
ごめんなさい。




以下は何も新しい情報はないですが、一応試したことを書きます。
>>411は適用済みです

上書きインストールした場合と
新規インストールで「プロキシ設定」と「ボード一覧取得URL」のみを変更した場合のどちらも同じ動作でした。

jane2ch.brdの中身が

----------------------------------------------------------------
地震 0
headline.5ch.net bbynamazu 地震headline
egg.5ch.net namazuplus 地震速報
----------------------------------------------------------------

となるはずのところが

----------------------------------------------------------------
地震 0
https://headline.5ch.net bbynamazu 地震headline
https://egg.5ch.net namazuplus 地震速報
----------------------------------------------------------------

という形式になっています。
スレ一覧の取得までは問題ないのですがスレッドを取得しても表示は空白になりました。

423 ◆/vmukiyuzw:2020/06/14(日) 06:48:12
まずJane2ch Viewを新しいフォルダにインストールする。
Programs Filesの下とかは絶対ダメ。適当でいいけど新しいフォルダを作る。
そこにJaneなんたら.zipの内容を全部解凍する。
そしてJane2ch.exeを起動する。多分「ボード一覧がないから取りに行っていいですか?」
てメッセージが出るが「いいえ」を選ぶ。
で、何もない画面がでるがメニューの「設定」から「プロキシを使う」をチェックして
プロキシの「鯖」に「localhost」、ポートに「8888」を入力。
ボード一覧取得URLには「http://menu.5ch.net/bbsmenu.html」 (httpd://でもOK)
このときFiddlerも起動しておく。(hBFも仕込んでおく)
でメニューの「板欄」から「板一覧の更新」を選べば板一覧は取得できるはずなんだけどなあ

424 ◆/vmukiyuzw:2020/06/14(日) 06:52:55
>>423
>> (httpd://でもOK)
https:// や!何でこんなあほな間違いするんや

425418:2020/06/14(日) 08:06:09
FiddlerのDecrypt HTTPS trafficはどうなっていますか?
自分はオフなのですがもしかしたら復号しているので
View-https-Fiddler-https-5chでも読めているのかなと
>>421の対策(https→http)が気になりますが自分はC#版で試せていないです

426 ◆/vmukiyuzw:2020/06/14(日) 21:22:35
>>425
私のとこではオンにしてます。多分ご指摘の通りの理由で読めているのでしょう。
これまで「できます」と書いていたのはここがオンのため環境が違ってたということ
になるのか・・・
確かそれをオンにするとFiddlerが生成する証明書を認証させるための若干の手続きが
必要になったような記憶があります(詳細は忘れてしまいましたが・・・)
でも、httpsが全盛の現状ではオンにしておいたほうがFiddlerをトラブル少なく
使っていけるのではと勝手に思うのですが。

>>420-421さんの対策(httpsをhttpに変換する)は、いずれにせよ
httpsを含むbbsmenuに対応してない専ブラがある以上はやる必要があると
思うので、C#版で対処したものを出します。ちょっと検証する時間を下さい。

427 ◆/vmukiyuzw:2020/06/14(日) 22:27:51
あと、>>420-421さんにいくつかご質問したいのですが
よろしかったら教えてください。

・https→http 変換だけじゃなく 5ch→2ch 変換も入れてますよね。
これはギコナビが5ch.netのurlを認識しないということだと思うんですが
OnBeforeRequest のほうにも2ch→5chの変換が多分必要になりますよね。
どう対処されてるのか教えていただければと思います。

・ギコナビって、Jane系やV2C系にあるようなReplaceStr的な機能が
ないじゃないですか。
(dat自体は書き替えず、表示されるテキストのみを置き換える機能。
今回の件で言えば、表示上 https→http や 5ch←→2ch も可能。
これがあると、スレ上でhttpsのスレへのリンクが張られていても
専ブラとして有効なリンクとして認識できないので飛べない、という
状況を解決できる)
その辺をもしかしてhBF使って何とかされてるなら参考にさせて頂きたいと
思います。

428420:2020/06/14(日) 23:16:00
ご本家の方に晒すには恥ずかしいコードですがこんな感じです

・OnBeforeRequest
if (oSession.url.match(/(?:\.[25]ch\.net|\.bbspink\.com)\//)) {
oSession.oRequest.headers.UriScheme = "https";
oSession.url = oSession.url.replace(/\.2ch\.(net)/ig,".5ch.$1");
oSession.oRequest["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko";
if (oSession.url.match(/bbs.cgi$/)) {
oSession.oRequest["Accept"] = "text/html";
oSession.oRequest["Accept-Language"] = "ja";
//ギコナビだとPOSTの末尾に付く改行を削除。これが原因の書き込み拒否への対応
oSession.utilSetRequestBody(oSession.GetRequestBodyAsString().replace(/(\r|\n)/ig,""));
//これも↑の書き込み拒否への対応だったかも知れない
var headers = oSession.oRequest.headers;
headers["Referer"] = headers["Referer"].replace(/test\/read\.cgi\/.*?/ig,"test/bbs.cgi");
}
}

・ReplaceStr的機能
//ギコナビのreplace.iniだと正規表現が使えなかったのでここでリンクになっているものだけ書き換えるようにしたはず
oBody = oBody.replace(/ttps*:\/\/(\w*?)\.[25]ch\.net/ig,"ttp://$1.2ch.net");

こういった付け足しをしていったらC#版hBFへの移行が大変になったので、
C#版hBFを参考にさせていただいてJScript.NET版を修正しています

429 ◆/vmukiyuzw:2020/06/16(火) 00:13:57
hBFをバージョンアップしました(ver 3.04)

3.04 (2020/06/16)
 ・bbsmenu.html内のURLの記述で「https://」や「5ch.net」の記述に対応していない
  ブラウザへの対応。
  OnBeforeResponse で、 bbsmenu.html からのレスポンス内容を
  https:// → http:// 、5ch.net → 2ch.net に変換する処理を入れた。
  (デフォルトではコメントにしているので適宜コメントを解除してください)
  OnBeforeReqest では 2ch.net への リクエストは全部 5ch.net へのリクエストに
  変換するようにした。


とりあえず>>413から始まった bbsmenu.html の取得に対しての対応です。
bbsmenu内でURLがhttps://で記述されているとそもそもbbsmenuの解析に失敗して
板一覧の生成ができない(ギコナビ、View150713等?)、または
板一覧の生成はできるがbbsmenu内のhttps://に対応できてない?ため
そこからスレ一覧やスレに飛べない専ブラに対する一応の対処です。

OnBeforeResponse のほうは、最初の方に420さんが>>421さんが書いてくださったものを
ほぼそのままC#に書き替えたものを入れています。
現状うまく動いてる環境には影響が出るので、該当の処理はコメントにしています。

// bbsmenu内のurlの記述が「https://」に対応していない場合は次の行のコメントを外す
//oBody = oBody.replace(@"https:","http:");
// bbsmenu内のurの記述が「5ch.net」に対応していない場合は次の行のコメントを外す
//oBody = oBody.replace(@"\.5ch\.(net)",".2ch.$1");

の部分です。必要に応じてコメントを外してください。

OnBeforeReqest のほうは、>>428のご指摘も参考になったのですが
とりあえず現状2ch.netへのリクエストは全部5ch.netに飛ばして問題ないかと
以下のようにしました。

//2ch.netへのリクエストはとりあえず全部5ch.netに向ける v3.04
if (oSession.url.ismatch(@"(?:\.[25]ch\.net/)")){
oSession.url = oSession.url.replace(@".2ch\.(net)",".5ch.$1");
}

あと、>>425-426のFiddlerのオプションDecrypt HTTPS traffic は
どうなの?って問題があるのですが、自分はずっとオンで運用してきたので
オフにすると何ができなくなるか、オンにすると何が問題なのか、
この辺は時間不足で検証できていません。

430 ◆/vmukiyuzw:2020/06/16(火) 01:25:44
>>420さんのようにJScriptで頑張ってる方もサポートしていくべきなんでしょうが
ちょっと現状では両方やるには力不足で・・・ごめんなさい

431418:2020/06/16(火) 20:04:00
>>429
更新ありがとうございます
無事https://の無いjane2ch.brdが出来ました
念のためにmenu.5ch.net/bbsmenu.htmlのhttps強制に備えて
「5chへの読み書きは全てhttpsになったので対応」の部分を
if (oSession.url.ismatch(@"(?:\.[25]ch\.net|\.bbspink\.com)/(test/|[^./]*?/subject\.txt|bbsmenu\.html)")){
にしてDecrypt HTTPS trafficはオフのままで問題なく使えています

432 ◆/vmukiyuzw:2021/10/03(日) 00:16:19
htmltodatサポートスレッドを久々にレスをしたので、ついでにと言っては何ですが
ByFiddlerのほうの現況も報告しておこうかと思います。
結果だけ言うと、何も進展していません^^;

春ごろからですか?5chで理由不明のエラーで書き込み不可になり同時にBBx(?)
送りになってしまう状況になりました。この状況になった方は多いのでは?
で、そもそも書き込めないので原因を調べることもなかなかできず、しばらく何も
できませんでした。
そのうちいきなりBBx送りというのはなくなったようですが「PROXY変ですよん」とか
「余所でやってください」とかの意味不明のエラーエラーで書き込めないことが
多くなりました。
「プロキシ変ですよん」は大体理由がわかってそれの改善をしようかといろいろ
試したりしてたのですが、「余所でやってください」は理由が分からず今でも出ます。
その状況で下手に修正とかしても事態を悪化させるかもしれないので当面何もしない
ことにしました。

現在、自分では大丈夫そうなUAを使って書き込みはしてます。でもそれでも
「余所でやってください」は時々出ます。

433 ◆/vmukiyuzw:2023/06/23(金) 23:26:53
行きがかり上、先に向こうに書いてしまったのですが、
hBFをバージョンアップしました(Ver 3.05)

http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/1088-1089

まあまあご無沙汰になってしまったのですが、その間
5chの書き込みに結構シビアな縛りがかかるようになってしまい、
hBFで対応するのはちょっと面倒すぎるかなと思ってあきらめて
いました。個人的には今でも書き込みには別のプロキシ通してます笑
ここは今後改善される望みはないので、書き込みには別のプロキシ
使ってください。申し訳ない。

434 ◆/vmukiyuzw:2023/07/13(木) 22:57:11
ここ数日いろいろありましたがとりあえずざっくりまとめると

・JaneStyleが5chのサポートをやめて、talkという掲示板専用になった
・5chはJaneStyleが仕切ってたAPIが使えなくなるので、APIの使用を
 中止(廃止?)した。
・結果、APIに対応しておらずプロキシ通さなければ使えなくなっていた
 専ブラが、元の仕様で使えるようになった。

これはある意味、APIに対応してないブラウザを救済するための手段だった
プロキシソフトの終焉なのかもしれません;;
まあ2ch←→5chとかhttp←→httpsとかの読み替え等は今でももあるので
全く不要になることもないような気もしますが。
私は、現行ログと過去ログをシームレスにアクセスできるのを便利に感じて
るので(それを意図して作ったわけではないのですがw)、
htmltodatByFiddlerを使い続けたいなと思ってます。

435 ◆/vmukiyuzw:2024/04/05(金) 00:55:08
hBFをバージョンアップしました(Ver 3.06)

3.06(2023/04/04)
 ・5chの read.cgi の変更に対応

htmltodatサポートスレッド
https://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038588508/1104-

からのread.cgi変更への対応です。修正したのはOnBeforeResponse.csのみです。
修正箇所は</summary>の前に.*?を足しただけです。

前回更新で「これからの更新はGitHubでやります」と言ってしまったのですが
さぼってたせいか更新のアクセスができなくなってます^^;
のでとりあえず元の
http://mukiyu.g.ribbon.to/
で公開します。


新着レスの表示


名前: E-mail(省略可)

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

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

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

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