ううーん、2chのdatの仕様落ちてねぇなぁ
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/09/16(土) 04:45:50(´・ω・`)やぁ
まとめサイトあればうpしてちょうだい♪
なければ今後の仕様も考えて何かうpしてくれるとうれしいなぁ〜☆
0002デフォルトの名無しさん
2006/09/16(土) 05:30:490003デフォルトの名無しさん
2006/09/16(土) 10:21:050004デフォルトの名無しさん
2006/09/16(土) 11:58:370005デフォルトの名無しさん
2006/09/16(土) 15:44:05datの仕様がなにを指すのかしらんが
HTTP部分はEtherealとかのパケットモニタリングソフト使ってHTTPとcookieプロセスを
追いかければいいだけ。できないならあきらめろ
0006デフォルトの名無しさん
2006/09/16(土) 16:03:51ethernet使ってみてるし、ソケット使ってhttpでダウンロードできている
が、仕様がないと手探り状態で無意味じゃないか
0007デフォルトの名無しさん
2006/09/16(土) 16:09:330008デフォルトの名無しさん
2006/09/16(土) 17:08:140009デフォルトの名無しさん
2006/09/16(土) 17:09:46いやそれでわからんならあきらめろってw
0010デフォルトの名無しさん
2006/09/16(土) 19:01:45>仕様がないと手探り状態で無意味じゃないか
本気で言ってるんだったらアホだな。ちゃんと勉強しろ。
完成品だけを目的にしないでプロセスにも意味を見いだすべき。
どうせ趣味だろ。なんだかんだ結局は単発質問スレだしな。短絡的。
前の人も言ってるように、それで分からないなら諦めた方がいいと思うけど
おいらの本心は同志的な感情。
がんばれよ。
今までのレスにあるリンクで見つかるはずだし、ちゃんと見つかったらお礼のレス付けとけ。
しょうもない質問に返事してくれた人達に対して。
0011デフォルトの名無しさん
2006/09/16(土) 19:05:430012デフォルトの名無しさん
2006/09/16(土) 19:14:340013デフォルトの名無しさん
2006/09/16(土) 20:25:24その程度は当たり前なんじゃ?
そこから先の話だと思ってた(orz
0014デフォルトの名無しさん
2006/09/17(日) 00:12:06そこから先の話ってのはdatデータの仕様だとか、自力で解析するってことかな?
>>12 が言ってるように2chのデータの構造は悩むほど複雑じゃないよ。
*.datなりsubject.txtなり引っ張ってきたら、区切り文字でぶった切って
順番に保持したり格納したり(同じことか)するだけ。
もしやHTTPでcgi経由のHTMLを引っ張ってきてるんじゃないか
と心配してたりする。w
datの仕様って言ってるけど「dat 仕様」でググって一番上にあるのでどうよ
0015デフォルトの名無しさん
2006/09/17(日) 00:48:19datの直ダウンロードは規制されてて、なんかのHTTPヘッダ指定しないと駄目だったでしょ?
でもまあ、そんなのも調べればすぐ出てくると思うけど。
0016デフォルトの名無しさん
2006/09/17(日) 00:57:34仕様仕様って言うからてっきりデータのフォーマットかと思いこんで読んでたな
おい>>1、取り敢えずちゃんとした質問の仕方で
何 が 分 か ら な い の か 書 け
答える答えないはともかくモヤモヤするw
>>なければ今後の仕様も考えて何かうpしてくれるとうれしいなぁ〜☆
正直、この文章の解読ができん。今後の仕様も考えて??
0017デフォルトの名無しさん
2006/09/17(日) 01:03:43まとめサイトがないのなら今後の「使用(?)」も考えて
誰かがまとめて何かうpしろっつってんのか
まとめは何カ所かあるから爽やかにググれ。
密かに応援してるけど連投スマソ
0018デフォルトの名無しさん
2006/09/17(日) 01:30:22http://pc8.2ch.net/test/read.cgi/tech/1057329161/l10
00191
2006/09/17(日) 22:02:16今はモデル化と概念を直接プログラミング中
VB使いなので
とりあえずSocket使う非同期HTTP作った
そして2chの鯖と板とbbsmenuとスレッドの関係を書き出してる途中
スレッド名が一意じゃないから何の視点から纏めようかと思ってる
0020デフォルトの名無しさん
2006/09/17(日) 22:24:400021デフォルトの名無しさん
2006/09/17(日) 22:26:30今のところはdat読みだけで書き込みは扱わない予定
で、これが出来たら10分ごとに気になるレスをチェックとかできるので巡回が楽になりまそ
0022デフォルトの名無しさん
2006/09/17(日) 22:56:22書き込みもやるなら
自分のPCにApacheと2ch互換掲示板いれると作業が早いぞ
0023デフォルトの名無しさん
2006/09/17(日) 23:08:45サンクス
実験環境は整えた方がよさそうだね・・・
しかし面倒なのでetherealで解析してる俺(orz
まぁ、ガンガルよ
> 自動巡回し始めて逆に見なくなった俺w
その先のURL解析して自動で画像落とすところまで持って生きたいとおもってるぜ
0024デフォルトの名無しさん
2006/09/17(日) 23:38:50今さら遅いかも知れんがこれを置いてくよ
ttp://age.s22.xrea.com/talk2ch/
0025デフォルトの名無しさん
2006/09/17(日) 23:43:37ありがとう
なかなかまとまっててイイよね
何日も放置し続けるシステム作ろうかと画策してるから
最新の仕様がかたまってるところ無いので不安だ(orz
ううむ。
0026デフォルトの名無しさん
2006/09/17(日) 23:46:50そのBBSMENUも時々更新遅れるしなぁ・・・実況のbbsmenuつかうかなぁ・・うーうーん
0027デフォルトの名無しさん
2006/09/18(月) 00:24:28目標板のURLとスレタイの検索条件をリストであらかじめ用意するように作ったから
そこは関係なかったな。
それよりエラー処理のさぼりで泣いた。
登録板に対して:
subject.txt取得
取得スレの絞り込み
目標のスレに対して:
更新されているなら:
スレのダウンロード
スレの解析
上みたいに作ったときに
あるスレのダウンロードや解析でずっこけて
それ以後のdatが保存できない状態に。
数日のあいだ気づかなかったぜぃ
0028デフォルトの名無しさん
2006/09/18(月) 00:52:49手続きか・・・
参考にしまつ
今はオブジェクトベースに考えてコラボレーション引っ張ってる最中です
0029デフォルトの名無しさん
2006/09/18(月) 04:04:470030デフォルトの名無しさん
2006/09/18(月) 10:35:41今のところ板(object board)からスレ(object thread)を生成できる関係にしてる
それともスレを板の一部にして・・・いやこれだと板がないとスレが存在できないか・・・
>>29
プログラムはまだ手をつけてないです
作る前に決めておかなくてはならないことを決めている段階
早くコーディング生きたいね
0031デフォルトの名無しさん
2006/09/18(月) 10:49:26> それともスレを板の一部にして・・・いやこれだと板がないとスレが存在できないか・・・
もう thread is-a-part-of board 関係を結ばないことに決定
「スレッドの1レスまで解析する」という視点から言えば、スレと板の関係なんて希薄で結構ですたい
> プログラムはまだ手をつけてないです
これは2ch用のライブラリのコーディングにはまだ手をつけてないってことね (;´д`)
0032デフォルトの名無しさん
2006/09/18(月) 22:46:1300331
2006/09/19(火) 01:16:350034デフォルトの名無しさん
2006/09/19(火) 01:29:46| age続けるんだ!!!
| 名スレにするんだ!!!
| きっと職人さんも来てくれる!!!
\___________ ____
∨ カタカタ____ ___
∧_∧ ||\ .\ |◎ |
(.#`Д´) || | ̄ ̄| |:[].|
∧_∧ . ┌( つ/ ̄l| / ̄ ̄/ ..| =|
∧_∧ ( TДT) |└ ヽ |二二二」二二二二二二二二」
( TДT) ( つつ  ̄]||__) | || | ||
(つ つ / / / ./ ̄\ / || / ||
と_)_) (___)__) ◎ ◎ .[___|| .[___||
∧
/ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| >>1よ、もういいんだ・・・・・・・
| 本当に良く頑張った・・・もう充分じゃないか・・・
| 楽になっていいんだ・・・
| 忘れるんだ・・・何事もなかったように・・・・・
0035デフォルトの名無しさん
2006/09/19(火) 01:31:5000361
2006/09/19(火) 01:57:03Public Function LocalToRFC1123Time(Optional HourDifference As Long = -9) As String
'ローカル時間を日本時間としたときのGMT表記(RFC1123)にする
Dim gt As Date
gt = DateAdd("h", HourDifference, Now())
LocalToRFC1123Time = Choose(Weekday(gt) - vbSunday + 1, "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat") & ", "
LocalToRFC1123Time = LocalToRFC1123Time & Right$("0" & Day(gt), 2) & " "
LocalToRFC1123Time = LocalToRFC1123Time & _
Choose(Month(gt) - 1 + 1, "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec") & " "
LocalToRFC1123Time = LocalToRFC1123Time & Year(gt) & " "
LocalToRFC1123Time = LocalToRFC1123Time & Right$("0" & Hour(gt), 2) & ":" & Right$("0" & Minute(gt), 2) & ":" & Right$("0" & Second(gt), 2)
LocalToRFC1123Time = LocalToRFC1123Time & " " & IIf(HourDifference <= 0, "+", "-") & Right$("0" & Abs(HourDifference), 2) & "00"
End Function
00371
2006/09/19(火) 01:57:5000381
2006/09/19(火) 03:12:560039デフォルトの名無しさん
2006/09/19(火) 03:13:29・Rangeを指定して差分ダウンロードする
・スレッドをダウンロードして、レスを「名前や発言を分割していない」ものとして分割してcollectionにためておく
・raiseeventによりイベントを外部に送信する
・なんとなくアボーン(=差分ダウンロードしても、RangeNotSatisfiableが帰ってくる)にも対応
→実験してないので動くかわからん
までは実装してみた
…正直、このままでも十分耐えうるわけでして
<updatetest>
ThreadDownloaded
Release AH
1<>sage<>2006/09/19(火) 01:57:50 <> コメントは無視してちょ <>
ThreadDownloaded
Release AH
1<>sage<>2006/09/19(火) 03:12:56 <> update test <>
</updatetest>
00401
2006/09/19(火) 03:14:50ThreadDownloaded
Release AH
デフォルトの名無しさん<>sage<>2006/09/19(火) 03:13:29 <> とりあえず <br> ・Rangeを指定して差分ダウンロードする <br> ・スレッドをダウンロードして、レ (略)
Release AH
NoUpdate
0041デフォルトの名無しさん
2006/09/19(火) 03:16:56> 'テストコンテナ
> Private Const url = "http://pc8.2ch.net/test/read.cgi/tech/1158349550/l50"
> Private WithEvents cmd As CommandButton
> Private WithEvents th As Thread
> Private Sub Form_Load()
> Set cmd = Me.Controls.Add("VB.CommandButton", "cmd")
> cmd.Move 0, 0, 1000, 1000
> cmd.Caption = "Update"
> cmd.Visible = True
> Set th = New Thread
> Call th.InitializeByURL(url)
> End Sub
> Private Sub cmd_Click()
> On Error Resume Next
> Call th.Update
> End Sub
> Private Sub th_CompleteDownload(ByVal ThreadCDC As Lib2ch.eThreadCompleteDownloadCode)
> Select Case ThreadCDC
> Case Lib2ch.eThreadCompleteDownloadCode.threadcdc_Updated
> 'ためしに最後の発言を表示する
> Debug.Print th.Res(th.ResCount)
> Case Else
> '色々有るかもしれないけど、未更新
> Debug.Print "NoUpdate"
> End Select
> End Sub
こんなかんじ。
00421
2006/09/19(火) 03:18:03('A`) ・・・引用符の意味がねぇ
寝る
ノシ
00431
2006/09/19(火) 03:43:45Public Function DateToRFC1123Time(ByVal DateValue As Date, Optional HourDifference As Long = -9) As String
'DateValue+HourDifferenceの時刻表記をRFC1123(らしい)にする
DateValue = DateAdd("h", HourDifference, DateValue)
DateToRFC1123Time = Format$(DateValue, "ddd, dd mmm yyyy hh:nn:ss")
DateToRFC1123Time = DateToRFC1123Time & " " & _
IIf(HourDifference <= 0, "+", "-") & Format$(Abs(HourDifference) * 100, "0000")
End Function
最後のDateToRFC1123Timeをもっと簡略に出来る希ガス
00441
2006/09/19(火) 03:48:27'DateValue+HourDifferenceの時刻表記をRFC1123(らしい)にする
DateValue = DateAdd("h", HourDifference, DateValue)
DateToRFC1123Time = Format$(DateValue, "ddd, dd mmm yyyy hh:nn:ss") _
& " " & Format$(-HourDifference * 100, "+0000;-0000")
End Function
こんなんになりました
(;´д`) 寝る
00451
2006/09/19(火) 03:58:29つ VB6の"&"は直に処理されるので、文字列連結が遅いかもしれないと思うなら
DateToRFC1123Time = Format$(DateValue, "ddd, dd mmm yyyy hh:nn:ss ") _
& Format$(-HourDifference * 100, "+0000;-0000")
さらに遅いと感じるのなら…奥の手は有るけどもういいや
※面倒でもVB6でもStringBuilderっぽいの作れるます
※.NETの文字列連結は3項までは適切なStringのコンストラクタに変換されるので、まぁまぁとききます
※スレ違いごめんね、(´д`)は久々のスレだから、ごめんね
0046デフォルトの名無しさん
2006/09/19(火) 04:01:50constructor Stringじゃなくて static string String.Concat(string,string,string) だよね
もうだめぽ
0047デフォルトの名無しさん
2006/09/19(火) 08:39:240048デフォルトの名無しさん
2006/09/19(火) 17:45:220049デフォルトの名無しさん
2006/09/20(水) 02:05:50やっぱりフォーマットを抽出して、適当にごまかそうかな…
\(^o^)/ ひのくるま
0050デフォルトの名無しさん
2006/09/21(木) 01:01:21現状
・VB6でLib2ch.dllなどというのを作ってます
・Lib2chは以下の公開されるモノを持ちます
class Board:
現状:
・HostName、BoardNameを記憶する
・HostName、BoardNameからDATリストのテキストをダウンロードし、適切な行デリミタでテキストを分割する
・分割されたDATリストを公開する
・ダウンロード後に適切なイベントを発生させる
問題:
・URLからHostNameとBoardNameを抜き出したいが、
DATを示すURL(subject.xt or subback)の種類が把握できて無い
class Thread:
現状:
・HostName、BoardName、DATNameを記憶する
・HostName、BoardName、DATNameからスレッドのテキストをダウンロードし、適切な行デリミタでテキストを分割する
・分割されたレスを公開する
・ダウンロード後に適切なイベントを発生させる
問題:
・特に無い
interface IThreadCupsel
現状:
・何も考えて無い
このインタフェイスを実装するクラスの目的:
・Threadをより扱いやすくする
・発生するイベントを透過的に再発生させる
・スレッドリストを整形する ←この部分にいろいろな実装方法があるのでinterfaceにしますた
以上//
0051デフォルトの名無しさん
2006/09/21(木) 01:43:43>DATを示すURL(subject.xt or subback)の種類が把握できて無い
subject.txt か subback.html のどっちを使えばいいかという話?
実装のしやすさからsubject.txtになると思うけど
0052デフォルトの名無しさん
2006/09/21(木) 01:49:09いやそうじゃなくて、URLが欲しいんだ(´д`)
今の class Board の一部
class board{
public Initialize(HostName, BoardName)
public Update()
…
}
となってるけれど、このHostNameとBoardNameをURLから取り出すのも、
Lib2chの責任にさせてしまって
class board{
public Initialize(URL)
…
}
の様にしたいのです
threadのURLからhostnameとboardnameとdatnameを取り出すのはもうおkなんですが、
boardのURLの種類がよーわからんのです
0053デフォルトの名無しさん
2006/09/21(木) 01:51:02お礼わすれてたyo
thx!!
あと
> 実装のしやすさからsubject.txtになると思うけど
うん、一応 http://<hostname>:80/board/subject.txt にアクセスするようにしているぉ (^ω^)
0054デフォルトの名無しさん
2006/09/21(木) 02:09:03http://<A>/<B>/*
という文字列をURLに受け取ったら、<A>をHostNameに、<B>をBoardNameにするようにしますた
(´・ω・`) しかし2ch以外の鯖のURL渡されても気づかないがな
0055デフォルトの名無しさん
2006/09/21(木) 02:15:09こういうのをURLとして渡して、HostName と BoardName をゲット可能にするってことかぃ。
pc8.2ch.net/tech/
ttp://pc8.2ch.net/test/read.cgi/tech/1158349550/l50
http://pc8.2ch.net/test/read.cgi?bbs=tech&key=1158349550&ls=50
>しかし2ch以外の鯖のURL渡されても気づかないがな
>>・ダウンロード後に適切なイベントを発生させる
ダウンロードに失敗のイベントが発生。
必要なエラー処理を行なって、
その後は巡回を継続できるような感じじゃまいか。
0056デフォルトの名無しさん
2006/09/21(木) 02:19:51> こういうのをURLとして渡して、HostName と BoardName をゲット可能にするってことかぃ。
そうそうそうでつ
”そういう”のをどうやって判断するかが迷いどころなんですよね
> >しかし2ch以外の鯖のURL渡されても気づかないがな
> >>・ダウンロード後に適切なイベントを発生させる
> ダウンロードに失敗のイベントが発生。
> 必要なエラー処理を行なって、
したりするといいかもしれませんが、
その責任をLib2chに押し付けてしまっていいのかどうかと悩み申しております
基本的にLib2chにはバカなダウンローダ役を与えているので、高機能に成ればなるほど扱いにくくなります ←仕様が無いので手探りなので
さて…組み込むか
0057デフォルトの名無しさん
2006/09/21(木) 04:33:47それとなく対応しますた
で、
小さな問題発生
HTMLエンコード(エスケープ?)をプレーンテキストにするのマンドクセ
ライブラリ落ちてないかなーと散策中
MSXMLはアテにならん
なければ自力か…
0058デフォルトの名無しさん
2006/09/21(木) 04:37:54ttp://www.kanzaki.com/docs/html/htminfo15.html
把握
00591 ◆qRy0pp8F66
2006/09/21(木) 04:39:04(´・ω・)無意味だけどトリつけてみたよー
00601 ◆qRy0pp8F66
2006/09/21(木) 04:40:13¿
00611 ◆qRy0pp8F66
2006/09/21(木) 04:48:46…実体が表現できるものは表現して、表現できないものは実体参照のままにするか。
0062デフォルトの名無しさん
2006/09/25(月) 15:52:47いくらでも落ちてるYO!!と思ってちょっと覗いたら
どうやら仕様についての保証や確約のようなものが欲しいってことか
まあな、、あるに越したことはないんだけどな、2ちゃんだしな、、、。
0063デフォルトの名無しさん
2006/09/25(月) 21:42:33抜き打ちの実装変更は専ブラ苛めだな
0064デフォルトの名無しさん
2006/09/28(木) 21:28:500065デフォルトの名無しさん
2006/10/02(月) 22:31:58これどうするのよ?
0066デフォルトの名無しさん
2006/10/02(月) 23:57:270067デフォルトの名無しさん
2006/10/03(火) 11:12:45DATの番号だけ参照してあとはブラウザと同じように
CGI経由で取得だよん
■ このスレッドは過去ログ倉庫に格納されています