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

htmltodatサポートスレッド

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

734 ◆/vmukiyuzw:2012/11/26(月) 20:25:12
あと仕様面で若干補足。

パラメータファイルで第2引数まで指定して(この場合自動終了はしない)
HTML取得→変換まで行った場合、HTMLプレビューが表示されません。
意図してやってることではなく、結構強引に動かしてるところがあるので
結果的にそうなってしまったというところです。
まあプレビュー欄は変換結果が正しいかどうかの確認用の機能なので
パラメータ指定で動かす場合は(パラメータが正しい前提で動作するので)
表示されなくても特に問題なし、とさせて頂きます。

とはいえ、サイト側の仕様変更により、変換エラーが出る場合もあると
思います。
htmltodatを直接起動した場合は変換エラーはエラーダイアログで表示
されますが、パラメータ指定で自動で動かす場合エラ-ダイアログを
出すことが出来ません。
(この場合、出力ファイルが作成されないことになると思います)
何が起こったかわからなくなると困ると思ったので、こういう場合は
error.txtというファイルにエラーダイアログと同じ内容を出力するように
しました。変換がうまくいかないときは参照してください。

735exp:2012/11/27(火) 00:30:22
0.8.20の書庫ファイルが破損しているようです。
ご確認お願いします。

736 ◆/vmukiyuzw:2012/11/27(火) 00:38:44
>>735さん
ダウンロードしなおして確認しましたが別に破損してないですよ。
他の方から動作確認したとの報告ももらってますし。
何が問題なのかこちらでは見当つきかねます。

737 ◆/vmukiyuzw:2012/11/27(火) 19:04:05
http://yy14.kakiko.com/test/read.cgi/mirror/1353918147/6
> 受信オプション→HTTPヘッダの追加 
> と
> 変換オプション→透明あぼーんを補う
> はprmファイルで指定出来ないのでしょうか。

現状、readmeに書いてる5項目
(正規表現、URLの変換、前処理、変換結果式、後処理)
しか指定できません。

当面使うニーズが多そうなものに限って実装し(いきなり全部やって
バグってたら悲惨なので)、他はニーズが出たらやろうという考えでした。
まあぼちぼちとやりますんで気長にお待ちください。

738 ◆/vmukiyuzw:2012/11/28(水) 00:56:26
バージョンアップしました(0.8.21)
 ・バッチコマンド化機能でパラメータファイル内で前バージョンではサポートして
  いなかった項目を追加。

>>737を受け、受信オプション・変換オプションで設定できる項目は
一応全てパラメータファイルで設定できるようにしてみました。
チェックボックスでオンオフするような項目については

透明あぼーんを補う:
true

のような形式で指定してください(オフにしたい場合は false を指定)

739 ◆/vmukiyuzw:2012/12/01(土) 18:48:24
バージョンアップしました(0.9.0)
 ・正規表現ライブラリを、オリジナルのbregexp.dllからbregonig.dllをリネーム
  したものに変更。
  これに伴い、変換エラーチェックの閾値を変更。

◆◆◆◆◆◆◆◆◆◆ 重要 ◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
これにより、今回バージョンアップされる方は
zipに同封しているbregexp.dllを再インストール(htmltodat.exeと同じフォルダに
解凍して上書き)することが必要になります。
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

bregonig.dllを使うと、オリジナルのbregexp.dllでは「fatal error」が出てしまうようなケースでも
エラーにならず処理してくれます。
で、どこかのタイミングで差し替えようと考えていたのですが今回やることにしました。
これにより、今までhtmltodatが異常終了してしまっていたようなケースが改善され
プログラムの安定性が向上したと思います。

また、fatal errorになるリスクが軽減されたので、今まで「正規表現が正しくないようです」
などのエラーにしていた閾値(読み込み行数およびバッファサイズの上限値)を
これまでよりかなり大きめに変更しました。
これで何がよくなるかというと・・・一番うれしいのは、前処理でのガラガラ除去が不要になる
(完全にはなくならないかも・・少なくとも今までよりは減らせる)ことで、処理時間の短縮に
つながるでしょうし、ターゲットのサイトが仕様変更された場合の対応も楽になると思われます。

740名無しさん:2012/12/04(火) 06:36:00
その120とその127でログ見つかったのですが変換式が載っておりません。
どなたかお願いします。

その120
http://2chland.net/software/1183880331.html

その127
http://software.log2.me/1183880331.html

741 ◆/vmukiyuzw:2012/12/04(火) 19:21:40
>>740さん
「その120」 2chland.net については>>684-685で一回やったんですけどね。

まあ若干形式が変換されてるようですし、せっかくバージョンアップしたことでもあるので
Ver.0.9.0仕様であらためて考えてみますかね。
(まだバージョンアップされてない場合は>>733,>>739のdllの導入を欠かさないこと)

あと、「その127」 software.log2.me については 2chland.net と形式がほぼ同じですね。
同じ方が運営されてるのかな?
以下のものが両サイトで共通で使えると思います。


前処理:
# スレタイ補正
s#(<title>)(.*?) ?(.*?)(</title>)#$1$2$3#ik
# 日付とIDの間に何かあると邪魔なので除去
s#</span><span># #igk
# <br />タグに対応していない専ブラへの対応
s#<br />#<br>#igk
# ガラガラ除去がないとやっぱスッキリするな〜

変換結果式: (メール欄逆転)
$2<>$3<>$4<>$5<>

正規表現:
m#<li><span>()(.*?) ?\[ ?(.*?) ?\] ?(.*?)</span><p> ?(.*?)\s*</p>#mik

742740:2012/12/04(火) 22:52:54
>>741さん
その120、その127ともにdat変換確認しました。

その120>>684-685の見落とし申し訳なく・・・。
その127はスレ検索したのですぅ。

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

743 ◆/vmukiyuzw:2013/01/05(土) 19:13:11
バージョンアップしました(0.10.0)
 ・パラメータファイルを読込・保存するための機能を追加。
 ・パラメータファイル内で、一行しか入力できない項目に複数行の指定をすると
  挙動がおかしくなる不具合を修正。
 ・スクリプト等から起動した場合の動作を若干修正。
 ・その他ショートカットキーの漏れ等を微修正。

バッチコマンド化機能で指定するパラメータファイルの内容を
手動で読込・保存する機能です。
もともとは別のニーズから導入を決めたものですが、これを使うと
今まで正規表現や変換オプションの各項目で個別に指定・管理していた項目を
一つのファイルにまとめて管理することが出来るようになるので
楽になる面があると思います。

使い方はreadmeの397行目あたりから読んでもらって実際触ってもらえれば
すぐ分かると思いますが、ちょっとだけ書いておくと
・ファイルの読込は「読込」ボタンを押してダイアログで選んでもいいですし
 ファイルをドラッグ&ドロップしても読み込めます。
 読み込んだ内容は読み込んだ時点で各項目に反映されます。
・このサポートスレでレスしたような内容(例えば>>741のようなもの)を
 そのままコピペしても使えます。
 この場合、各項目への反映は自動では行えないので、「適用」ボタンを
 押して下さい。もしくは一旦保存して読み込み直してもいいと思います。

744 ◆/vmukiyuzw:2013/01/06(日) 17:30:38
>>743
バージョン0.10.0に不具合が見つかったので公開を中止します。
(現在ダウンロードページでは前バージョンを公開しています)

既にダウンロードされた方、新機能の「パラメータファイルの読み書き」には
不具合がありますので、当面使用をお控え願います。
(それ以外の今まで使えていた機能には問題ありません)

745 ◆/vmukiyuzw:2013/01/06(日) 19:56:55
バージョンアップしました(0.10.1)
 ・パラメータファイル読み書き機能の不具合を修正。

今回は不具合対応のみです。
前バージョン(0.10.0)には不具合があるので使用しないでください。

仕様の詰めが甘いまま実装してしまったので実際使ってみると
すぐ穴が見つかってしまいました。失礼しました。

746 ◆/vmukiyuzw:2013/01/12(土) 19:47:09
バージョンアップしました(0.10.2)
 ・パラメータファイル読み書き機能の不具合を再修正。

今回も不具合対応のみです。

不具合と言うか仕様の問題なのですが、前バージョンでは
パラメータファイル読込時、指定を省略した項目があった場合、
・テキスト項目の場合→空白
・チェックボックス項目の場合→チェックOFF状態
になるようになっていました。
ですが、チェックボックス項目はそれぞれ既定の値が違うため
(例えば「アンカー削除」は既定値ONになっている)、
無条件で上書きしてはまずいケースがあるかもしれないと考えました。
よって、チェックボックス項目の指定を省略した場合は
既定値を上書きしないように変更しました。

(テキスト項目については省略時は今までどおり空白。
これを変更したい場合は明示的に指定すると思われるので)

747名無しさん:2013/01/26(土) 12:35:14
いつもいつもお世話になっています。<(_ _)>

その134の変換おねがいできますでしょうか。
http://2ch.hork.info/res/kilauea.bbspink.com/hgame2/1358507907/

バージョンアップもありがとうございます。

748 ◆/vmukiyuzw:2013/01/26(土) 22:10:29
>>747さん
一応、下の正規表現等で変換は可能。
ですが、以下の状況によりあまりお勧めできかねます。

まず、該当のスレはレス1004までありました。これにまず違和感。
実況とかで最後に書き込みが集中するような状況だとたまにあるのですが
このスレはそういうわけではない。
(bbspinkはほとんど見ないんでそういうものなのかな?と最初は思ったのですが)

datに変換して専ブラに読ませてみると破損スレとの警告が出ます。
調べてみると434レス目が壊れた状況になります。
なんかレスアンカーにも違和感があるし変だなと思って前後を調べてみると、
どうやら418以降のレスが402からの繰り返しになってる模様。
(投稿日時が巻き戻って同じレスが繰り返されている)
で、壊れてる434レス目のところで数レスが省略されてる模様。

まとめていうと、418以降のレスは元々のスレとは間違ったレス番で並んでると思われる
ということです。たまたまのトラブルかもしれませんが、このサイトのログ収集処理自体が
バグってる可能性もあると思います。
htmltodatの機能としてdatに変換することは可能ですが、元データが不正なものを
変換してもレスアンカーとかはめちゃくちゃになります。
それでも意味があるかはご自分でご判断ください。


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

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

正規表現:
m#(?:</h1>|\t)(\d+):?&nbsp;:<span class="postname">(.*?)</span>:()(.*?)<br />\s*<(?:h2|p) class="resbody">(.*?)(?:</h2>|</p>)#mik

749747:2013/01/27(日) 01:42:49
>>748さん

datになったものならメモ帳で編集できるんで、その6aの829以降を補えれば
いいんでやってみます。

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

750749:2013/01/27(日) 02:09:03
”一部しかマッチしていないようです” というエラーメッセージダイアログが
出て、変換はタイトル行だけでした。
URLの変換は、何か設定いるのでしょうか?

751750:2013/01/27(日) 02:34:47
正規表現をJANEからhtmltodatへコピペすると、エラーは先の
”一部しかマッチしていないようです” ですが、
IE,FireFoxからコピペすると、”一行が長過ぎるか、正規表現が正しくないようです”
に変化しました。
何がいけないのだろう?

752751:2013/01/27(日) 02:42:48
JANEからコピペすると何やら160とかに変化するようです。
m#(?:</h1>|\t)(\d+):? :<span class="postname">(.*?)</span>:()(.*?)<br />\s*<(?:h2|p) class="resbody">(.*?)(?:</h2>|</p>)#mik

753名無しさん:2013/01/27(日) 02:54:07
JANEから書き込むと元にもどるのねこれ。
全角ならどうか?
m#(?:</h1>|\t)(\d+):?&#160

754 ◆/vmukiyuzw:2013/01/27(日) 03:06:00
>>750さん
マッチさせたかったのは&nbsp(実際には半角)だったのですが、
掲示板に書き込む時にただの半角スペースに変換されちゃうのを忘れてました。
以下にしてみてください。

ちなみにURLの変換は、ミラー変換機で得られる
http://2ch.hork.info/res/kilauea.bbspink.com/hgame2/1358507907/
のURLを使う場合は別に必要ないのですが
http://kilauea.bbspink.com/test/read.cgi/hgame2/1358507907/
(2chやbbspinkの生のURL)を使いたい場合のために記述しているものです。
省略しても問題ないですが書いておいたほうが多分便利でしょう。
(663さんから書き添えて欲しいと要望がありました)


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

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

正規表現:
m#(?:</h1>|\t)(\d+):?.nbsp;:<span class="postname">(.*?)</span>:()(.*?)<br />\s*<(?:h2|p) class="resbody">(.*?)(?:</h2>|</p>)#mik

