Advertisement
nanashi_kana

gethtmldat-changelog

Oct 17th, 2015
40,505
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 40.35 KB | None | 0 0
  1. // ■■■ 2ch非互換BBSを仮想板に登録してみる試み ■■■ 第5版 2017/4/22
  2.  
  3. ★ v.0.64で作成されてしまったリードオンリー属性のsubject.txtを見つけるためのBAT
  4. ---------------------
  5. @echo off
  6. set folder=%1
  7. if not defined folder echo *** Logsフォルダを指定してください ***&goto :eof
  8. if not exist "%~1" echo *** Logsフォルダがありません ***&goto :eof
  9.  
  10. for /f "delims=" %%i in ('dir /ar /b /s "%~1\subject.txt"') do (
  11. echo %%i
  12. )
  13. pause
  14. ---------------------
  15. 上記を適当なファイル名(hoge.bat)で保存して、エクスプローラからLogsフォルダをこのBATファイルに
  16. ドラッグドロップするとリードオンリー属性のsubject.txtの一覧を表示します。
  17. ここに表示された爆サイ以外のsubject.txtと同じフォルダにあるsubject.idbを削除してください。
  18.  
  19.  
  20. //==============================================================
  21. // History :
  22. // v.0.73 2017/10/04
  23. // サーバー名を明記したスマホURL(https://itest.2ch.net/サーバー名/test/read.cgi/~)にも対応
  24. // v.0.72 2017/10/04
  25. // v.0.71で2ch/5chのサーバー名を無条件で板一覧のものに置換してたのを
  26. // itestの場合のみ置換するように修正
  27. // v.0.71 2017/10/03
  28. // 5ch暫定対応その2
  29. // (暫定対応その1では、板一覧と指定URLのHOST名(2ch.net/5ch.net)が同一の場合のみ
  30. // 取得していたが、異なる場合(2ch.netで登録されている板に対して
  31. // 5ch.netのURLが指定された場合、およびその逆の場合でも
  32. // 未登録と判定せずに、登録されているHOST名に置換してアクセスするようにした)
  33. // v.0.70 2017/10/03
  34. // UAをChrome61のものに差し替え
  35. // レスが見つからない場合のエラーメッセージに<h1><p>も見つからない場合は先頭100文字を表示
  36. // 5ch.netのURLに暫定対応その1
  37. // (ただし2chを5chに書き換えることはしないので、2chURLのBEアイコンは2chのまま)
  38. // v.0.69 2017/05/06
  39. // 2chのread.cgi ver.07.0.1に対応
  40. // (日付とIDが別<span>タグに変更された)
  41. // v.0.68 2017/04/25
  42. // 2chのread.cgi ver.07.0.0の取得の修正
  43. // (1の後の広告と末尾の変更への対処、BEが重複してた場合の削除)
  44. // v.0.67 2017/04/23
  45. // 2chのread.cgi ver.06.0.0のhtmlがver.07.0.0のhtmlと誤認されるのを修正(v.0.66のエンバグ)
  46. // ( http://egg.2ch.net/test/read.cgi/software/1484118686/845 )
  47. // v.0.66 2017/04/22
  48. // 2chのread.cgi ver.07.0.0に暫定対応(agreeサーバー)
  49. // v.0.65 2017/04/21
  50. // subject.txtを縛サイ以外でも書き込み不可属性をつけてしまっていたのを修正
  51. //
  52. // ★ お手数ですが、v.0.64で爆サイ以外のスレを取得してしまっていたら、
  53. // 手作業で、Logsフォルダの該当フォルダにあるsubject.txtとsubject.idbを削除して
  54. // Jane Styleでスレ一覧を更新してください。
  55. //
  56. // 爆サイでスレ一覧(subject.txt)を新規時と更新時で取得するページ数制限が入れ替わっていたのを修正
  57. // (それそれ、3ページと1ページに修正)
  58. // v.0.64 2017/04/19
  59. // 爆サイBBSを取得可能にした(試作版) 説明は修正履歴の下に記述
  60. // v.0.63 2017/04/02
  61. // まちBBSでログが取得できなくなっていたのを修正(v0.59のエンバグ)
  62. // v.0.62 2017/04/02
  63. // 2ch/pink及びjbbsのログを取得するURLに archive.org 又は google,yahooのcacheを指定できるようにした
  64. // 取得できない場合はもう一度実行すると取得できるようである
  65. // request headerのUser-Agentにchromeの適当なUAを設定した
  66. // (google cacheはUAに一般ブラウザの値を指定しないと取得できないため)
  67. // http://(???.)archive.org/web/日付/~
  68. // http://webcache.googleusercontent.com/search?q=cache:???:(http://)~
  69. // http://cache.yahoofs.jp/search/cache?~
  70. //
  71. // 【例】http://web.archive.org/web/20140321183104/http://jbbs.shitaraba.net/bbs/read.cgi/game/45148/1385631642
  72. // v.0.61 2017/03/26
  73. // 2ch/pinkでBEアイコン、お絵かきの<img>タグのsrc属性値にスキーム名"http:"が省略されるようになったものに対応
  74. // また、お絵かきがコピーのものは<img>タグから<a>タグに変わっており区別できるようになったため
  75. // お絵かきは本来のssspに変換するようにした(定義変数 IMG_TOで指定可能)
  76. // v.0.60の例で出したスレがレス番抜けしないようになっている
  77. // (どうやらバグだったようだが、デフォルトの問い合わせはそのままにしておく)
  78. // v.0.60 2017/03/23
  79. // 2ch/pink互換BBSでレス番抜けをあぼーんメッセージで穴埋めするかどうかを問い合わせるようにした
  80. // v.0.53の例では詰めたほうが良いが、補完しなければならないスレもあるため
  81. // 【例】http://agree.2ch.net/test/read.cgi/mango/1467623805/
  82. // なお、定義変数 FILL_ABONEの指定により、2ch/pinkでの動作を選択できる(+URL指定時は無効でレス番を維持)
  83. // FILL_ABONE =0(問い合わせる) =1(常に補完) =2(常に詰める)
  84. // 定義変数 REWRITE_DATの指定により、新規レスが無い場合の動作を選択できる(差分取得の場合は無効)
  85. // REWRITE_DAT =0(問い合わせる) =1(上書き) =2(一致の場合中止) =3(常に中止)
  86. // v.0.59 2017/03/21
  87. // 2chの古い過去ログで、charset=x-sjisが指定されているHTMLの場合にコード変換(SJIS->UTF16)
  88. // できなかっためログデータと認識できなかったのを修正
  89. // また、kako形式のURLのスレID.dat(又はスレID.dat.gz)が取得できた場合に
  90. // 名前<>メール<>日付<>レス内容<>(タイトル名)
  91. // の形式に加えて
  92. // 名前,メール,日付,レス内容,(タイトル名)
  93. // も認識するように修正
  94. // 【例】http://tako.2ch.net/youth/kako/957/957323893.html (レス数:15791)
  95. // レス数が多いスレの場合、メモリ不足エラーが発生する場合があるのに暫定対処(正規表現の簡略化)
  96. // 【例】http://hanabi.2ch.net/test/read.cgi/ms/1489765320/ (レス数:27489の時点では正常)
  97. // HTTP_TIMEOUTの設定値を、保険として30秒->120秒に変更
  98. // 外部定義ファイルによる設定値の変更を可能とした(gethtmldat.cfg 又は、 /cfg[:path] )
  99. // v.0.58 2017/03/11
  100. // bbspinkのスレだと常に(無駄に)レス番抜け補完処理が走っていたのを必要な場合だけに修正
  101. // (他にレス番抜け補完処理が走るのは、したらばとまちBBSで、それ以外は補完されない)
  102. // また、補完メッセージをbbspinkだけ「うふ~ん」に変更
  103. // jsonでの取得を有に設定しても取得できなくて、htmlからの変換となっていたのを修正
  104. // (日付が数値から文字列に変更されている、レスの末尾にデータが追加されているのに対応)
  105. // v.0.57 2017/03/08
  106. // bbspinkのread.cgiの変更に対応
  107. // (この場合は、レス番抜けを補完する
  108. // 「透明あぼ~ん<>透明あぼ~ん<>透明あぼ~ん ID:DELETED<>透明あぼ~ん<>透明あぼ~ん」となる
  109. // 【例】http://mercury.bbspink.com/test/read.cgi/ccc/1353390570/37,38 ほか、なお、635はBE:付きレス
  110. // (また名前が<font color="green"></font>で囲まれていた場合はこれを削除する)
  111. // 【例】http://mercury.bbspink.com/test/read.cgi/erobbs/1488860951/1 ほか
  112. // 2chのread.cgi ver.06.0.0の場合、IDにBE情報が抜け落ちるのを修正(v.0.49のエンバグ)
  113. // v.0.56 2017/02/02
  114. // 板一覧(jane2ch.brd)又はしたらばの板情報(/api/setting.cgi)で、CATEGORY、BBS_TITLEの
  115. // 末尾に空白が付加していた場合、そのままフォルダを作成及び書き込みをしていた
  116. // 末尾空白を削除して処理するように修正
  117. // 【該当例】 http://jbbs.livedoor.jp/game/15823/storage/1140962126.html
  118. // ( http://jbbs.shitaraba.net/bbs/read_archive.cgi/game/15823/1140962126/ )
  119. // http://jbbs.shitaraba.net/bbs/read.cgi/internet/8173/1469034426/834
  120. // (多分このバグに遭遇したと思われるレス)
  121. // (注)また、Logs配下の既に作成されてしまった末尾空白付きフォルダはエクスプローラからは削除できないので
  122. // コマンドプロンプトから
  123. // pushd 削除したいフォルダの親フォルダへのPATH
  124. // dir /x
  125. // でショートファイル名を確認し、
  126. // rd /s ショートファイル名
  127. // で削除してください(削除しなくても動作には差しさわりはありません)
  128. // v.0.55 2017/01/23
  129. // 2chのread.cgi ver.06.0.0でID非表示のスレの場合、レス番0以外でも端末識別子0のみがあるレスを
  130. // 誤認識してレスが削除されていたのを修正
  131. // http://potato.2ch.net/test/read.cgi/software/1484118686/124
  132. // (v.0.53のエンバグで、<div class="post" id="0"のレス以外にも、
  133. // <div class="post"~data-userid="0"のレスも削除されていた)
  134. // v.0.54 2017/01/19
  135. // v.0.53の処理を少し変更
  136. // したらばliteのURLから/liteを削除しPC用URLに置換
  137. // 旧Jane総合掲示板(jane.s28.xrea.com)のURLをjane2ch.netのURLに変換
  138. // 2ch及びしたらばのURLで、QUERY_STRING形式だったらPATH_INFO形式に置換
  139. // (read.cgi?bbs=0000&key=0000000000)
  140. // v.0.53 2017/01/19
  141. // 2chのread.cgi ver.06.0.0でスレデータの先頭がid="0"の場合削除するようにした
  142. // (data-date="NG"、又はdata-userid="NG"の場合に削除した方がよいのかも知れないが
  143. // 決め手がないので今回はid="0"の場合で処理した)
  144. // http://potato.2ch.net/test/read.cgi/software/1484118686/37
  145. // http://potato.2ch.net/test/read.cgi/applism/1484168622/
  146. // HTMLでは、レス番0から始まり、レス番563から565に飛んでいて564が抜けているが
  147. // その後のレスを見ると564を補完すると逆に辻褄が合わなくなるので抜けたままにする
  148. // なお、ソースの342~350行を有効にすると抜けているレス番を補完できる
  149. // v.0.52 2016/11/22
  150. // したらばの過去ログが取得できなくなっていたのを修正
  151. // (初回アクセス試行(rawmode.cgi)時に過去ログ倉庫にある場合status=404が通知されるようになったのに対応)
  152. // v.0.51 2016/08/04
  153. // mattari.plusvip.jpのURLをjane2ch.netのURLに変換
  154. // v.0.50 2016/08/04
  155. // URLが https://の場合、http://に変えて処理する
  156. // /proxyオプション追加
  157. // jane2ch.netの過去ログの取得に(暫定)対処
  158. // v.0.49 2016/01/12
  159. // 2chの新read.cgi形式でメール欄にURLが書かれてる場合、htmlが正常に作成されていない2chのバグへの対処
  160. // (対処法は、postReplaceで行っていた<a href="http~></a>タグの除去をpreReplaceに移動しただけ)
  161. // (http://potato.2ch.net/test/read.cgi/software/1448272459/824)
  162. // v.0.48 2016/01/07
  163. // したらばで、ログファイルの格納場所が正常なパスにならない場合があるのを修正(v.0.37の修正でのエンバグ)
  164. // (http://jbbs.shitaraba.net/bbs/read.cgi/internet/8173/1445864699/551)
  165. // 新サーバーの現役スレのdatが直接見えてた穴が塞がったので、v.0.46で追加したdat読み込み処理を削除
  166. // v.0.47 2015/12/18
  167. // 取得したデータが元のデータより大きくない場合の問い合わせで「いいえ」を
  168. // 選択した場合に「処理を中止しました」を表示しないようにした
  169. // (http://potato.2ch.net/test/read.cgi/software/1446371316/107)
  170. // v.0.46 2015/12/18
  171. // 2chのhtml旧形式(read.cgi ver 05.02.02)で入る広告が変わったのに対応
  172. // 2chの過去(/kako/)のdat,dat.gz 及び 2ch互換BBSのdat取得時は無変換でbinary saveするようにした(/aは無効)
  173. // (通常のhtml取得では文字コード変換が入るのでSJIS範囲外の文字は化けてしまう)
  174. // 2chのpotato/tamae/hanabiの現役スレ(スレ一覧(subject.txt)を取得していてその中にスレIDが存在する場合)
  175. // はdat取得をhtml取得の前に試みるようにした
  176. // (現在新サーバーはdatが筒抜けの状態がなかなか塞がれないようなので組み入れてみた)
  177. // v.0.45 2015/12/11
  178. // 2chのhtml新形式(read.cgi ver 06.0.0)のレスの後に入る広告に対応
  179. // (今後もちょくちょく変わるようだとスレブロックチェックは外してレスのみ抽出した方が良いか)
  180. // v.0.44 2015/12/09
  181. // 2ch/pinkの「お絵かき」が抜けるのを修正(<img>タグの処理抜け)
  182. // (htmlでは、正規投稿(sssp)かどうかの判断はつかないので、一律httpにした)
  183. // 2ch/pinkの旧形式のhtmlで「スレデータが途切れている」が再現するのを修正
  184. // (広告の<div>タグに改行コードが入っていることがあるのに対応)
  185. // v.0.43 2015/12/05
  186. // 2ch/pinkの旧形式のhtmlでスレデータが1のみの場合の対処が抜けていたのを修正
  187. // デバッグコードが入ったままだったのを取った
  188. // v.0.42 2015/12/05
  189. // 2ch/pinkの旧形式のhtmlで1の後に広告が入るデータに対応
  190. // (対応前は「スレデータが途切れている」と表示される)
  191. // まちBBSのURLが「http://machi.to/~」でも取得するようにした
  192. // v.0.41 2015/11/15
  193. // 2ch.netのhtmlの新形式の場合でも、/aオプションが正常に動作するように修正
  194. // (/99n- だと レス番99しか取得できないので、/99-n で取得するように変更し、先頭の重複レスの削除部も修正)
  195. // v.0.40 2015/11/14
  196. // +urlでレス番範囲指定がない場合 '/-' のように番号なしの - が付加されないように修正
  197. // 2ch.netのhtmlの新形式に暫定対処(例えば potato鯖)
  198. // v.0.39 2015/11/06
  199. // 引数の/n:999又はURLに付いているレス番へのジャンプが無効になっていたのを修正
  200. // 引数 /f 付加時、URL入力にデフォルト値を表示(URLも引数にある場合)また、引数/fとurlの順不同にした
  201. // レスデータの部分取得を出来るようにした(http://anago.2ch.net/test/read.cgi/software/1446365355/58)
  202. // urlの先頭に+を付けるとurl末尾のレス番範囲指定が有効になり、datに指定範囲のレス部分だけ上書きする
  203. // このとき,引数/aは無効となる、またurlに範囲指定が付いていない場合は全範囲となる
  204. // これは2ch.netでftp://問題により520エラー又はデータが途切れる場合に正常な部分だけを取得できる
  205. // ようにしたもので、事前に問題となるレス番に目星をつけておく必要がある
  206. // そのレス番を避けるように範囲指定付きurlで複数回に分けて部分取得を繰り返す
  207. // (例 -10, 20-30, 40-の3回に分けて取得する)
  208. // 範囲を10-20(や10-)とした場合は、レス番1と10-20(10以降)のデータを更新する
  209. // (なお、途中の2-9のデータが未取得の場合は「未取得」と表示される)
  210. // コマンド登録時、引数には +$LINK$URL と指定する
  211. // メモ欄等に範囲指定付きのurlのリストを作成し、プレビューから順次リンクから実行する
  212. // また、引数に /f を追加しておき、実行時に範囲を入力することもできる
  213. // v.0.38 2015/10/20
  214. // 板一覧のパスを終端\マーク無しで設定したときjane2ch.brd読み込みエラーになるのを修正
  215. // (http://anago.2ch.net/test/read.cgi/software/1442405725/655-660n)
  216. // v.0.37 2015/10/18
  217. // 板一覧(jane2ch.brd)で同じカテゴリ内で同じ板識別子が存在した場合、最後の物にマッチするように修正(v0.11の再修正)
  218. // (http://anago.2ch.net/test/read.cgi/software/1444158130/23-24n)
  219. // v.0.36 2015/06/29
  220. // ftp://の書き込みでhtmlが途切れている場合、以下のエラーで中断することがあるのを修正
  221. // 「現在のエンコードが無効な状態でファイルの終りに到達しました。コード: C00CE54 ソース: msxml6.dll」
  222. // BE受信者IDが数字以外の場合(not,Can'tなど)に変換に抜けがあったのを修正
  223. // ( <a href="javascript:be(not);">?2BP</a> が BE:not-?2BP に変換されずそのままdatに入っていた)
  224. // v.0.35 2015/06/19
  225. // 2chでkako URLの場合、事前にURLを/test/read.cgi/のURLに変換するようにした
  226. // (最近の過去ログはURLがkako形式になっていないのに、JaneStyleが過去ログと認識して強制的にURLを変えるため)
  227. // (多分これはJaneStyleが修正されるまでの一時的措置になるかもしれない)
  228. // オプション /keep_kako 追加(kako形式URLを事前変換しない)
  229. // v.0.34 2015/06/10
  230. // ファイル書き込みエラーになる場合があったのを修正(SJIS範囲外がある?とFSOだとエラーになるようなのでADODBでリトライ)
  231. // 併せて、念のためにファイル読み込みもFSOでエラーになるとADODBでリトライするようにした
  232. // /zオプション時、WMIが取得できない場合、プロセス終了は判定せずに3秒ウェイトするようにした
  233. // まちBBS,next2chに対応(open2ch,blogban,jikkyou,vip2chでの動作も確認)
  234. // データが?MBより大きい場合、ADODBの文字コード変換が異常に時間がかかるのでbasp21の漢字コード変換にも対応
  235. // 有効にするには、http://www.hi-ho.ne.jp/babaq/basp21.htmlのBASP21-2003-0211.exeのインストールが必要
  236. // (通常1000レス程度ならほぼ同じだが、やる夫EXのある過去スレの場合 5分 -> 30秒 と大きく違ってくる)
  237. // v.0.33 2015/05/17
  238. // 2ch - URL変換再試行は「error」に限定(人大杉/LoadAverageは除外)
  239. // v.0.32 2015/05/17
  240. // 2ch - URL変換再試行時もエラーの場合、最初のエラー内容を表示するように修正
  241. // レス番が飛んでてレス番とレス数とが不整合な場合でも処理の続行を問い合わせるように修正
  242. // (http://anago.2ch.net/test/read.cgi/software/1444158130/73n だったが2ch側でデータ修正された模様)
  243. // /zオプション時、Jane2ch.exeの終了の待ち時間を3秒(WMI有効時は2秒間隔でのメッセージ表示)から4秒に変更
  244. // v.0.31 2015/05/17
  245. // 一部のエラーメッセージがきちんと表示されないのを修正
  246. // jbbs - 現役のスレ(rawmode.cgi)でスレタイトルとIDが異常になるのを修正、dat落ち扱いしないように修正
  247. // ファイルアクセスを、ADODB StreamからFSOに変更(read速度が大幅に改善)
  248. // v.0.30 2015/05/17
  249. // オプション /log[:file] を追加 file名の指定には環境変数が使えます(file省略時 %temp%\gethtmldat.log)
  250. // /w, /redraw のデフォルトのwaitを1200msに変更
  251. // 2ch - .dat.gz/.dat read追加,URL変換は「error 4002」に限定しない
  252. // jbbs - board_info.cgi->/api/setting.cgiに変更
  253. // v.0.29 2015/05/07
  254. // brdファイル検索時の正規表現文字列の生成(ピリオドが曖昧にマッチしていた)を修正
  255. // (具体的には、xxx.2ch.netとnext2ch.netの両方が存在していると、後ろのnext2chの方にdatファイルが作成されていた)
  256. // v.0.28 2015/05/04
  257. // /redraw 'ALT'を送るのが抜けていたのを修正
  258. // v.0.27 2015/05/04
  259. // ファイル読み書きエラー時、付随情報としてカレントパス、ファイル名を正常に出力するするように修正
  260. // /redraw (/redraw:999) オプション追加 (スレを開いた後キーコード('T','G','0')を送る)
  261. // Xenoでは/zオプション時sqlite3.exeは弾くようにした(dbがutf16の場合、日本語が化けるため)、またタイトルも書き換える
  262. // v.0.26 2015/05/04
  263. // /b オプションが正常に処理できなくなっていたのを修正
  264. // (また、Logsフォルダを指定してない場合 /b を付けて無くてもバックアップされてしまっていた)
  265. // Jane2ch.exeに送るキーコードを変更(/wの時 CTL+w でスレを閉じる, /z の時 ALT+F4 で終了する)
  266. // v.0.25 2015/04/29
  267. // したらばで、カテゴリ名に / が含まれている場合に正常に処理できなくなってたのを修正
  268. // v.0.24 2015/04/29
  269. // 2chで/a指定時、既存のdatファイルが存在していると正常に処理できなくなっていたのを修正
  270. // v.0.23 2015/04/29
  271. // 2chでURLにレス番指定(/l50,/-n10)がくっ付いている場合、正常に処理できなくなっていたのを修正
  272. // v.0.22 2015/04/29
  273. // 2chの過去ログURL形式(/[板識別子]/kako/[スレID(3or4)桁]/([スレID5桁]/)[スレID].html 又は.dat)をサポート
  274. // ただし、サーバー移転等でURLのサーバー名と過去ログ倉庫が不一致の場合は不可
  275. // kako形式の場合には/nオプションや/aオプションは無効となる
  276. // /z 時のdb,idxのstate値は=10に設定される
  277. // それと関連して、通常URLでメッセージ「error 4002」が返ってきた場合は、URLをkako形式に変えて再トライする
  278. // また、「error 3001」(datが無い)が返ってきた場合はkako形式のURLに変えて実行すると取得できるかもしれない
  279. // v.0.21 2015/04/27
  280. // /z オプション時、高速Merge有効時、sqlite3.exeとSQLite3 ODBC Driverの両方とも無い場合エラーになってたのを修正
  281. // v.0.20 2015/04/27
  282. // したらばの旧過去ログURL(http://[したらばsite]/[カテゴリ]/[掲示板番号]/storage/[スレッド番号].html)もサポート
  283. // /z オプション時、高速Merge無効時の処理を修正
  284. // 高速Merge有効時、sqlite3.exeに加えてSQLite3 ODBC Driverもサポート(どちらか一方があればよい)
  285. // db,idxのstate値は、=0(brdcustomize.iniの設定値又は1000以上の時)、それ以外は =3(dat落ち) にする
  286. // v.0.19 2015/04/21
  287. // 引数にurlが含まれていない場合、url入力ボックスが出ずにエラーになってたのを修正
  288. // v.0.18 2015/04/21
  289. // オプション /z を追加(Jane2ch.exeを終了させて、db、idx、subject.txtに情報を設定し、再起動する)
  290. // (なお、高速Merge有効時にはsqlite3.exeが必要)
  291. // (stateは=3(dat落ち)に設定) ※本来の処理としては、レス数1000(10000)以上では=0のままで良く、未満時は=10(過去ログ)?
  292. // v.0.17 2015/04/17
  293. // 考えを変えて、データが途中で途切れている場合も取得したところまでで処理を続行するように変更した
  294. // オプションに、/b1, /bak1 を追加(bakupは1回限りでファイルが存在していたら上書きしない)
  295. // v.0.16 2015/04/16
  296. // 2chでデータが途中で途切れている場合のチェックを追加
  297. // (ftp:// のようなデータがある場合、現状では、エラーにならず途切れていることがある)
  298. // v.0.15 2015/04/12
  299. // レス数を正しく認識できない場合があった(レス番抽出正規表現の間違い)のを修正
  300. // /a 指定時、2chのdatが無い場合、先頭レス番1が消えるのを修正
  301. // v.0.14 2015/04/04
  302. // /a 指定時、したらばの過去ログを正常に追加できていなかったのを修正(したらばは過去ログの部分取得が無理なため)
  303. // v.0.13 2015/04/03
  304. // 2chのデータの中に名前が無い(<font.*><b></b></font>)場合に抽出できなかったのを修正
  305. // 引数の指定を順不同にし、以下を追加
  306. // /a, /append 既存のデータに追加する(差分のみ取得)
  307. // /b, /bak 保存前に既存のdatファイルが存在した場合は、Logs\bak\フォルダにバックアップコピーする
  308. // したらばの透明あぼーん補正処理は必要のない場合スキップする
  309. // 2chのサーバーエラーメッセージで"LoadAverage ="が抜けていたのを修正
  310. // v.0.12 2015/03/31
  311. // 2chのデータの中に<a href="mailto:xxx"></a>が無い場合や最後に<br><br>が付いてない場合も抽出できるようにした
  312. // ( [ここ壊れてます]のようなデータのこと)
  313. // スレ抽出できない場合サーバーメッセージらしきものをエラーメッセージに追加?(datが存在しません/人大杉)
  314. // したらばのrawmodeで取得したデータでの透明あぼーん処理を追加
  315. // 引数追加とデフォルト動作変更
  316. // /w スレを閉じて開きなおす(600ms)
  317. // /w:999 スレを閉じて開きなおす(wait指定)
  318. // /-w スレを閉じない(デフォルト)
  319. // v.0.11 2015/03/31
  320. // 板一覧(Jane2ch.brd)に複数の板識別子が存在する場合、最後のものを採用するように変更
  321. // 【したらば】過去ログで、
  322. // 透明あぼーん(番号が飛んでいる)の場合に「透明あぼーん」を追加しレス番ずれを防止
  323. // スレデータを抽出できない場合があったのを修正
  324. // v.0.10 2015/03/30
  325. // 【したらば】のスレデータ受信時予期せぬエラーの場合正常としていたのを修正
  326. // v.0.9 2015/03/30
  327. // 【したらば】の過去ログ取得を拡張
  328. // ・/bbs/read.cgi/ 以外、/bbs/read_archive.cgi/ でも取得する
  329. // ・まず rawmode.cgi での取得を試みる
  330. // ・事前にカテゴリ/板を開いたことが無いスレでも取得できるようにした(スレ一覧も開きます)
  331. // パラメタのレス番指定は、/n:を省略可能 数字のみでよい
  332. // v.0.8 2015/03/29
  333. // LogsファイルをJane Style直下のフォルダ以外に移動している場合、brdファイル読み込みエラーになるのを修正
  334. // 起動パラメタ(オプション指定)を追加しました
  335. // パラメタなし : urlを問い合わせる(対話型)
  336. // 第1パラメタ : URL
  337. // 第2パラメタ以降 :
  338. // http://~ 第1パラメタを無視してこちらをurlとして優先する
  339. // /f 第1パラメタのurlを無視してurlを問い合わせる
  340. // /n:999 レス番を指定(そのレス番に飛ぶ)
  341. // コマンド登録時に、wscript "$BASEPATHgethttpdat.js" "$LINK$URL" $INPUT としておくと動的にオプションを指定できます
  342. // v.0.7 2015/03/29
  343. // キー送信のウェイトを再度調整 300ms->600ms
  344. // (メニューが残るのは最初の起動で開く処理がキー操作の途中にくるタイミングなのでキー送信を全体に遅らせた)
  345. // 既存のdatが存在した場合は、現在のレス位置とし、再度開く時にスレの先頭に移動しないようにした
  346. // v.0.6 2015/03/28
  347. // dat格納場所が見つからない場合のチェックを追加
  348. // URLにレス番の指定が無い場合レス番1をURLに追加し、スレの先頭から表示されるようにした
  349. // 一度スレを閉じるための"ALT","T","C","C"のキーを送る時に適当にウェイトを入れた
  350. // v.0.5 2015/03/28
  351. // 試験的に「したらば」の過去ログ取得をサポート(ほぼ未検証)
  352. // 通信が非同期になってなかったのを修正
  353. // bbspink.comの場合も2ch.netの処理に飛ぶようにした
  354. // スレッドデータからレスを正常に抽出できない場合のチェックを追加
  355. // 既存のdatがあった場合に、レス数が大きくない場合は置換するかどうか問い合わせするようにした
  356. // v.0.4 2015/03/27 added
  357. // スレッドデータ抽出できなかった場合のエラーチェックを追加
  358. // v.0.3 2015/03/27 fixed
  359. // スレッドデータ抽出判定を変更
  360. // v.0.2 2015/03/27 fixed
  361. // email-protection から mailto: へ置換を追加
  362. // v.0.1 2015/03/26 created
  363. //==============================================================
  364.  
  365.  
  366. ――――――――――――――――――――――――――――――――――――――
  367. ■■■ 2ch非互換BBSを仮想板に登録してみる試み ■■■ 第5版 2017/4/22
  368. ――――――――――――――――――――――――――――――――――――――
  369. 爆サイを対象にして試行してみた。
  370.  
  371. 運用前提として、爆サイBBSにJane Styleがアクセスしないように、URIを変更(末尾追加)して登録する。
  372. (localhostが適当かと思います)
  373.  
  374. http://bakusai.com/ -> http://bakusai.com.localhost/
  375.  
  376. この場合、取得できるURL形式は以下のようなものとなります。
  377. http://bakusai.com/thr_res/acode=3/ctgid=116/bid=2041/tid=4953400/
  378. http://bakusai.com/thr_res/acode=3/ctgid=116/bid=2041/tid=4953400/p=1/tp=1/
  379. http://bakusai.com.localhost/thr_tl/acode=3/ctgid=116/test/read.cgi/bid=2041/4953400/
  380. http://bakusai.com/thr_tl/acode=3/ctgid=116/bid=2041/
  381. http://bakusai.com.localhost/thr_tl/acode=3/ctgid=116/bid=2041/
  382. (下の2つのように板URLが受け渡された場合は、スレ一覧を取得します)
  383. 注・スレ一覧のsinceは、スレIDが時刻ではないので思いっきりズレます。
  384. ・スレ一覧はJaneでは自動的に再表示されませんので、一旦閉じて開き直す必要があります。
  385. ★ ツール-設定-基本-その他で、「解放しないで保持する板情報の数」=0に設定してください。
  386.  
  387. ★なお、
  388. ★最新書込み一覧 http://bakusai.com/thr_newreslist/acode=?/
  389. ★ニュース速報 http://bakusai.com/img_nl/acode=?/ctgid=137/
  390. ★は複数板にまたがったリストのため、今のところ取り扱いません・
  391.  
  392. まず使うことはないとは思いますが、レスの部分取得は
  393. http://bakusai.com/thr_res/acode=3/ctgid=116/bid=2041/tid=4953400/5-10
  394. ではなく
  395. http://bakusai.com/thr_res/acode=3/ctgid=116/bid=2041/tid=4953400/rrid=5-10/
  396. でなくてはなりません。
  397.  
  398. ★ dat名として、"4953400.dat" ではなく、"tid=4953400.dat" としたかったんですが
  399.   先頭が0以外の数字列でないと、Jane Styleが既読状態を記憶してくれず、次回起動時に
  400.   未読状態になってしまいました。この一点だけの問題でdat名を変更しています。
  401. ★ 運用等、良いアイデアをお持ちの方は2chのスレにでもレスしてください。
  402.  
  403.  
  404. ――――――――――――――――――――――――――――――――――
  405. ■既知のバグ
  406. 【修正済】 1) スレ一覧取得で、新規取得と更新の取得ページ数が、新規時1ページ、更新時3ページに入れ替わっています。 ━━━━ 【修正: 4版】
  407.  
  408. ――――――――――――――――――――――――――――――――――
  409. ■操作
  410.  
  411. 基本、操作は本スクリプトを通すことになります。
  412. スレデータ取得は、レス表示欄で過去ログ取得と同じコマンドを使うと毎回全部取得し直すので、
  413. 追加取得用として引数に /a を追加したものを別途登録しておきます。
  414.  
  415. 以下の手順になります。
  416. 1) 板登録をします。 (このときURLを変更しておかないとJaneStyleがアクセスしにいきます)
  417. 2) スレのURL、又は板のURLを一般ブラウザ等からコピーして持ってきて、どこのスレ表示欄でもいいので
  418.   適当に書き込みウィンドウを開き、URLを貼り付けます。
  419. 3) プレビュータブに移動して、リンクから本スクリプトを起動します。
  420. 4) スレの再描画(ツールバーアイコンの左から3つ目を右クリック)します。
  421. 5) スレ一覧を閉じて開きなおします。
  422. 6) スレタブをダブルクリックするか、スレ一覧からスレをクリックします。(既読にするための操作)
  423.  
  424. 2-3') 2回目以降は、開いたスレで、レス表示欄から右クリックしてコンテキストメニューから実行できます。
  425.  
  426.  
  427. 以下は適宜行います。
  428. ● レスは、スレ表示欄に表示されているレスのレス番をクリックして、登録した「これにレス」を選択します。
  429.  (デフォルトブラウザ又は指定されたブラウザが起動されます)
  430.  
  431. ● スレ一覧取得も同様に「スレ一覧取得」を選択します。
  432.   a) subject.txtが存在しない状態だと、爆サイの板URLを最大3ページ分読み込みます。
  433.   b) subject.txtが存在すれば、最新の1ページ分しか取得しません。(これで十分かと)
  434.   ★MAX_READ_PAGES_OF_THREAD_LIST_CREATE=3, MAX_READ_PAGES_OF_THREAD_LIST_UPDATE=1で定義されています。
  435.  
  436. ●「subject.txt再構築」は、ログに存在するdatのみの一覧を作成します。
  437.   つまり、スレ一覧に表示されるものは取得したスレのみとなります
  438.  
  439. ★ subject.txtは書き込み禁止属性がかかります。これは一応、URLをそのまま運用したときに
  440.   JaneStyleがsubject.txtを書き換えないようにするものですが、こういう運用はお勧めしません。
  441.  
  442. ● 絵文字については、<img src="">となっています。
  443.   そのままでは表示されないので、ReplaceStr.txtで置換してください。
  444.  
  445.  
  446. ――――――――――――――――――――――――――――――――――
  447. ■ 板登録
  448.  
  449. 外部板扱いになるので、このスクリプトを実行する前に対象となる板を登録しておかないと取得できません
  450.  
  451. Janeで登録するにあたり、
  452. カテゴリ: 【仮想板:爆サイ】(適当な名前をつける)
  453. 板は爆サイの板URLを指定して、「板名取得」することはできますが、
  454. ここで「OK」を押す前に必ず 「板URL」を変更します。
  455. (http://bakusai.com/ ⇒ http://bakusai.com.localhost/)
  456.  
  457. なお、板はエリアコード(acode=?)別になるので、
  458. http://bakusai.com.localhost/thr_tl/acode=3/ctgid=116/bid=2041/
  459. http://bakusai.com.localhost/thr_tl/acode=7/ctgid=116/bid=2041/
  460. とは別の板として取り扱います
  461. (発言時どのエリアコードに飛ばせばいいのかわからなくなるため)
  462.  
  463. ――――――――――――――――――――――――――――――――――
  464. ■ フォルダ構造の例
  465.  
  466. 以下の説明は、次のフォルダ構造を前提で説明しています。
  467.    Jane Style
  468.       ┣ script
  469.       ┃  ┗ gethtmldat.js
  470.       ┗ skins
  471.          ┗ style-1
  472.             ┣ BE_icon
  473.             ┗ bakusai_emoji
  474.  
  475.  
  476. ――――――――――――――――――――――――――――――――――
  477. ■ コマンド登録 [command.dat]
  478.  
  479. -=
  480. +-=
  481. /gethtmldat(全て取得)=wscript "$BASEPATHscript\gethtmldat.js" $LINK$URL /log
  482. /gethtmldat(新着のみ取得)=wscript "$BASEPATHscript\gethtmldat.js" $LINK$URL /a /log
  483. +爆サイ用 これにレス=wscript "$BASEPATHscript\gethtmldat.js" $URL /browser /pos:$NUMBER
  484. +爆サイ用 スレ一覧取得=wscript "$BASEPATHscript\gethtmldat.js" $BURL /log
  485. +爆サイ用 subject.txt再構築=wscript "$BASEPATHscript\gethtmldat.js" $URL /subject
  486. +爆サイ用 ブラウザで板を開く=wscript "$BASEPATHscript\gethtmldat.js" $BURL /browser ━━━━ 【追加: 5版】
  487. +爆サイ用 ブラウザでスレを開く=wscript "$BASEPATHscript\gethtmldat.js" $URL /browser
  488. +爆サイ用 このレスのみ再取得=wscript "$BASEPATHscript\gethtmldat.js" +$URLrrid=$NUMBER/ /log
  489. -=
  490. +-=
  491.  
  492.  ★「これにレス」と「このレスのみ再取得」は、レス番クリックからのみ実行可能なので
  493.   必ず、メニューのコマンド登録の際先頭に+をつけてください。
  494.   またレス番のコマンドに不要なものは、先頭に/を付ければ、レス表示欄のみのコマンドとなり、操作しやすくなります。
  495.  
  496.  
  497. ――――――――――――――――――――――――――――――――――
  498. ■ [brdcustomize.ini] の設定
  499.  
  500. 誤って書き込みウィンドウを起動しないようにするための保険として、常に「dat落ち」の状態にします。
  501.  
  502. [http://bakusai.com.localhost/]
  503. MaxResNum=0
  504.  
  505.  
  506. ――――――――――――――――――――――――――――――――――
  507. ■ [URLEcec.dat] の設定
  508.  
  509. Janeの登録URLを変えているため、普通のURLをクリックしてもスレが開かないので、それを開くようにします。
  510. ただ、リンク上にマウスを持っていってもヒント表示されないのでちょっと不便です。
  511.  
  512. (http://bakusai.com)(?:[^/]*?)/thr_(?:tl|res)(/acode=\d+/ctgid=\d+)(/test/read\.cgi)?(/bid=\d+/)(?:tid=)?(?:(\d+)/)?(?!rid)【TAB】$1.localhost/thr_tl$2/test/read.cgi$4$5/【TAB】"$BASEPATHJane2ch.exe" $URL
  513.  
  514. ――――――――――――――――――――――――――――――――――
  515. ■ [ReplaceStr.txt] の設定
  516.  
  517. 絵文字を表示するためのものです。
  518.  
  519. <rx2><img src="[^"]*?([^"/>]+\.gif)">【TAB】<img src="bakusai_emoji/$1" align="overlap">【TAB】msg【TAB】//bakusai.com
  520.  
  521.  
  522. ★ bakusai_emojiフォルダには、対応するgifファイルを置く必要があります。
  523. ★ 1行に複数個あると最後のimgしか表示されないみたいです。
  524.   (align="overlap"を削除すると改行されて表示されます)
  525.  
  526.  一般のブラウザで表示されているgifファイルをここに保存することで表示されるようになります。
  527. なお、ほんの一部のgifのみですが、gifファイル集をアップローダーにあげておきます。
  528.  
  529. ダウンロードURL: http://www1.axfc.net/u/3798026?key=jane
  530.  
  531. ――――――――――――――――――――――――――――――――――
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement