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

htmltodatサポートスレッド

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

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) + "\"");

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

謎の多い迎撃機だよな

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

よろしくお願いします。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

アンカー削除:
false

透明あぼーんを補う:
true

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

よろしくお願いします。

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

>>861,866

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

アンカー削除:
false

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

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

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

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

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


新着レスの表示


名前: E-mail(省略可)

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

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

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

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