755 ◆/vmukiyuzw:2013/01/27(日) 03:32:07
ちなみにその134(http://2ch.hork.info/)についてですが
適当にスレを探して見ていたところやっぱ同様の巻き戻り現象がときどきあるようですね。
少なくとも、htmltodat変換の対象としてはあまり使用をお勧めできないですね。
(何かおかしくても発見するのが結構難しい)

756名無しさん:2013/01/27(日) 17:17:32
◆/vmukiyuzwさん、変換できました。

最後までログ保持してるミラーがその134しかないようなので
なんとか切り貼りしてやってみます。
ありがとうございました。<(_ _)>

757756:2013/01/27(日) 17:57:49
メモ帳だと破損ログになりましたが、WZ EDITORでコピペしたところ
正常なdatになりました。
本当にありがとうございました。<(_ _)>

758名無しさん:2013/05/11(土) 11:50:43
こんにちは、いつもお世話になってます
ログ速が仕様変更したので改変してみました
コンマ秒に対応したみたいですね
--------------------
Proxyを使う:
false

前処理:
# スレタイ補正
s#(<title>)(.*?) \| \S*?(</title>)#$1$2$3#ik
# ガラガラを適当に除去
s#<script(.|\s)*?</script>##igk
s#<style(.|\s)*?</style>##igk
# ニュー速等のアイコンを2ch形式に補正(663さんのものをアレンジ)
s#<img src="http://cdn.logsoku.com/(img.2ch.net/ico/.+?)&quot;&gt;#sssp://$1#igk
# 「〜回発言」を取り除く(663さんのものをアレンジ)+ID周りの変更を反映
s#<a href=.* class="id_search_btn">(ID)</a>(:)<a [^>]+>(.*?)</a>((.|\s)*?) ?\[.*?\]#$1$2$3$4#igk
# 後ろガラガラの除去(ちょっと修正)
s#<tr(.|\s)*?</tr>##igk
# <br/>タグに対応してない専ブラへの対応
s#<br/>#<br>#igk

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

アンカー削除:
true

beコード削除:
false

透明あぼーんを補う:
false

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

正規表現:
m#<article id=\"([^\"]+).*<span class=\"n?em\"><b>(.+?)</b></span>\[(.*?)\] :(.*?)<div class="comment">(.*?)</div></article>#imk

-------------------

759名無しさん:2013/05/11(土) 12:01:40
すみません。>>1のガラガラが除去できてなかった
# ガラガラを適当の除去の項目に
s#</div><div style="text.*<div class="ad_area"></div>##igk
を追加してください

760名無しさん:2013/05/11(土) 12:15:00
>>759は無しで。</article>を加えたのがまずかっただけでした

正規表現:
m#<article id=\"([^\"]+).*<span class=\"n?em\"><b>(.+?)</b></span>\[(.*?)\] :(.*?)<div class="comment">(.*?)</div>#imk

761名無しさん:2013/05/11(土) 13:48:56
自動判別でのUTF-8→SJISの段階で半角カタカナが全角カタカナになっちゃいますね
その他、アンカーの相対リンクへの置換とHTMLリンクの除去は2chブラウザの動作には影響ないのでそのままにしてあります

なんども投稿して申し訳ないですが、スペースの調整が甘かったのでもう一回修正しました
---------------------------------
Proxyを使う:
false

前処理:
# スレタイ補正
s#(<title>)(.*?) \| \S*?(</title>)#$1$2$3#ik
# ガラガラを適当に除去
s#<script(.|\s)*?</script>##igk
s#<style(.|\s)*?</style>##igk
# ニュー速等のアイコンを2ch形式に補正(663さんのものをアレンジ)
s#<img src="http://cdn.logsoku.com/(img.2ch.net/ico/.+?)&quot;&gt;#sssp://$1#igk
# 「〜回発言」を取り除く(663さんのものをアレンジ)+ID周りの変更を反映
s#<a href=.* class="id_search_btn">(ID)</a>(:)<a [^>]+>(.*?)</a>((.|\s)*?) ?\[.*?\]#$1$2$3$4#igk
# 後ろガラガラの除去(ちょっと修正)
s#<tr(.|\s)*?</tr>##igk
# <br/>タグに対応してない専ブラへの対応
s#<br/>#<br>#igk

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

アンカー削除:
false

beコード削除:
false

透明あぼーんを補う:
false

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

正規表現:
m#<article id=\"([^\"]+).*<span class=\"n?em\"><b>(.+?)</b></span>\[(.*?)\] :(.*?)<div class="comment"> (.*?)</div>#imk

-----------------------------------------------

762 ◆/vmukiyuzw:2013/05/12(日) 16:36:24
>>758-761さん
考えていただきありがとうございます。
何点かコメントさせてください。

1.
> 自動判別でのUTF-8→SJISの段階で半角カタカナが全角カタカナになっちゃいますね

気づいてませんでした。これはまずい仕様ですね。
nkfの仕様のようで、詳しい経緯は不明なのですが、推測するに
「ネット(という呼び名ですらなかった頃?)で半角カナ使うなボケェ!」
な時代から使われてるプログラムらしいので、半角カナは全角に置き換える動作が
デフォルトなのかもしれません。
対応策は考えますが、多分また時間かかりそうなので当面nkfを使わない元の仕様に戻す
ことになると思います。(これはこれで問題あるのですが・・・)

2.
正規表現および前処理を考えていただいたのはありがたいのですが、

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

も付けたいところです。
ログ速のURLからではなく、2chの生のURLから(スクリプトを経由して)
htmltodatでログ速を変換しているという方がいらっしゃいますので。

3.
前処理の「ガラガラ除去」はVer0.9.0以降基本的に不要になりましたので
記述を削除してしまっていいと思います。>>739参照。

4.
これは以前から気づいていて、次にログ速の仕様変更があったら反映させようと
思っていたものなのですが。
レス内にニコニコ動画やyoutubeへのリンクが貼られていると、ログ速では
サムネイル画像のタグを挿入してしまいます。なのでこれらのタグを除去しないと
ブラウザによってはそのまま表示されてしまいます。
(表示されても構わない、という方は除去しなくてもいいかもしれませんが)
よって、前処理に以下を追加したいです。

# ニコ動やyoutubeのサムネイル削除
s#<div class='video.*?><div.*?><div.*?></div></div><img .*?></div>##igk
s#<(iframe|img class).+?<br/>##g;


1は当面どうしようもないとして、2〜4を反映させていただいたパラメータの内容は次に。

763 ◆/vmukiyuzw:2013/05/12(日) 16:38:36
>>762続き

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

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

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

正規表現:
m#<article id=\"([^\"]+).*<span class=\"n?em\"><b>(.+?)</b></span>\[(.*?)\] :(.*?)<div class="comment"> (.*?)</div>#imk

764 ◆/vmukiyuzw:2013/05/12(日) 18:48:30
バージョンアップ(というか実質ダウンですが --;)しました(0.10.3)
 ・nkf32.dllの使用を中止し、UTF-8→SJISの変換を0.8.18以前の方式に戻す。

>>762で書いたとおり、半角カタカナが全角に変換されてしまうのは問題が大きいと思われるため
nkf32.dllの使用を一旦中止し以前の変換方式に戻すことにしました。
(当面、ログ速では「〜」が「?」に化けることはないようなので重大な問題はないだろう・・・)

今後の対応としてはnkf32.dllでの回避策を探しつつ他に使えそうなdllも探すということになるかと
思います。ちょっと検索したら有望そうなのを見つけたんですがまだ調べてみないとなんともです。

765 ◆/vmukiyuzw:2013/05/12(日) 19:31:41
すみません、個人的にここ数日多忙で、そこに不具合が見つかったので焦ってしまったようです。
nkf32.dllでの回避策がどうやら見つかったので対応しようと思います。
また修正しますのでしばらくお待ちください。

766 ◆/vmukiyuzw:2013/05/12(日) 20:10:12
バージョンアップ(?)しました(0.10.4)
 ・nkf32.dllの使用を再開。

nkf32.dllでの回避策をテストして問題なさそうだったので再修正しました。
前のバージョン(0.10.3)は誰もダウンロードしてないようなので
幻のものとして忘れてください^^;

767名無しさん:2013/05/13(月) 08:32:13
乙。こいつはありがたいや

768名無しさん:2013/05/28(火) 16:58:09
ログ速で1行が長すぎるか、正規表現が正しくないようです。
とでてログ変換できなくなってしまったんですがどこかコピペミスったかな…
みなさんは問題なく変換できていますか?

769 ◆/vmukiyuzw:2013/05/28(火) 20:34:53
>>768さん
若干ですがまた仕様変更されたようですね。
以下ので多分いけると思います。


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

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

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

正規表現:
m#<article id=\"([^\"]+).*<span class=\"n?em\"><b>(.+?)</b></span>\[(.*?)\].*?:(.*?)<div class="comment"> (.*?)</div>#imk

770768:2013/05/29(水) 14:58:31
変換出来ました!
素早い対応ありがとうございました。

771名無しさん:2013/05/29(水) 23:04:11
私も変換できました
素早い対応ありがとうございます

772 ◆/vmukiyuzw:2013/06/06(木) 18:25:48
ログ速がまた仕様変更されたようですね。
途中の改行が一切取っ払われてベタッとしたHTMLになって形式的には結構変更されたようですが
htmltodatはまあ一応そういうのも想定して作ってますんで・・・

以下のようなので多分いけると思います。
>>758-761さんの考えてくださった部分を自分好みに一部修正してます。ご容赦を)


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

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

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

