[
板情報
|
カテゴリランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
|
メール
|
1-
101-
201-
301-
401-
この機能を使うにはJavaScriptを有効にしてください
|
テストその2
1
:
名無しさん
:2002/11/28(木) 00:05
テストその2
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;を(半角にして)使って とする手もあったのですが
「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&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&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&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# \[.*?\]##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
使い始めました。
感謝、感謝です。
238
:
230
: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]);
の後あたりに挿入。
対応したバージョンは追ってアップします。
240
:
835
: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;
}
眠いので続きは明日以降に
新着レスの表示
名前:
E-mail
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板