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

htmltodatサポートスレッド

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

654651:2011/11/10(木) 22:13:24
◆/vmukiyuzwさん、教えていただきありがとうございます。
そして、御礼が遅くなりまして申し訳ありません。

無事に補完することが出来ました。
自分はどうもオリジナルでパラメータを組むのが不得意で...OTL

また困った時に、お力添えいただければ幸いです。

655名無しさん:2012/01/23(月) 13:59:47
http://yy14.kakiko.com/test/read.cgi/mirror/1213700846/769-773
で誘導先が違うようなのでこちらに来ました。

その83なんですが
http://yy14.kakiko.com/test/read.cgi/mirror/1213700846/769
の通りやっても「全然ヒットしないので正規表現が正しくないようです」
で変換できません。
htmltodat0.8.18を使わせて頂いております。

656 ◆/vmukiyuzw:2012/01/23(月) 21:04:40
>>655さん
http://yy14.kakiko.com/test/read.cgi/mirror/1213700846/769
の回答でほぼ正解だと思うのですが、ガラガラ除去がちょっと足りなくてエラーになってるようです。
前処理の最後に以下を付け加えてみてください。

s#<tr>.*?</tr>\n##igk

それから、変換後のメール欄にゴミが入ってしまうようなので、正規表現は以下のほうが良いと思います。
(1ヶ所半角スペースを足しただけですが)

m#<dt.+?><a name=".+?"></a>([0-9]+) <span>(.+?)</span> (.*?)((?:\d{2}|\d{4})/\d+/.+?)?</dt><dd.*?>(.+?)</dd>#mik

あと、元のレス(485-487)には書かれていて769では書き漏れされてるようですが

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

も必要ですね。

# ただ自分が見た限りではもともと2ch上ではメール欄が入ってるレスでも
# そのサイトに持ってきた時点でメール欄は消滅してしまうようです
# それならメール欄逆転とか使わない他の方法も考えられますが、元のアイデアを尊重しておきます

657655:2012/01/23(月) 23:25:46
変換できました。

>>656さん 本当にありがとう。<(_ _)>

658657:2012/01/28(土) 20:46:17
>>657ではお世話になりました。<(_ _)>

また、その83なのですが、http://4ch.viewerd.com/hgame2/1326818225
「1行が長すぎるか、正規表現が正しくないようです」がでました。
1001まで変換はされているのですが、JANEで読むと、1001が
1001 名前:ここ壊れてます[] 投稿日:
になります。

htmltodatの正規表現の表示レスを1〜1001 にすると「1行が長すぎるか〜
は出ませんがやはり 1001 名前:ここ壊れてます[] 投稿日:
になります。
修正可能でしたらよろしくお願いします。

659 ◆/vmukiyuzw:2012/01/28(土) 22:41:40
>>658さん
まず、「1行が長すぎるか、〜」のエラーが出るのは、スレ内容の前だけではなく後ろにも
ガラガラが多くて、1001までの変換は完了しているのにその後も残りのHTMLの変換を試みて
エラーになっちゃうようです。珍しいケースですがありえない話ではないですね。
変換自体は成功しているのでこのエラーは無視してもいいと思いますが、気になるようなら前処理に

s#<div class=.*?</div>\n##igk

とでも足せば消えると思います。(この辺はまあ適宜に)

あと1001が「ここ壊れてます」になるのは、そもそも元の正規表現が1001の形式にうまく対応できて
いないようです。>>655-656で挙げられたスレでも発生しているのでは?

ちょっと泥縄的対応ですが

m#<dt.+?><a name=".+?"></a>([0-9]+) <span>(.+?)</span> (.*?)((?:(?:\d{2}|\d{4})/\d+/)?.+?)</dt><dd.*?>(.+?)</dd>#mik

もしくはいっそ、現状(メール欄が存在していない)に合わせて無駄な部分を取っ払って

m#<dt.+?><a name=".+?"></a>([0-9]+) <span>(.+?)</span> ()(.*?)</dt><dd.*?>(.+?)</dd>#mik

とかでも多分問題ないと思います。

660658:2012/01/29(日) 15:16:54
「ここ壊れてます」出なくなりました。
◆/vmukiyuzwさん、本当にありがとう。<(_ _)>
ありがとう。<(_ _)>

661名無しさん:2012/02/02(木) 14:16:11
度々お世話になってます。

http://logsoku.com/thread/toki.2ch.net/kaden/1306858024/

その56なのですが、「全然ヒットしないので正規表現が正しくないようです」
で変換できません。

それと、その115で結構ログ見つかるのですが、dat化が載っておらず
dat化できません。

よろしければ教えてくださいませ。

662 ◆/vmukiyuzw:2012/02/02(木) 21:48:42
>>661さん
まず「その56」、というかlogsokuについては以前も質問が来てます。
>>652-653でどうでしょう。

ただ、>>659と同様の現象で、後ガラガラのせいで変換は成功するのに
「1行が長すぎるか、〜」のエラーが出ちゃうようです。気になるようなら
前処理に

s#<tr (.|\n)*?</tr>##igk

とでも足してください。

663 ◆/vmukiyuzw:2012/02/02(木) 21:50:55
>>662続き
次に「その115」ですが、こういう場合できれば具体的なURLを書いて欲しいです。
(でないと「その○○」にログが存在するスレをこちらで探さないといけなくなるので)

まあ今回は
http://logsoku.com/thread/toki.2ch.net/kaden/1306858024/
に該当するログ
http://viva2ch.net/kaden/1306858024.html
が存在していましたので、これを調べてみました。

それから「その115」に関しては663さんの掲示板を見ても変換機に追加した経緯とかの
記述が見つからないようですね。ここで私が回答していいものかもわかりませんけど
質問された以上は考えてみました。

正規表現:
m#<a name="(\d+)">\d+</a><i>(.+?) \[(.*?)\]</i><span>(.+?) ?</span><p> (.*?) </p>#mik

前処理:
# 後ガラガラ除去(amazonを直接指定するのはイマイチだが・・・)
s#<li><a href.*?</li>##igk
s#<a href="http://www.amazon.*?</a>##igk
s#<img .*?>##igk
# これは不要かもしれないがブラウザによってはうまく動かない可能性があるので念のため
s#<br />#<br>#igk

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

664 ◆/vmukiyuzw:2012/02/02(木) 22:33:51
>>663
s#<a href="http://www.amazon.*?</a>##igk