正規表現:
m#<article id="(\d+)".*?<span class="n?em"><b>(.+?)</b></span>\[(.*?)\].*?:(.*?)<div class="comment"> (.*?)</div>#imk

773 ◆/vmukiyuzw:2013/06/11(火) 00:30:17
気がつくとログ速また仕様変更されたようですね。
今回は微妙な変更のようですが。
以下のようなので多分いけると思います。


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

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

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

正規表現:
m#<div id="(\d+)".*?<span class="n?em"><b>(.+?)</b></span>\[(.*?)\].*?:(.*?)<div class="comment"> (.*?)</div>#imk

774名無しさん:2013/06/11(火) 20:19:37
対応ありがとうございます
無事変換できました

775 ◆/vmukiyuzw:2013/06/20(木) 20:09:20
つい最近気づいたんですが、ログ速のログには若干の問題があります。
2chの元のスレ中に2ch内のスレへのURLリンクが書かれていると、ログ速側に取り込む際に
勝手にログ速内のログへのURLリンクに変換してしまう、というものです。
これは前からそうなのかどこかの時点で仕様変更されたのかはちょっと把握してませんが・・・

具体的には、元のスレ中に例えば以下のようなURLリンク

http://toro.2ch.net/test/read.cgi/tech/1362913813/

が書かれてあったとすると、ログ速側に取り込まれると

http://www.logsoku.com/r/tech/1362913813/

に変換されてしまいます。
(その昔、今はなき「にくちゃんねる」が同じようなことをしてたと記憶してます)

これをhtmltodatで処理する場合、前処理等で元のURLリンクに逆変換したいところなのですが
困ったことにサーバに関する情報(この例では「toro.2ch.net」)が失われてしまっています。
単純に元の2chへのリンクに戻してやることはできないのです。

何か逃げ手はないかと考えてはいるのですが汎用的ですっきりしたものはなかなか難しそうです。
(そもそも人によっては特に問題視されない場合もあるかもしれませんし)
当面ログ速については上のような事象があるのでご注意ください、位しか言えない感じです。

776 ◆/vmukiyuzw:2013/06/21(金) 22:02:20
それはともかく、またログ速が微妙に仕様変更されてるようで。
ID周りが微妙に変更されたようです。以下のようなのでいけると思います。


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

前処理:
# スレタイ補正
s#(<title>)(.*?) \| \S*?(</title>)#$1$2$3#ik
# ガラガラ除去はVer0.9.0以降不要になったので削除
# ニュー速等のアイコンを2ch形式に補正(663さんのものをアレンジ)
s#<img src="http://cdn.logsoku.com/(img.2ch.net/ico/.+?)&quot;&gt;#sssp://$1#igk
# 「〜回発言」を取り除く(663さんのものをアレンジ)+ID周りの変更を反映
s#<a href="/id.*? class="id_.*?>(ID)</a>(:)<a .*?>(.*?)</a>(.*?)\[.*?\]#$1$2$3$4#igk
# ニコ動やyoutubeのサムネイル削除
s#<div class='video.*?><div.*?><div.*?></div></div><img .*?></div>##igk
s#<(iframe|img class).+?<br/>##g;
# ログ速内へのURLリンクの強引な逆変換・・・Jane系でしか使えないと思われるのでとりあえずコメントアウト
#s#http://www\.logsoku\.com/r/(.*?)/(\d+)/#http://dummy.2ch.net/test/read.cgi/$1/$2/#ig
# <br/>タグに対応してない専ブラへの対応
s#<br/>#<br>#igk

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

正規表現:
m#<div id="(\d+)".*?<span class="n?em"><b>(.+?)</b></span>\[(.*?)\].*?:(.*?)<div class="comment"> (.*?)</div>#imk

777 ◆/vmukiyuzw:2013/06/26(水) 19:23:16
ここで書いたことが影響したとも思えないのですが
ログ速で >>775 のような変換はしないように仕様変更されてるようです。

(<a href=〜での参照先はログ速内リンクになっているが
URLの書き込み自体の変換はされていない)

htmltodatとしては、考慮しないといけない厄介な事象がなくなって
良かったと言えると思います。

# (オリジナルのdatに近づけるため)変換オプションの「アンカー削除」を
# あえてオフにしているという方もいらっしゃるようですが、そういう方は
# ちょっと気をつけないといけないかもしれません。

778名無しさん:2013/06/30(日) 20:22:44
無事変換できました
ありがとうございます

779名無しさん:2013/07/24(水) 01:00:03
ログ速が仕様変更したかもしれません
変換ができなくなってた

780 ◆/vmukiyuzw:2013/07/24(水) 20:06:09
>>779さん
また微妙に変更されてるようです。
(要素間の半角スペースの数が変わったとかそんなレベルの変更)
# logsokuさんのツイート見てると、htmltodatからは意識しない部分も
# 結構こまめにいろいろ弄られてるようですが

以下のようなのでいけると思います。
(今回特に変更されてない部分についても今後を考え多少予防線を張ってみた)


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

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

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

正規表現:
m#<div id="(\d+)".*?<span class="n?em">.*?<b>(.+?)</b> *</span>.*?\[(.*?)\].*?:(.*?) *<div class="comment">(.*?)</div>#imk

781名無しさん:2013/07/25(木) 20:53:51
無事変換できました
忙しい中の対応ありがとうございます

782 ◆/vmukiyuzw:2013/08/03(土) 14:18:40
またまたログ速に関してなのですが。

youtubeのサムネイル埋め込みまわりの仕様が多少変更されたらしく、
今までの記述では前処理でフリーズしてしまうケースが見つかりました。

とりあえず、以下のようなので当面大丈夫だと思います。


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

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

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

正規表現:
m#<div id="(\d+)".*?<span class="n?em">.*?<b>(.+?)</b></span>.*?\[(.*?)\].*?:(.*?) *<div class="comment">(.*?)</div>#imk

783名無しさん:2013/08/03(土) 14:31:37
おっつおっつ

784 ◆/vmukiyuzw:2013/08/08(木) 23:06:35
バージョンアップしました(0.11.0)
 ・あまり使わないと思われるコントロールを削除(ダブルクリックで復活可能)。
 ・パラメータファイルで「コメント:」を使えるようにした。
 ・その他制御の漏れ等を微修正。


前に某所で操作がごちゃごちゃしてるという意見が出ていて、自分でもちょっと思っていたので
使用頻度が少なそうな機能を削ってみました。見た目がかなりすっきりしたと思います^^;
もっとも、削ったものを使ってる方もいらっしゃるでしょうから、画面のどこか何もないところを
ダブルクリックすると削除したものが復活します。(再度ダブルクリックでまた消える)
まあどれだけ意味あるか分かりませんが気まぐれにやってみました。


あと、prmファイルの内容にコメント(何の理由で修正したとかの記述等)を入れたいと思っていたので
(今まででも前処理の一部とかに無理やり入れることはできたのですが)独立で入れられるように
してみました。まあ大層な話ではなくてprmファイル中に

コメント:

と書くとそれ以降何行でも(空行が挟まってはダメ)コメントが書けて保持できるというだけのものです。
(今までは対応するフィールドを持っていなかったので保持できなかった)
一応ファイルの先頭に書くことを想定してます。複数箇所に分けての記述はできません。
これもかなり自己満足の機能ですがとりあえず。

785 ◆/vmukiyuzw:2013/08/20(火) 22:29:03
バージョンアップしました(0.11.1)
 ・変換オプションに「プレビューを表示しない」を追加。
  これを指定すると画面右側のプレビュー欄が表示されなくなるが
  変換速度は速くなる。

これはまあ「必要なさそうなものは削ろう」第二段と言えるのかな?
プレビュー欄を必要としてる人がどれだけいるだろうという試みです。
変換速度は明らかに速くなったので、スクリプト等から使っておられる
方にはかなり良くなったんじゃないかな?

# 本当のことを言うと、プレビュー欄を表示しなくなるよりも
# 「dat変換結果」の下の「読込行:〜なんたらの部分の表示を削るほうが
# 速度的にははるかに効果があったのです・・・
# 今後何か変更する際には考慮しないといけないな

786名無しさん:2013/08/28(水) 17:21:19
この設定で「1行が長すぎるか正規表現が正しくないようです」と表示され動かないのですがログ速は仕様変更などしたのでしょうか?
http://ideone.com/sT6hZ6

787 ◆/vmukiyuzw:2013/08/28(水) 19:14:39
>>786さん
貼っていただいたコードを確認しましたが、正直言って
結構情報が古いです。
このスレで言うと>>761-763 あたり、大体3ヶ月くらい前の状況でしょうか。

このスレを「ログ速」というワードで検索して頂くといいのですが
それ以降もログ速の仕様変更は何度かあり、とりあえず正規表現等の記述の
現状の最新は>>782です。

また、htmltodat本体のバージョンアップも行われているのでご注意ください。
(最新の更新は>>785
現状どのバージョンを使われてるかにもよりますが、正規表現等の記述では
最新バージョンでの使用を前提としている場合があります。
特に、nkf32.dll と bregexp.dll の2つのdllについては最新であるかどうか
確認したほうがいいかもしれません。

788名無しさん:2013/08/28(水) 21:34:59
すいません、ありがとうございます。
htmltodatでlogsokuのログを正常にログ変換できました。

789 ◆/vmukiyuzw:2013/08/28(水) 22:46:06
せっかくなのでこういうのを貼っといてみよう


コメント:
ログ速変換用-20130828
「プレビューを表示しない」をONにして高速化してみたバージョン

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

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

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

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

正規表現:
m#<div id="(\d+)".*?<span class="n?em">.*?<b>(.+?)</b></span>.*?\[(.*?)\].*?:(.*?) *<div class="comment">(.*?)</div>#imk

790 ◆/vmukiyuzw:2013/10/12(土) 21:24:18
offlaw2から過去ログを取得するのを考えてみました。
まあこれはhtmltodat使う必要性自体あまりないかもですが何かの参考に。
(「URLの変換」のとこを弄ればみみずんやunkarにも使える)


コメント:
# offlaw2経由でdatを取得してみる試み

URLの変換:
s#http://(.+?)/test/read\.cgi/(.+?)/(\d+)/?.*#http://$1/test/offlaw2.so?shiro=kuma&bbs=$2&key=$3#

前処理:
s#^(.*?<>.*?<>.*?<>.*?<>)(.*?)\n#<title>$2</title>\n$1\n#ik

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

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

正規表現:
m#()(.*?)<>(.*?)<>(.*?)<>(.*?)<>#mik

791 ◆/vmukiyuzw:2013/11/07(木) 21:22:58
現在 htmltodat で利用している bregexp.dll は bregonig.dll をリネームして使っているもので
バージョンでいうと 1.50(perl 5.8 互換)のものを利用しています。
bregonig 自体はこれより上のバージョンのものも公開されているのですが、
・Unicode 対応のものとなっており、Shift-jis しか対応してない(UTF-8も読めるが内部的に
 Shift-jis に変換してから処理している)htmltodat ではあまり意味ないかなと思った
・htmltodat ごときでそんな高等な正規表現機能が必要だろうかと思った
・dll自体のサイズが相当大きくなってしまうので同封して配布するにはちょっとためらいがあった
という点であえて最新でないバージョンを採用しています。

ですが、bregonig や perl のドキュメントを読んだり実際動かして試したりしてると
正規表現のより新しい機能を使いたい場合もあるんじゃないかと思うようになってきました。

当面のところこのスレでは上記のバージョン 1.50 前提でサポートしたいと考えますが
もっと新しい機能も使ってみたいという方は
http://homepage3.nifty.com/k-takata/mysoft/bregonig.html
から、より新しいバージョンの物をダウンロードして使ってみてください。
(このサイトに書かれてるドキュメント自体も非常に参考になります。
バージョン毎の機能の違いも記述があります)
現状の最新はバージョン 3.05(perl 5.14 互換)のようです。

792 ◆/vmukiyuzw:2013/11/10(日) 22:35:54
バージョンアップしました(0.11.2)
 ・「変換オプション」-「dat変換をしない(前処理のみ行う)」をONにした場合、
  前処理の結果を「dat変換結果」欄に表示するようにした。
  (もちろんそれをそのまま保存することも可能)
 ・「正規表現」欄内で改行ができるようにし、それをprmファイルに保存・読み出し
  できるようにした。

これらはプログラムの変更としては全然大した話ではないんですが、
使い勝手としてはかなり影響がある可能性があります。

まず1点目から。
>>790のようなのを書いてみて思ったのが、
もともとのソースがdat形式もしくはそれに近い形式のものは
無理やり htmltodat の変換メイン処理を通さなくても
そのまま単純に保存できたほうがいいケースもあるんじゃないかと。
今までも前処理中でwコマンドというのを使って保存することはできたのですが
元々デバッグ用というかイレギュラーな使い方ですしスクリプト等から使うことも難しいので
もっと普通に保存できるルートを付けてみた、というところです。

この機能は前処理のデバッグをするのにも結構役立つんです。
以前、某所で
「前処理の結果をwコマンドでいちいちテキストエディタで確認するのは面倒。
簡易的に表示できないか」
とのリクエストを受けた事があったんですが、
めぐりめぐってそれがやっと実現しました(遅すぎ^^;)
# 現在自分では bregonig.dll の機能の細かい確認のために使ったりもしてます

さて、2点目についてはちょっと長くなるんで次レス以降で。

793 ◆/vmukiyuzw:2013/11/10(日) 22:49:25
>>792続き)