これはさすがにあまりにヒドいので(あんまりないでしょうけどスレ内のリンクにヒットする
可能性がある)、以下に差し替えてください。

s#<a href="http://www\.amazon.*? title=.*?</a>##igk

665661:2012/02/03(金) 02:35:09
◆/vmukiyuzwさん、ありがとうございます。
JANEの設定ファイルが壊れてしまい、復旧中のため違うスレでやってみました。
(urlの件は失礼しました)

AviUtl総合スレッド71
2ch    http://anago.2ch.net/test/read.cgi/software/1321370210/
その56  http://logsoku.com/thread/anago.2ch.net/software/1321370210/
その115:http://viva2ch.net/software/1321370210.html

その56は改行が正しく変換されないようです。
その115は「fatal error」が出て変換されません。
エラーメッセージを閉じ、変換開始をしますとhtmltodatが落ちてしまいました。

666 ◆/vmukiyuzw:2012/02/03(金) 19:36:07
>>665さん

> その56は改行が正しく変換されないようです。

専ブラが<br/>タグでの改行に対応していないと思われます。
>>663で<br />については言及していたのですが<br/>は見落としてました)
前処理で一括で変更してやればよいでしょう。

s#<br/>#<br>#igk


> その115は「fatal error」が出て変換されません。

>>663でサンプルにしたのはIDのないスレで、IDのあるスレだとうまくいかないです。
(IDの前後に<em></em>タグが付加されているため)
対処法はいろいろ考えられますがとりあえず単純には、前処理に以下を追加

s#</span>##igk
s#<em># #igk
s#</em>##igk

で正規表現はちょっと変更

m#<a name="(\d+)">\d+</a><i>(.+?) \[(.*?)\]</i><span>(.+?) ?<p> (.*?) </p>#mik

これでIDの有無に関わらず変換できると思います。

667665:2012/02/04(土) 00:33:12
◆/vmukiyuzwさん、その56、その115共に変換できました。
ありがとうございました。<(_ _)>

668名無しさん:2012/02/26(日) 17:43:25
その152(bbspink板のみ):ttp://adult-bbs.com/kilauea/hgame2/read/1324447162/
のdat変換教えてくださいませ。

669 ◆/vmukiyuzw:2012/02/26(日) 21:49:18
>>668さん
HTMLの形式はシンプルだしガラガラもほとんどないので悩むとこはなかったです。

正規表現:
m#<p>(\d+?) :()<strong>(.*?)</strong> (.+?)</p>\s*(.*?)\s*<hr />#mi

前処理:
# スレタイ補正
s#(<title>.*?) - アダルト無料掲示板(</title>)#$1$2#ik


しかし、名前欄の太字細字の区別とか、メール欄とかに頓着しないサイトが増えてるのかな?
正規表現書くときには簡単になるんでありがたいですが。

670名無しさん:2012/02/27(月) 00:44:05
dat化できました。
◆/vmukiyuzwさん、いつもありがとう。<(_ _)>

671名無しさん:2012/03/11(日) 08:51:03
>>652-653>>662を見た上で、logsoku.comの前処理&正規表現をもう一度まとめ直していただけませんか?
よくわかりません(前処理・正規表現・後処理の使い方、datへの変換方法等のhtmltodatの基礎知識はわかります)
身勝手な依頼ですがお願いできないでしょうか?

672 ◆/vmukiyuzw:2012/03/11(日) 15:12:48
>>671さん

> >>652-653>>662を見た上で

これに加え>>666も考慮しておく必要がありますね。

まあ要は最初書いたもの(>>652)に前処理を一部差し替え&追加していってるだけなんですけどね。


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

正規表現:
m#<a name="(\d+)"></a>\s*(?:<a href="mailto:(.+?)">|<font color=green>)<b>(.+?)</b>(?:</a>|</font>)\s*:\s*(.*?)\s*</dt>\s*<dd>\s*(.*?)\s*<br />\s<br />.*?</dd>#mik

673名無しさん:2012/03/11(日) 21:09:27
>>672
◆/vmukiyuzwさんありがとうございました!
logsoku.comは頻繁に見かけるので助かります!

674名無しさん:2012/03/12(月) 18:30:52
>>673ですがギブです
以下が上手く変換できません
◆/vmukiyuzwさんの所では変換できてますでしょうか?(最初からURL貼れば良かった…後悔)

http://logsoku.com/thread/hayabusa.2ch.net/news4vip/1331380426/

675 ◆/vmukiyuzw:2012/03/12(月) 19:49:06
>>674
試してみましたがこちらでは問題なく変換できます。

「上手く変換できません」というのは何かエラーが出るのですか?
それとも変換結果が専ブラでちゃんと読めないとかの不正な状態ですか?
他のスレ(できれば別の板のログがいいんですが)でも同じ状況でしょうか?

676名無しさん:2012/03/12(月) 20:29:55
エラーですね
unmatched () in regexp.
というエラーメッセージが出ます
[一括変換(B)][subject.txt作成(T)]の上は「前処理...」と表示されています
dat変換自体が上手く行われてない模様です

http://logsoku.com/thread/」でググったスレをいくつか変換したのですがどれも結果は上記と同じです
http://logsoku.com/thread/hayabusa.2ch.net/livejupiter/1330100297/
http://logsoku.com/thread/hibari.2ch.net/news4vip/1311095829/
http://logsoku.com/thread/hatsukari.2ch.net/news/1305543291/
http://logsoku.com/thread/raicho.2ch.net/newsplus/1306742633/

677名無しさん:2012/03/12(月) 20:35:42
>>675
自分のファイルをまとめました
おかしな点はありますか?
http://www.dotup.org/uploda/www.dotup.org2738708.zip.html
DLパス「htmldat」です to入れ忘れました^^;

678 ◆/vmukiyuzw:2012/03/12(月) 20:39:46
>>676

> unmatched () in regexp.

ていうのは正規表現の文法エラーですよ。
>>672で書いたものを正しくコピーして貼り付けたのなら起き得ないはず。
もう一度そこからやり直してみてください。

679 ◆/vmukiyuzw:2012/03/12(月) 20:54:22
>>677
お使いの専ブラは何ですか?

前処理中の

# ニュー速等のアイコンを2ch形式に補正(663さんのものをアレンジ)
s#<img src="http://cdn.logsoku.com/(img.2ch.net/ico/.+?)&quot;&gt;#sssp://$1#igk

s#<img src="http://cdn.logsoku.com/%28img.2ch.net/ico/.+?)&quot;&gt;#sssp://$1#igk

に、半角カッコが%28にエンコードされちゃってますね。これがエラーの原因です。
専ブラでなくIEとかでこのスレを表示してコピーしてみたら上手くいくかもしれません。

680名無しさん:2012/03/12(月) 21:12:41
>>679
まず結果から「変換成功」です!
長々お付き合い下さり◆/vmukiyuzwさん本当にありがとうございました

ずっと>>678見てからおかしいなぁ?と思いながら何度も試してました
専ブラは、確固とした意志を持った上での「Jane Doe Style Version 2.78 (2.7.8.0)」です
いやーまさかURLエンコードされてたとは…\(^o^)/
こりゃいつまで経っても変換できない訳だわ

多分ReplaceStr.txtの(恐らく自分で設定した)
//▽URL内の"("")"をエンコードしてURL化する
<rx2>(tp://[\w%&\--/=]*)\(([\w%&\--/=]) $1%28$2 msg
<rx2>(tp://[\w%&\--/=]*)\)([\w%&\--/=]) $1%29$2 msg
が原因っぽいのかな?かな?

681 ◆/vmukiyuzw:2012/03/12(月) 21:23:15
>>680
なるほどそういうことでしたか。
専ブラの種類によってはこういうエンコードしちゃうものがあるのかと思って
正規表現書く際には考慮しないといけないのかと一瞬思ってしまいました。
ReplaceStrですか〜そこまでは考えなかったです。

682名無しさん:2012/03/20(火) 02:33:42
その27をhtmltodatで変換すると変換警告が出るのですがどうしたらいいでしょうか?
http://yy14.kakiko.com/test/read.cgi/mirror/1158402994/756n
の正規表現と変換結果式を設定して変換ボタンを押すと

変換警告
レス 15-17 の間が飛んでいます
レス 30-32 の間が飛んでいます
レス 45-47 の間が飛んでいます
レス 60-62 の間が飛んでいます
レス 75-77 の間が飛んでいます
レス 90-92 の間が飛んでいます
レス 105-107 の間が飛んでいます
レス 120-122 の間が飛んでいます
レス 135-137 の間が飛んでいます
レス 150-152 の間が飛んでいます
レス 165-167 の間が飛んでいます
レス 180-182 の間が飛んでいます
レス 195-197 の間が飛んでいます
レス 210-212 の間が飛んでいます
レス 225-227 の間が飛んでいます
レス 240-242 の間が飛んでいます
レス 255-257 の間が飛んでいます
レス 270-272 の間が飛んでいます
レス 285-287 の間が飛んでいます
レス 300-302 の間が飛んでいます
レス 315-317 の間が飛んでいます
レス 330-332 の間が飛んでいます
レス 345-347 の間が飛んでいます
レス 360-362 の間が飛んでいます
レス 375-377 の間が飛んでいます
レス 390-392 の間が飛んでいます
レス 405-407 の間が飛んでいます
レス 420-422 の間が飛んでいます
レス 435-437 の間が飛んでいます
レス 450-452 の間が飛んでいます
レス 465-467 の間が飛んでいます
レス 480-482 の間が飛んでいます
レス 495-497 の間が飛んでいます
レス 510-512 の間が飛んでいます
レス 525-527 の間が飛んでいます
レス 540-542 の間が飛んでいます
レス 555-557 の間が飛んでいます
レス 570-572 の間が飛んでいます
レス 585-587 の間が飛んでいます
レス 600-602 の間が飛んでいます
レス 615-617 の間が飛んでいます
レス 630-632 の間が飛んでいます
レス 645-647 の間が飛んでいます
レス 660-662 の間が飛んでいます
レス 675-677 の間が飛んでいます
レス 690-692 の間が飛んでいます
レス 705-707 の間が飛んでいます
レス 720-722 の間が飛んでいます
レス 735-737 の間が飛んでいます
レス 750-752 の間が飛んでいます
レス 765-767 の間が飛んでいます
レス 780-782 の間が飛んでいます
レス 795-797 の間が飛んでいます
レス 810-812 の間が飛んでいます
レス 825-827 の間が飛んでいます
レス 840-842 の間が飛んでいます
レス 855-857 の間が飛んでいます
レス 870-872 の間が飛んでいます
レス 885-887 の間が飛んでいます
レス 900-902 の間が飛んでいます
レス 915-917 の間が飛んでいます
レス 930-932 の間が飛んでいます
レス 945-947 の間が飛んでいます
レス 960-962 の間が飛んでいます
レス 975-977 の間が飛んでいます
レス 990-992 の間が飛んでいます

と言った感じになります。
変換したURLはhttp://yomi.mobi/read.cgi/awabi/awabi_tvd_1331986300/です。

683 ◆/vmukiyuzw:2012/03/20(火) 16:33:15
>>682さん
該当のスレをブラウザで表示して「〜の間が飛んでいます」の番号と見比べるとわかるのですが
15レスごとにレスとレスの間にバナー広告が挟まれてますね。
これが邪魔をしてその直後のレスに正規表現がマッチしなくなったという状況のようです。

対処としては、前処理を使ってバナー広告の部分(<br><script 〜)を削除してしまうというのも
一つの方法ですが、正規表現を修正してマッチさせちゃうほうが簡単かな?
以下に修正してみてください。

m#<dt.*?>([0-9]+).+?<b>(.+?)</b>(?:</font>|</a>)(?: <small>mailto:(.+?)</small>)? <small>\[(.*?)\]</small><dd> ?(.*?)<br><br>(<dt.*?>|</dl>|<br><script)#mik


ところで上で変換テストをしていて気づいたのですが、別の問題点を発見してしまいました。
レス中にURLリンクが書き込まれていると、先頭の「http://」を勝手に(?)省略しちゃうようです。
(該当スレをブラウザで表示してよく見るとわかるはず)

この状態のままdatに変換して専ブラで読ませてもリンクであることを認識できずいろいろ不都合が
あると思われるので、補正したほうがよいでしょう。
前処理に以下を記述してください。

# 省略された「http://」を補う
s#<a href="http://yomi\.mobi/rjump/.*?>(.*?)</a>#http://$1#igk

684名無しさん:2012/04/06(金) 16:13:27
お世話になります。

2ちゃんねるの国(その120)、具体的にはhttp://2chland.net/gcomic/1113225299.html
2ちゃんねるのエリート(その141)、具体的にはhttp://elite2ch.info/gcomic/1128762503.html

以上のスレを.dat化したいのですが、お力添えよろしくお願いします。

685 ◆/vmukiyuzw:2012/04/06(金) 20:28:56
>>684さん
説明の都合上まず「その141」 elite2ch.info の方からいきます。
実はこのサイト、自分は以前別のルートで見つけていて、ちょっと気になる点があったので
正規表現他を調べてメモっておいたものでした。

気になる点というのは、このサイトのHTMLにはレス番号(htmltodatでは$1でマッチさせるもの)
が存在せず、<ol><li>タグでレスに連番が振られているのです。
(<ol>タグの後の<li>タグは1からの連番として表示される)

これはhtmltodatでは想定していないことなので、どうしたものかと思いましたが、レス番号以外のもの
にマッチさせても仕方がないので、とりあえず$1をダミー(何にもマッチさせない)にしてみました。
プレビュー欄にレス番が表示されないという若干の不都合はありますが、dat変換自体は問題なく
できるようです。


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

前処理:
# 日付とIDの間に何かあると邪魔なので除去
s#</span><span>##igk
# レス中の不要なタグを除去
s#<em>##igk
s#</em>##igk
s#<strong>##igk
s#</strong>##igk
s#<img .*?>##igk
# <br />タグに対応していない専ブラへの対応
s#<br />#<br>#igk
# 後ガラガラがいっぱいあるので地道に除去
s#\r\n\s*<a .*?</a>##igk
s#<object .*\r\n##igk
s#<param .*\r\n##igk
s#<embed .*\r\n##igk
s#<iframe .*\r\n##igk
s#<div .*\r\n##igk

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



次に「その120」 2chland.net ですが、HTMLソースを見てみると「その141」とそっくり。
正規表現他も上と共通でいけると思います。

(実際には細かい差異はあったのですが上の正規表現はその差分を吸収したものにしています。
前処理も「その120」には不要なものもあって多少冗長なのですが特に問題はないと思います)

686684:2012/04/07(土) 11:40:20
>>685

◆/vmukiyuzwさま
早速の対応、ありがとうございました。

htmltodatにて.dat取得、専ブラ(Jane系)にて確認しました。
特に問題なさそうです!

またお力添え、よろしくお願いいたします。

687名無しさん:2012/04/20(金) 15:07:46
2ちゃんねろ(その155)より、
http://www.2channero.com/comic/1112437741/
のスレを.dat化したいのですが、お力添えよろしくお願いします。

追記
ココのサイトは100単位でスレを表示する使用になっているようです。
100スレずつでもかまいませんのでよろしくお願いいたします。

688 ◆/vmukiyuzw:2012/04/20(金) 20:34:03
>>687さん
HTMLの形式自体は<div>タグや<span>タグで比較的きれいに構造化されているので
マッチする正規表現を書くのは難しくないです。
(<span class='id'>タグが何の意味も成してないのは今のところ仕様かな?)

正規表現:
m#<div class='number'><span.*?>(\d+).*?<span class='name'>(.*?)</span><span class='mail'>\[(.*?)\]</span><span class='date'>(?:投稿日)?:?(.*?)</span>.*?<div class='resc'.*?> ?(.*?)\s*</div>#mik

前処理:
# タイトルに余分なものがついてくるので補正
s#(<title>.*?) \(\d+\)【.*?】(</title>)#$1$2#ik

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


ちなみに100レスずつしか表示できないのは何とかならないか調べてみましたが
ちょっとわからなかったですね。
何とかお好みの手段でつなぎ合わせて一個のdatにして頂くしか仕方ないかと思います。
101以降のレスを変換しようとすると「レス番が飛んでいます」と変換警告がいちいち
出てきちゃいますが無視して問題ないと思います。

あと、URLをhttp://www.2channero.com/comic/1112437741/s1001/(1001以降表示)にすると
1002、1003のレスが(内容は空っぽですが)表示されます。これをこのままdat変換すると
当然1003レスまで変換されてしまいます。
1001到達以外のスレを調べてみましたがやはり2レスだけ余分に表示されるので、このサイトの
仕様のようですが、元の2chでのスレには存在していないものと思われます。
まあ単なるゴミなんで表示上邪魔な以外実害はないでしょうが、この余分な2レスを
取っ払いたければ、後処理で

s#<><><><>\s*##igk

とする方法があります。
ただ、datのつなぎ合わせにエディタを使うのならそこで<><><><>の行を手動で削除しちゃっても
いいでしょう。
もしくは「dat変換結果」ウィンドウ上で同様に<><><><>の行を削除してから保存する、
というのもあります。

689名無しさん:2012/04/20(金) 21:52:06
◆/vmukiyuzwさま

100スレずつの表示の件まで調査までいただき、恐縮です。
仕様(先ほどは誤変換してしまいました、お恥ずかしい)に
関しても、1001以降のスレに関しても了解しました。

地道に全てをdat化して、最後にエディタにて全てつなぎ合わせて、
完全構築したいと思います。

正直出来れば、自分で対応できればなぁと思うのですが...。OTL
初心者サイトも自分にあったものを見つけられず苦労しています。


わたしも含め、いつも質問者に丁寧に対応していただき感謝です。

690名無しさん:2012/06/15(金) 15:24:44
http://logsoku.com/thread/kohada.2ch.net/gamestg/1338685324/

>>672を適用しても変換されませんでした。
何かやりかたを間違えているのでしょうか…?

691 ◆/vmukiyuzw:2012/06/15(金) 19:19:01
>>690さん
>>672の頃と比較すると、ガラガラの量が若干増えていて取り除ききれなくなってるようです。
これはまあイタチごっこみたいなもんなんで(サイト側は見栄えや使い勝手を改善しようとして
やってるんでしょうから)地道に対処していくしかないです。
とりあえずですが前処理に以下を追記してみてください。

s#<div (.|\n)*?</div>##igk


もう一度ログ速(logsoku.com)について現状をまとめ直しておくと、以下のようになると思います。
(言うまでもないかもしれませんが今後も変更の可能性がもちろんあります)

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

正規表現:
m#<a name="(\d+)"></a>\s*(?:<a href="mailto:(.+?)">|<font color=green>)<b>(.+?)</b>(?:</a>|</font>)\s*:\s*(.*?)\s*</dt>\s*<dd>\s*(.*?)\s*<br />\s<br />.*?</dd>#mik

692 ◆/vmukiyuzw:2012/06/18(月) 21:44:02
何を書いてるのか意味が伝わりにくかったかもしれませんね。

「ガラガラ」というのはこのスレを頭のほうから検索してもらえると見つかると思いますが
Javascriptやスタイルシートの記述や(最近では広告の記述も多いかな?w)等、
htmlからdatに変換するためには邪魔な要素のことを(私が)勝手にそう呼んでいます。

なぜこれが邪魔かというと、変換に使用しているbregexp.dllの暗黙の仕様、というか
正規表現自体の制限のようなもので、あまり長い文字列に正規表現を適用させようとすると
「fatal error」(致命的エラー)を起こしてしまうため、それを起こさないようできるだけ
変換対象とは関係ない文字列を前もって削除する必要があるのです。

で、それを取り除くための手段として「前処理」という事前変換機能があるので
これを使ってちまちまと削除しているわけです。

693名無しさん:2012/06/26(火) 02:13:36
>>691-692
遅くなりましたが変換確認致しました。ありがとうございます。
サイトが改良されるたびにガラガラも増えていってキリがないんですね…

694名無しさん:2012/07/24(火) 11:21:31
ログめも(logmemo.org)
http://logmemo.org/hayabusa.2ch.net/livejupiter/1343086426
これらはどうにかならないでしょうか

695 ◆/vmukiyuzw:2012/07/24(火) 21:25:56
>>694さん
ログめもについては、以前とあるスレにリンクが貼られてたことがあって
そのときに調べたことがありました。

HTMLの形式としては比較的クラシカルで、DAT2HTMLが吐くような奴に似てるんですが
1レス目だけ後に広告がつく関係で多少終わり方が違うところが工夫すべき点ですかね。


正規表現;
m#<dt><a.*?>(\d+).+?(?:<a href="mailto:(.+?)">)?<b>(.*?)</b>(?:</a>|</font>): ?(.*?)</dt><dd> *(.*?)(?:</dd>|<br />)#mik

前処理:
# 後ろガラガラが多すぎてエラーになるので除去
s#<option.*?</option>##igk

696名無しさん:2012/07/26(木) 21:18:50
>>695
ありがとうございます
無事変換できました

697名無しさん:2012/07/27(金) 14:17:42
ログ速また変わりました?
>>691では変換できませんでした
http://logsoku.com/thread/engawa.2ch.net/poverty/1343043861/

ほんといたちごっこなのかもしれませんが

698 ◆/vmukiyuzw:2012/07/27(金) 20:53:31
>>697さん
微妙にまた形式が変更されたようですね。

htmltodat的に影響ある部分としては、
・全般的に改行コードが変更されている(LF→CR)
 →これにより今まで前処理で取り除けていたガラガラが取り除けなくなった
・レス番号の表現が<a name="レス番号">→<a id="レス番号">に変更されている
・名前欄の色付けが<font color=green>→<span style="color:green">に変更されている
 →これにより今までの正規表現ではレスにマッチしなくなった

これらをふまえ以下のように変更してみました。

前処理:
# ガラガラを適当に除去
## spanタグはレス内で使われるようになったので除去はやめる
#s#<span(.|\s)*?</span>##igk
s#<script(.|\s)*?</script>##igk
s#<div(.|\s)*?</div>##igk
# ニュー速等のアイコンを2ch形式に補正(663さんのものをアレンジ)
s#<img src="http://cdn.logsoku.com/(img.2ch.net/ico/.+?)&quot;&gt;#sssp://$1#igk
# 「〜回発言」を取り除く(663さんのものをアレンジ)
s#(ID:)<a href=.+?>(.+?)</a>(.*?)\[\d+.+?\]#$1$2$3#igk
# 後ろガラガラの除去
s#<tr (.|\s)*?</tr>##igk
# <br/>タグに対応してない専ブラへの対応
s#<br/>#<br>#igk

正規表現:
m#<a id="(\d+)"></a>\s*(?:<a href="mailto:(.+?)">|<span style="color:green">)<b>(.+?)</b>(?:</a>|</span>)\s*:\s*(.*?)\s*</dt>\s*<dd>\s*(.*?)\s*<br />\s<br />.*?</dd>#mik


一応互換性を確かめるためこのスレに今まで貼られたログ速のログで確認してみましたが
特に問題なく変換できるようです。

699 ◆/vmukiyuzw:2012/07/28(土) 00:56:07
× 今まで貼られたログ速のログで
○ 今まで貼られたログ速のURLで

しかし、htmltodat側で正規表現等変更しても過去のログURLにアクセスして問題なく
dat変換できるということは、HTMLが静的なものでなくリクエストの都度動的に生成されて
いるということな訳です。
ということはその元になるdatを保持しておられることもほぼ確実なわけで。

であればゴニョゴニョ・・・えーっと今なんか微妙な時期ぽいんでやめときますか。

700名無しさん:2012/07/28(土) 01:12:12
なるほど

701697:2012/07/28(土) 05:07:43
>>698-699
ありがとうございます!
変換できました

ログ速、っていうか過去ログサイト全般、
恩恵を受けている身としては、うーんどうにか…って感じではあります

702名無しさん:2012/09/11(火) 13:31:16
本日からだと思いますがログ速で>>698-699のやり方でも変換出来なくなってしまいました
申し訳ないんですが一度ご確認お願いできますでしょうか
自分のやり方や認識が間違ってたらすみません

703 ◆/vmukiyuzw:2012/09/11(火) 21:58:32
>>702さん
改行コードがまた変更されたような・・・
あと改行の位置がいくらか変更されているようです。

実は今まで貼っていたログ速用の正規表現には一箇所バグ(というか私の単純ミスです;)
があったのですが、上の変更によりそれが顕在化してしまったという状況のようです。

あと、改行位置の変更により、前処理の一部(「〜回発言」を取り除く処理)に影響が出て
マッチしなくなってしまったのでこれも修正しました。

前処理:
# ガラガラを適当に除去
## spanタグはレス内で使われるようになったので除去はやめる
#s#<span(.|\s)*?</span>##igk
s#<script(.|\s)*?</script>##igk
s#<div(.|\s)*?</div>##igk
# ニュー速等のアイコンを2ch形式に補正(663さんのものをアレンジ)
s#<img src="http://cdn.logsoku.com/(img.2ch.net/ico/.+?)&quot;&gt;#sssp://$1#igk
# 「〜回発言」を取り除く(663さんのものをアレンジ)
s#(ID:)<a href=.+?>(.+?)</a>(.*?)\s*\[\d+.+?\]#$1$2$3#igk
# 後ろガラガラの除去
s#<tr (.|\s)*?</tr>##igk
# <br/>タグに対応してない専ブラへの対応
s#<br/>#<br>#igk

正規表現:
m#<a id="(\d+)"></a>\s*(?:<a href="mailto:(.+?)">|<span style="color:green">)<b>(.+?)</b>(?:</a>|</span>)\s*:\s*(.*?)\s*</dt>\s*<dd>\s*(.*?)\s*<br />\s*<br />.*?</dd>#mik

704名無しさん:2012/09/12(水) 09:11:28
>>703
迅速なご対応ありがとうございます!!
問題なく無事変換できました!!

705名無しさん:2012/09/23(日) 01:42:17
以前その115の変換を教えて貰ったのですが、
「一行が長過ぎるか、正規表現が正しくないようです」
と出て上手く行きません。
何か変わったのでしょうか?
http://viva2ch.net/avi/1204285809.html
よろしくお願いします。

706 ◆/vmukiyuzw:2012/09/23(日) 20:23:59
>>705さん
>>663>>664>>666で試してみたのですが
「変換行:1001」と表示されるのにエラーが出ますので、変換は出来てるけど
後ガラガラの影響でエラーが出る状況のようです。
調べてみると、最後のほうに延々続くamazonへのリンクの形式が変更されてました。
(URLエンコードされた形式に変更されている)

これを受けて前処理を修正するととりあえずエラーは出なくなりましたが、よく見ると
ID周りのタグが若干変更されたようで、変換結果に不要なタグが残るようになったので、
これも修正しました。合わせて正規表現も微調整しました。

あとスレタイに元々のスレタイにはない余分なものが付くようになったようなので
これを除去する処理も追加しました。


正規表現:
m#<a name="(\d+)">\d+</a><span>(.+?) ?\[(.*?)\] ?(.+?) ?<p> ?(.*?) ?</p>#mik

前処理:
# スレタイ補正
s#(<title>)(.*?)\s\S*?@\S*?(\S*?)(</title>)#$1$2$3#ik
# 後ガラガラ除去(amazonを直接指定するのはイマイチだが・・・)
s#<li><a href.*?</li>##igk
s#a href="/r\?u=http%3A%2F%2Fwww.amazon[\S]*? title=.*?</a>##igk
s#<img .*?>##igk
# これは不要かもしれないがブラウザによってはうまく動かない可能性があるので念のため
s#<br />#<br>#igk
# 日付とIDの間の不要なタグを除去
s#</span><span># #igk
s#</span>##igk

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


>>663>>665のviva2chのURLでも問題なく変換できることを確認しました。

707 ◆/vmukiyuzw:2012/09/23(日) 22:58:33
ああタイプミス・・・
大した影響はないでしょうが前処理の5行目

s#<a href="/r\?u=http%3A%2F%2Fwww.amazon[\S]*? title=.*?</a>##igk

にしてください(頭の"<"を忘れた)

708名無しさん:2012/09/25(火) 00:38:47
◆/vmukiyuzwさんありがとう。
溜まってたの10ほどちゃんと変換されました。

本当にありがとう。<(_ _)>

709名無しさん:2012/10/04(木) 15:17:21
みみずんにあるまちBBSのログ変換ができなくなりました
>>398>>617を使っても「1行が長すぎるか、正規表現が正しくないようです。」
が出て変換できません

変換したいのは
http://hokkaido.machibbs.com/bbs/read.pl?BBS=hokkaidou&amp;KEY=1032742284
http://hokkaido.machibbs.com/bbs/read.pl?BBS=hokkaidou&amp;KEY=1027087237
です

直接datを指定して落ちてきたのをJaneView(121002)のログフォルダに入れると
「ここ壊れてます」になってしまうので、変換でいきたいのですが

710 ◆/vmukiyuzw:2012/10/04(木) 20:53:21
>>709さん
まず、こういう場合はできればみみずんでのURLを書いて欲しいです。
まちBBSの過去ログURLを書かれてもこちらでみみずんでのURLに読み替えないと
アクセスできません^^;

ということで、
http://hokkaido.machibbs.com/bbs/read.pl?BBS=hokkaidou&amp;KEY=1032742284

http://mimizun.com/log/machi/hokkaidou/1032742284/

で調べてみました。

datを直接落とすと壊れるというところが気になったので、まず

http://mimizun.com/log/machi/hokkaidou/1032742284.dat

を落として調べてみたのですが、あれ?微妙にdatの形式が違う・・・
(各行先頭にレス番が付加されている)
経緯の程はわかりませんが、2chのdatについてはこういうことはないので
(でないとgetlog.wsfとか正常動作しないですよね)、まちBBSについてだけ
以前からそうなのかな?

とりあえず、datの違いはレス番の有無だけなので、わざわざhtmlから変換するより
datの先頭を切り飛ばしたほうが簡単かな?若干トリッキーな使い方ですが。
あぼーんがあるとその行が存在しなくなるという多少の難点はあるようですが
透明あぼーんを補うにして特に困ることはないような。

---------------------------------------------------------------------
(URL欄にはhtmlでなくdatの方のURLを入力)

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

「透明あぼーんを補う」にチェック

正規表現:
m#(\d+)<>(.*?)<>(.*?)<>(.*?)<>(.*?)<>#mik
----------------------------------------------------------------------

あぼーんがあると変換警告が出ますが気にしなくていいです。

711 ◆/vmukiyuzw:2012/10/04(木) 20:55:11
ちなみにhtmlからの変換も考えてみました。
あら?>>398>>617の時とは相当異なる形式にはなってますが
これもさして難しくはないような。
(htmlの形式が整理されて正規表現を当てやすくなってる)

正規表現:
m#<a name="(\d+)">.*?<span class="handle">(?:<A HREF="mailto:(.*?)">)?(.*?)(?:</A>)?</span>:(.*?)</div><div class="res">\s*(.*?)\s*</div>#mik

<br />タグが使われているので専ブラの種類によっては
前処理に

s#<br />#<br>#igk

を入れる必要があるかもしれません。


まあお好きなほうで。

712 ◆/vmukiyuzw:2012/10/04(木) 20:58:20
>>710には

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

も必要でした。失礼。

713709:2012/10/04(木) 23:32:17
>>710
ああ、申し訳ありません、みみずんのURLを貼ったつもりで間違えてしまいました
>>710
でdatから変換すると名前欄が[なまら名無し]になりました
>>711
で問題なく変換できました
ありがとうございます

714名無しさん:2012/10/13(土) 15:42:04
こんにちは。

以下のurlを>>683の処理で行わせたのですが、ヘッダーの並びがおかしくなって正しく表示できません。

http://yomi.mobi/read.cgi/hato/hato_sato_1312860520/

正しく変換するにはどうすればいいでしょうか?
よろしくお願いします。

715 ◆/vmukiyuzw:2012/10/13(土) 18:36:32
>>714さん
>>683の記述に漏れがありました。

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

が必要でした。

>>683の元質問(>>682)のリンク先
http://yy14.kakiko.com/test/read.cgi/mirror/1158402994/756n
には書いてあったのですが、これへの補足のつもりで書いたので
漏れてしまったんだと思います。

716名無しさん:2012/10/13(土) 23:01:41
>>715
ありがとうございます。
変換されました。
さらに2chのdatらしくするため、

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

と修正しアンカー削除のチェックを外したところ、
アンカーの部分が何も変換されずyomo.mobi〜と残ってしまいました。
あれこれ試したところ

後処理
# 安価のリンクを正しく補う
s#<a href="http://yomi\.mobi/read\.cgi/(\w+)/(\w+)\_(\w+)\_(.*)>#<a href="../test/read.cgi/$3/$4>#igk

を複数セット(6セット分)入れたところ綺麗に変換されました。

もしかして安価の数によって、さらに後処理を入力する必要がありますか?

717 ◆/vmukiyuzw:2012/10/13(土) 23:32:45
>>716
何をしたいのかいまいち理解出来てないかもしれませんが。

> と修正しアンカー削除のチェックを外したところ、
> アンカーの部分が何も変換されずyomo.mobi〜と残ってしまいました。

アンカー削除のチェックを外す必要は基本的にありません。
後処理で何とかしようとされた点はアンカー削除をONにしていれば
うまく処理してくれるはずなので、何故そうしようと考えられたのかわかりません。

yomi.mobi〜のリンクが残ってしまうことへの対処は
>>683の後半に書いてあることでできるはずです。
(省略された「http://を補う・・・とともにyomi.mobiへのリンクも外してます)

お使いの専ブラがなんなのか分かりませんが、大抵の専ブラでは
レスアンカーへのリンクとかURLへのリンクは自動で補ってくれるんです。
htmltodatでのアンカー削除機能はそれを前提につけています。

718名無しさん:2012/10/14(日) 05:05:26
>>717
出来るだけ2chで生成されるdatの形にしたいということですよ。
ちょっとしたこだわりです。

なんにせよ、必要なdatは手に入れることができたので感謝します。
ありがとう。

719 ◆/vmukiyuzw:2012/10/14(日) 22:22:45
>>718
まあこだわりというのは人それぞれなんで別にいいと思いますけど
htmltodatとしてはアンカー削除のチェックを外すのはあまり推奨できません。
なので、それによっておそらく生じるであろう諸々の面倒なことについては
できれば自助努力で対処いただきたく思います。

まあ充分なスキルをお持ちのようにお見受けするのでこんなこと書いてるんですが。

720名無しさん:2012/10/21(日) 20:26:25
その56:ログ速(http://logsoku.com/)は仕様の変更があったのでしょうか?
dat化したいURL:http://logsoku.com/thread/kohada.2ch.net/auto/1259980092/
以前の正規表現などの設定では、dat化が不可能になってしまいました。

恐縮ですが、また助けていただけたら幸いです。
よろしくお願いいたします。

721 ◆/vmukiyuzw:2012/10/21(日) 22:29:47
>>720さん
>>703で試してみたのですが、ID周りの仕様が結構変更されているようです。
一見変換自体は成功したように見えるのですが専ブラで読ませると
不要なタグが残ってIDへのリンクがうまくいかなくなる状態になりました。
ID周りの前処理のみ修正しました。


前処理:

# ガラガラを適当に除去
## spanタグはレス内で使われるようになったので除去はやめる
#s#<span(.|\s)*?</span>##igk
s#<script(.|\s)*?</script>##igk
s#<div(.|\s)*?</div>##igk
# ニュー速等のアイコンを2ch形式に補正(663さんのものをアレンジ)
s#<img src="http://cdn.logsoku.com/(img.2ch.net/ico/.+?)&quot;&gt;#sssp://$1#igk
# 「〜回発言」を取り除く(663さんのものをアレンジ)
# ID周りが変更されたので修正
#s#(ID:)<a href=.+?>(.+?)</a>(.*?)\s*\[\d+.+?\]#$1$2$3#igk
s#<span class="id_search_btn"><a .*?>(ID)</a></span>(:)<a .*?>(.*?)</a>((.|\s)*?)\[.*?\]#$1$2$3$4#igk
# 後ろガラガラの除去
s#<tr (.|\s)*?</tr>##igk
# <br/>タグに対応してない専ブラへの対応
s#<br/>#<br>#igk

正規表現: ※変更なし

m#<a id="(\d+)"></a>\s*(?:<a href="mailto:(.+?)">|<span style="color:green">)<b>(.+?)</b>(?:</a>|</span>)\s*:\s*(.*?)\s*</dt>\s*<dd>\s*(.*?)\s*<br />\s*<br />.*?</dd>#mik

722名無しさん:2012/10/22(月) 16:18:05
>>721 ◆/vmukiyuzwさま
何時もながら、親切な対応ありがとうございます。
早速、使用させていただきます!
ありがとうございました。

723名無しさん:2012/11/05(月) 16:54:52
ログ速が仕様変更したようで変換出来なくなっていました。
申し訳ありませんが、対応していただけたら嬉しいです…

724 ◆/vmukiyuzw:2012/11/05(月) 20:27:20
>>723さん
今回はかなり変更されてたのでちょっと驚きました。

とりあえずは、レスの形式自体が大きく変更されてるので
正規表現はほぼ書き直しになりました。
メール欄の形式も変わったので、
変換結果式「メール欄逆転」が必要になりました。(←重要!)
あと、以前はなかったtimeタグが追加されてるので除去したり
スレタイに余分なものが付くようになったので補正したり
まあそんなところです。
(timeタグは指定方法が多分間違ってるぽいのでまた変更されるかも)


前処理: ※長くなってきたので不要になった行を削除
# スレタイ補正
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#<span class="id_search_btn"><a .*?>(ID)</a></span>(:)<a .*?>(.*?)</a>((.|\s)*?) ?\[.*?\]#$1$2$3$4#igk
# 投稿日前後のtimeタグの除去
s#<time .*?>##igk
s#</time>\s( ID:)?#$1#igk
# 後ろガラガラの除去(ちょっと修正)
s#<tr(.|\s)*?</tr>##igk
# <br/>タグに対応してない専ブラへの対応
s#<br/>#<br>#igk

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

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

725名無しさん:2012/11/16(金) 15:56:52
>>724
誠に申し訳ありません、返信が遅れてしまいました。
変換を確認致しました!
いつも迅速な対応に感謝します

726 ◆/vmukiyuzw:2012/11/25(日) 00:46:20
バージョンアップしました(0.8.18)
 ・バッチファイルやスクリプトから動かすための機能を追加。
 ・UTF-8→SJISの変換にnkf.exeを使うようにした。

まずバッチコマンド化についてですが、以前から構想はあったんですが
>>492で一旦頓挫していて、最近またやる気になってなんとかやってみました。
htmltodat単独では意味がなくバッチファイルやスクリプトから
起動されること前提の機能です。

大雑把な仕様としては、
・起動時の引数を最大3個指定できる
・1つ目の引数はURL、これが指定された場合、URLの項目に値をセットして起動します。
・2つめの引数はパラメータファイル名、この仕様は後述します。
 これが指定された場合、正規表現・前処理等の項目に値を自動でセットし
 HTML取得→変換まで行います。
・3つめの引数は出力datファイル名、これが指定された場合、変換結果をそこに出力し
 htmltodatは終了します。

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

正規表現=read.cgi7.00?
変換結果式=メール欄逆転
・・・
 
のような形式で各項目に設定する選択項目を指定して列挙します。
また、
 
前処理:
# スレタイ補正
s#(<title>)(.*?) \| \S*?(</title>)#$1$2$3#ik
# ガラガラを適当に除去
s#<script(.|\s)*?</script>##igk
・・・
 
みたいな感じでサポート掲示板に書かれてるようなものをそのまま記述する方式でも
可能です。
サンプルでsample.prmというのをつけてみたので参考にしてください。

727名無しさん:2012/11/25(日) 00:49:29
>・バッチファイルやスクリプトから動かすための機能を追加。
キタ━━━━━━(゚∀゚)━━━━━━ !!
すごく嬉しいです!

728 ◆/vmukiyuzw:2012/11/25(日) 01:04:48
次にUTF-8→SJIS変換ですが、
>>605>>613あたりでやろうとしてこれも頓挫していたものですが
自分の開発環境の中だけでやるのはどうも難しそうなので
外部コマンド(nkf.exe)を叩くことにしました。

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

なお、この変更によりUTF-8→SJIS変換が必要な場合DOSウィンドウが
一瞬出てしまうと思いますが気にしないでください。

nkfというのはかなり古くから使われてる文字コード変換プログラムですが
その分枯れてる(←バグが出尽くしてるという意味)のではと考え
採用しました。
「〜」が「?」に化けるのとかは正しく変換できるのは確認したのですが
実際にhtmltodatから化けそうなサイトにアクセスして確認していない
(どこが化けるサイトかわからないので^^;)のが若干不安な部分です。

729 ◆/vmukiyuzw:2012/11/25(日) 01:25:44
あと余談になりますが、バッチコマンド化の3つめの引数(出力ファイル名)についてですが
getlogみたいに取得済みのファイルと比較して行数が多ければ上書き、とかしようと思うと
結局一旦一時ファイルに保存するケースが多くなるのかなという気はしてます。
V2Cでのgetdatスクリプトはファイルではなくdatの内容自体を返す仕様になってますし
こういう場合も一時ファイルに保存して読み返すことになるような。
まあその辺は呼び出す側でよろしくやってください(てなげやりかよ!w)

730 ◆/vmukiyuzw:2012/11/25(日) 01:34:39
>>726
> バージョンアップしました(0.8.18)

0.8.19の間違いですね^^;
長いことバージョンアップしてなかったんでコピペ直すの忘れてました・・・

731 ◆/vmukiyuzw:2012/11/25(日) 20:44:35
こっちに書いたほうが良かった内容かもしれないので一応リンク。
http://jbbs.livedoor.jp/bbs/read.cgi/computer/1929/1038409548/133

732 ◆/vmukiyuzw:2012/11/26(月) 00:42:25
バージョン0.8.19 公開一時停止します。
理由:スクリプトから呼び出して動かす際に一部うまく動かない機能が発覚したため。

目に見える現象としては、正しい過去ログでなく別のスレの過去ログを取得してしまったり
することが発生すると思います。
原因となる箇所は特定出来てるのですがどう直したらいいものか現時点では
ちょっとわからないので時間がかかるかもしれません。
(スクリプト経由でなくコマンドプロンプトから動かすと問題なく動いてしまったりする
のがこれまた厄介)

というわけで、663さん他、スクリプトをすでに作ったもしくは今から作ろうとしていた方々、
申し訳ないですがしばらくお待ちいただきたく。

733 ◆/vmukiyuzw:2012/11/26(月) 19:56:00
バージョンアップしました(0.8.20)
 ・UTF-8→SJISの変換にnkf32.dllを使うよう変更。

前バージョンでnkf.exeを使うようにしたのですが不具合があったため
nkf32.dllを使うように変更しました。

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

※OSが98系(98,98SE,Me)の場合は「98用」以下のnkf32.dllをインストールしてください。
※前バージョン(0.8.19)には不具合があるため使用しないでください。
※nkf.exeは不要になりましたので削除してしまってかまいません。
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆


不具合の原因ですが、正直なところ正確にはわかっていません。
以下推測ですが、nkf.exeという外部プログラムを実行するということは
内部的にプログラムの終了待機をする必要があるわけです。
ですが、スクリプトからhtmltodatを呼ぶとなるとこちらでも終了待機が
必要となり、制御がぶつかってしまったんではないかと。
結果としてnkf.exeが実行されないまま処理してしまっていました。
dllの呼び出しにすればもちろん内部プロセスで実行されるので
問題は解消したと考えられます。

ちなみに、dll呼び出しのほうがプログラムの実装としては簡単だったんです。
でも、nkf32.dllが98系とNT系の2バージョンあるため、インストールの際の
混乱をできれば避けたいと考えました。

しかしまあ2つの変更タイミングがたまたま同じでよかった。
別々のタイミングだったら原因特定にもっと手間取ったかもしれません。

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


新着レスの表示


名前: E-mail(省略可)

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

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

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

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