正規表現が長くなったり複雑になった場合に、
途中で改行やコメントを入れられたら読みやすくなるのにと思ったことがありました。

v0.9.0から正式採用した bregonig.dll
(htmltodat では互換性のため「bregexp.dll」にリネームして利用している)では
perl互換の「拡張正規表現」というものがサポートされていて
オプションに「x」を足すと、正規表現の途中に任意の改行や、
インデント等の為のスペースを入れることができるようになっています。
具体例としては以下のような感じ。
(ログ速の正規表現での例です。>>789での正規表現の記述と意味的には同じなので
見比べてみてください)

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

こんな書き方ができるようになったりします。
この例では正規表現の最後、`imkx の「x」が拡張正規表現オプションです。
拡張正規表現オプションを指定しないと途中改行等は使えないことにご注意ください。
(正規表現の可読性や保守性を上げるために役立つと思うのですが、
上の例自体はその目的に実際に合ってるのかはわかりません^^;今後の研究課題です)

この例のような書き方は bregonig.dll 自体でサポートされてるものなので
今回のバージョンアップをしなくても「正規表現」欄に記述して動作させる事はできます。
ただ今まではこのような途中改行された正規表現をprmファイルに保存・読み出しする事ができなかったので
実用上あまり意味がありませんでした。
それをできるようにしたのが今回のバージョンアップです。

この機能を利用する際には、いくつか考慮しないといけない事項があります。
やや長くなるので次レス以降で説明します。

794 ◆/vmukiyuzw:2013/11/10(日) 23:12:44
>>793続き)

1.コメント問題

拡張正規表現では「(?#・・・)」の形式でコメントを入れる事ができます(>>793の例参照)。
実は、拡張正規表現でなくてもこの形式でコメントを入れる事はできるのですが、
改行の無い一行の正規表現中にコメントを入れても逆に可読性を損ねるのではないかと考えます。
途中改行が可能な拡張正規表現でこそ意味があると思います。

ところで、今まで htmltodat では正規表現のデリミタに慣習的に「#」を使っていました。
(「m#〜#〜」みたいな形式で)
一般的にはperl形式相当の正規表現ではデリミタには「/」が使われる事が多いと思うのですが
htmltodat では検索の対象がhtmlテキストということで
(かつ、htmlテキストではタグ内に「/」が多用されるのでぶつかっちゃうため)
いちいちエスケープする手間を省くため「#」を使っていたわけです。
実はデリミタ文字は対になってさえいれば何でもよいので、
「#」でなければいけないわけではありません。
(「#」を使っていたのは、あまりhtml中には登場しないだろうというのと、
あとは個人的な好みです)

ところが、「(?#・・・)」の形式でコメントを入れる場合、この「#」とぶつかってしまいます。
ではデリミタの方を変えるのがよさそうです。
前レスの例では「#」の代わりに「`」(バッククォート)を使ってみました。
(「`」は正規表現上でもhtml上でも他とぶつかる可能性が少なくてよさげなので
今後使っていきたいと思います)

あと、本家perlでは拡張正規表現の改行した途中の各行の後や行間に
「#・・・」形式のコメントが使えるのですが、bregonig.dll でも
この形式のコメントも使えるようです。
(これは bregonig のドキュメントには明記されていないようなのですが
実際試してみると使える)
こっちのほうが読みやすいという人もいるでしょう。
以下の例は、実際には半角スペースで「#」の位置を揃えてるんですが、
この掲示板での書き込みでは連続した半角スペースは省略されるので
不ぞろいになって見えると思います。
(この省略がなければ個人的にはこちらの方式を推したい気もするのですが)

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

(次レスに続く)

795 ◆/vmukiyuzw:2013/11/10(日) 23:28:43
>>794続き)

2.半角スペース問題

今まで htmltodat の正規表現を記述する際には「<span class=・・・」みたいな書き方を
無造作にしていたと思うのですが、拡張正規表現を使う場合には
半角スペースは無視されてしまいます。
(インデントのためやコメントのための半角スペースを許す必要があるので)

上の例だと「<span」と「class」の間の半角スペースが無視されるため
そのままでは正しくマッチしなくなります。
半角スペースにマッチさせたい場合は「\s」等で代替する必要があります。
(「<span class=・・・」は「<span\sclass=・・・」等にする必要がある)

半角スペースを「\」でエスケープする「<span\ class・・・」みたいな形式も
許されるので、こちらのほうがまだ読みやすいかもしれません。
>>793での例はこちらを使いました)


3.regexps.txt問題

これは互換性の問題としてやや重要な話です。

途中改行を許す拡張正規表現の形式は、
従来から htmltodat において正規表現の一覧を管理していた regexps.txt ファイルには
保存・読み出しする事ができません。

regexps.txt はもともと一行に一つの正規表現を保存する事を前提として設計していた機能なので
ここを変えるのはちょっと難しかったのです。
(というか正直には、言語のライブラリにあるiniファイル管理機能をそのまま使ってただけなので
拡張しようにも手が出せないってとこです)

prmファイルの形式であれば(改行あり前提の機能なので)もちろん保存できますし、
現状ではprmファイルでの管理のほうがいろいろと便利だと思われますので、
今後はこちらでの利用を推していきたいということでここの互換性の問題には目をつぶることにしました。
でもまあ、最初 htmltodat を使い始められる際には正規表現一覧から入られる場合も多いでしょうから
(readme に自分で「正規表現一覧から使え」って書いちゃってますしね^^;)
何らかの考慮が必要かなとは思っています。

(次レスに続く)

796 ◆/vmukiyuzw:2013/11/10(日) 23:36:17
>>795続き)

当面の問題として、ユーザーの方が皆即座にバージョンアップしてくれるわけではないでしょうから
このスレで記述する正規表現等は旧バージョン準拠のものにすると思います。
ただ、前記「コメント問題」の考慮としてデリミタ文字には「`」を使ったり、
「半角スペース問題」の考慮として裸の半角スペースは使わず\s等で代用したりは
していきたいかなと思ってます。
で、まあちょっとずつ新バージョン対応のものも出していきたいかなと。


あと一点、さほど重要ではないかもしれませんが補足があります。
「正規表現」欄の m〜 形式の正規表現は「x」オプションにより途中改行ができるようになりましたが
「前処理」「後処理」等で指定する s〜 形式の正規表現は「x」オプションを使っても
途中改行は現状できません。

これは処理の都合なのですが、「正規表現」欄の正規表現はそのまま bregexp.dll に丸投げしているのに対し、
「前処理」等の正規表現は一行ごとに htmltodat 側で解析してから bregexp.dll に投げる方式になっており
この解析の方式を変えないと途中改行のある正規表現は使うことができないのです。
「前処理」等の場合はもともと一行ずつ複数の正規表現が順番に指定される事を想定しており、
一つの正規表現が途中で改行する事を想定して作っていないということです。
この仕様は今後改良する可能性はありますが、現時点ではあまり必要性は感じていないというところです。
(現状でも行間にコメントを入れるのは可能なので)

# 全然大したことないバージョンアップの説明に5レスも要してしまった・・・
# 自分の文章力の無さを嘆いています

797 ◆/vmukiyuzw:2013/11/17(日) 23:20:34
v0.10.0(>>743)以降の、prmファイル読み書き機能サポート以降
htmltodatの基本的な使い方が従来とは違う面が出てきていると思うのですが
まだちゃんと説明していなかったと思うのでここで一度説明しておきます。

例えば、(まあ最近ではログ速の例が多いのですが)
「サイトの仕様変更があった?」とか「ここのログを変換するには?」とかの質問があった場合
大体回答として>>789のようなレスが返されます。
まずこのレスをコピーしてください。
(レス全体でもいいが「コメント:」と書かれた行以降だけでもOK)

次にhtmltodatを起動し、下のほうにある「prmファイル(R)...」ボタンを押します。
「prmファイルの読み書き」というウィンドウが開きますので、
「prmファイルの内容」という欄上で右クリ「すべて選択」またはcntl+Aで全選択し
先ほどコピーした内容を貼り付けます。
貼り付けたら「適用(A)」ボタンを押します。
これで正規表現・変換オプション等の項目が一度に設定されます。
従来、一項目ずつ入力していたものがこれでかなり楽になると思います。

貼り付けた内容をファイルに保存するには「保存(S)...」ボタンを押します。
ダイアログが出るので適当な場所に適当な名前(例えば「ログ速.prm」)で保存します。
次回から使うときはこのウィンドウを開いてから「読込(L)...」ボタンで読み込めます。
(ファイルから読み込んだときは「適用(A)」ボタンは不要)

後は変換したいログのURLを入力して「HTML取得(G)」ボタンを押します。
「取得即変換」がONになっているはずなのでdat変換まで行います。
あとは従来どおり「dat保存(S)...」ボタンを押して保存します。

以前の基本的な使い方ではまずHTMLを取得してから正規表現を選んで・・・
みたいな手順だったと思うのですが、prmファイルの形式でパラメータが
指定されている場合、まずそれを指定してからHTMLを取得する、というのが
現在の仕様上では便利だと思われます。

798 ◆/vmukiyuzw:2013/12/10(火) 19:23:57
予告されてたことですがしたらば掲示板のドメインが変更されました。
旧:jbbs.livedoor.jp
新:jbbs.shitaraba.net

htmltodatとして対応することは特にないのですが
http://mukiyu.g.ribbon.to/
からこの板にリンクをはってたんで、そこだけ修正しました。

799 ◆/vmukiyuzw:2014/03/08(土) 18:42:55
状況が流動的なので現状を正確に把握できてるかわからないのですが。

2chの過去ログがdat落ちしたものであってもhtmlでは取得できるようになっているようです。
かなり過去のものはofflaw2でもdatが読めませんが通常のブラウザではhtmlで読めたりします。
であればhtmltodatにも出番があるのでは・・・
正規表現「read.cgi7.00?」で変換はできるんで以下にprmファイルバージョンを。


コメント:
2chのログでhtml化されているがdatに残っていないものを変換。
元datに近づけるためアンカー削除はオフに

アンカー削除:
false

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

800 ◆/vmukiyuzw:2014/04/05(土) 22:45:33
バージョンアップしました(0.11.3)
 ・表示の不具合を微修正

今回は、プログラムのコード自体は一切弄っていません。
メインのPC環境がWindows8.1に移行したので、そちらで動作確認していたところ
一部の機能で表示に若干の不具合が出たためそれを修正しました。
(ウィンドウの枠サイズを修正した程度)

また、今回から開発環境自体をWindows8.1上に移行しています。
開発ツールは今までと同じなので基本的にexeの互換性は問題ないはずなのですが
何かありましたらご報告を。(一応XPでも動作確認はしています)

801 ◆/vmukiyuzw:2014/04/26(土) 21:21:17
>>799 を若干修正。
URLの変換を追加。
2chの過去ログ(html)から取得するのだからURL変換は必要ないかと最初思っていたのですが、
専ブラの外部コマンド等から呼び出す場合、
引数のURLに意図した以外の形式のものが渡ってくる可能性があると分かったので、
無駄な情報が渡らないよう変換プロセスを通したほうがいいと考えました。


コメント:
2chのログでhtml化されているがdatに残っていないものを変換。
元datに近づけるためアンカー削除はオフに

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

アンカー削除:
false

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

802名無しさん:2014/10/01(水) 12:53:49
◆/vmukiyuzwさんへ報告ですが
htmltodat0.9.0以降、Windows2000sp4で起動した場合、GUIがこの様↓になってしまっています
(GUI下部の機能が非表示、外周のウィンドウ自体を広げたり狭めても表示されず)
http://light.dotup.org/uploda/light.dotup.org79528.jpg

それと13/11/26(火) 19:05:15「・ート後処理.prm」は正常なファイルなのでしょうか?
このファイルのみ破損しており解凍できません
よろしくお願い致します

803 ◆/vmukiyuzw:2014/10/01(水) 19:25:48
>>802さん
> (GUI下部の機能が非表示、外周のウィンドウ自体を広げたり狭めても表示されず)

バージョン0.11.0から、使用頻度の少ないと思われる機能を非表示にしました。
画面のどこか何もないところ(プレビュー欄の右上など)を
ダブルクリックすると表示されるようになります。
>>784参照。

> このファイルのみ破損しており解凍できません

圧縮時に破損してしまったようです。失礼しました。
圧縮しなおして差し替えました。

804 ◆/vmukiyuzw:2014/10/01(水) 20:22:28
> それと13/11/26(火) 19:05:15「・ート後処理.prm」は正常なファイルなのでしょうか?

まあ、そのファイル(正しい名前は「ソート後処理.prm」)は
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038409548/165-
で実験して遊んでた時にできた派生物が紛れ込んじゃっただけなので
無視してもらっても構わないと思います。

805名無しさん:2014/10/01(水) 20:42:17
ダブルクリックの件はreadme.txtのわかりやすい所に書いといて欲しかったです(一括変換は割とよく使う為)
ソート後処理.prmは問題無く解凍できるようになりました
ありがとうございました

806 ◆/vmukiyuzw:2014/10/01(水) 21:02:38
>>805
意外でしたが一括変換にはまだニーズがあるんですね。
次のバージョンアップでは復活を検討します。

807 ◆/vmukiyuzw:2014/10/19(日) 20:13:28
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038409548/198,206

↑で実験しているのは、Fiddlerっていうツールを使って
ローカルプロキシ経由でのhtmltodat的処理を試しているものですが
htmltodatの「read.cgi7.00?」の正規表現をベースにスクリプト化したものを
使っています。
で、このスクリプトを弄っているうちに、read.cgiからのhtmlを
生datとほぼ一致するdatに変換できるようになりました。
ので、その成果(というほどのものでもないか)をこちらにもフィードバックしておきます。
>>799,801 への修正という形になります。


コメント:
# 2chのログでhtml化されているがdatに残っていないものを変換。
# 元datに近づけるためアンカー削除はオフにし
# 後処理で不要なもののみ削除する。

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

アンカー削除:
false

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

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

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

808名無しさん:2014/12/13(土) 03:49:50
ttp://geass2chlog2.web.fc2.com/main/1149586971.html
上のようなページをdat化するにはどうしたらよいのでしょうか
よろしければ教えてください

809名無しさん:2014/12/13(土) 04:12:31
>>808
そのページの先頭にある『元のスレッド』の文字列上を右クリしてリンクをコピー
http://anime.2ch.net/test/read.cgi/anime3/1149586971/
これをhtmltodatに投げればおk

専ブラで過去ログ取得の設定がしてあればそのままのリンクをアドレスバーに貼り付けるだけでも可なんだけど
もしかするとボードデータの更新を怠っていたり板一覧取得先のURLが死んでたりすると
http://hayabusa6.2ch.net/test/read.cgi/anime3/1149586971/
という現行鯖のリンクに切り替わらないのでそんな時もhtmltodatがあれば大丈夫

810名無しさん:2014/12/13(土) 05:39:10
あ、ごめん
完全補完ということなら2ch過去ログパラメータじゃ無理だわ

811808:2014/12/13(土) 17:56:11
2005年6月頃から2007年1月頃までの間のアニメ板のログが全て見れない状態なんですよね
なのでこの間のログは「みみずん」や「2ちゃんねるの国」等のミラーサイトから取得しているのですが全て揃っているわけでもなく…
ttp://geass2chlog2.web.fc2.com/main/index000.htmlのように2chに似た形でログを残してくれているサイトもいくつか存在しているので
これらをうまくdatに変換できないかと思い質問しました

812 ◆/vmukiyuzw:2014/12/13(土) 19:38:10
>>808さん
そのサイトについては以下のようなのでいけると思います。
一応prmファイルの形式で書いてますが、前処理等はいらなさそうなので
従来の使い方(正規表現一覧に登録して使用)のほうが楽かもしれません。
その場合コメントは無視してください。


コメント:
# アニメ板過去ログ保存サイトgeass2chlog2.web.fc2.comの変換用
# 正規表現は「read.cgi7.00?」を修正したもので上位互換性あり

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

813名無しさん:2014/12/13(土) 20:42:35
>>812
無事変換できました
ありがとうございました

814 ◆/vmukiyuzw:2014/12/13(土) 23:00:10
>>809さん
多分、htmltodat-convert2をお使いでテストスレのほうに投稿くださった方ですよね?

> http://anime.2ch.net/test/read.cgi/anime3/1149586971/

このスレはうちの環境からはhtmltodat-convert2で>>807相当のprmファイルを使っても読めなかったです。
汎用ブラウザで開こうとしても「 あなたは間違った道を歩んでいます誠に申し訳ございません。 」
のエラーメッセージが返されます。

現状2ch.netではdatでは読めない過去ログでもread.cgi叩けば大抵読めるようですが
それでもやはり取れないログはあるようです。
一時期サーバが物理的に死亡して外部サイトからログを募集してたこととかありましたね。
あの辺のログは2ch.netのサーバには存在してないのかもしれませんね。

815名無しさん:2014/12/14(日) 00:13:52
>>814
件のスレは908レスまで取得できたんだけど何が違うんだろう

816 ◆/vmukiyuzw:2014/12/14(日) 00:50:38
>>815
>>808のログには1001レスまであるので、もしread.cgiから取得できるのであれば
こちらも1001レスないとおかしいですよね。
調べたらみみずんから取得できるログは908レスまでのようです。
Getlogコマンドとの併用辺りでどこかで勘違いがあるのでは。

817名無しさん:2014/12/14(日) 03:54:00
みみずん←ソレダ!!
Xeno本体内蔵のみみずん機能の切り忘れでした大変申し訳ない

818 ◆/vmukiyuzw:2014/12/27(土) 20:56:26
したらばの過去ログの取得方法が変更されたということなので
(旧URL:http://jbbs.shitaraba.net/カテゴリ/板番号/storage/スレッド番号.html
 新URL:http://jbbs.shitaraba.net/bbs/read_archive.cgi/カテゴリ/板番号/スレッド番号/ )

htmltodatで変換できるか確認してみたのですが、htmlの形式に変更はないようで
従来の正規表現「jbbs過去ログ」で変換可能なようです。

せっかくなんでこの際prmファイル化も考えておこうかなと思ったんですが
実はあんまりやる事がない・・・
旧URLから新URLへ飛ばすために「URLの変換」を指定するのかなと思ったんですが、
これはしたらば側でリダイレクトで飛ばしてくれるようなので
(でhtmltodatはリダイレクトを追尾するようになってるので)
当面これも指定する必要がなさそうなんです。
で、prmファイルをあえて作るなら以下の一行のみでOK。


正規表現=jbbs過去ログ

819 ◆/vmukiyuzw:2015/01/18(日) 22:59:05
2ch.netのread.cgiが返すhtmlの形式が微妙に変更されているようです。
最近導入されたCloudFlareの仕様なのか設定なのか、
メール欄をエンコードして難読化する機能があり(ボット等に収集され
スパムに利用されるのを防ぐためのものらしい)、今まで

<a href="mailto:sage">

みたいな形式でメール欄が表現されていたのが

<a href="/cdn-cgi/l/email-protection#abd8caccce">

みたいになります。
(全部のレスがそうなるわけじゃなく途中から元の形式に戻ってたりするのが
いまいちよくわからんのですが)

で、エンコード部分をデコードするのにはアルゴリズムがあるので
JavaScriptとか使えば難しくはなさそうですが
正規表現だけでやろうと思うとちょっと厳しそう。
てことでhtmltodat的に考えると現状で変換するのはちょっと無理かな・・・

んで、今後どうするかですが。
現状では>>807のprmファイルで変換すると<a href="/cdn-cgi〜のタグは
無視されるだけなので単にメール欄がないレスとして扱われます。
とりあえずこの現状で勘弁してもらえるか。
htmltodatの機能として対応するとなるとなかなか面倒そう。
一番うれしいのはCloudFlareの設定変えてもらってメール欄のエンコードを
やめてもらえるといいんですがね・・・2chサイドから見ると特にメリットもデメリットも
なさそうなんで望みは薄いかなぁ。

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

アンカー削除:
false

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

までコピーする

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


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

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

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

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

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

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

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

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


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

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

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

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

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


新着レスの表示


名前: E-mail(省略可)

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

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

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

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