作者LPH66 (-858993460)
看板java
標題Re: 關於bbs自動載文的機器人
時間Tue Sep 13 10:04:10 2011
原因應該是出在 PTT 在輸出文字時有做輸出量最佳化
當利用移位碼或 Tab 可以省去傳輸量時就會輸出移位碼或 Tab
以你附上的檔案裡的一行 Programming 版為例
注意到你抓到的資料中這行版標之後立刻接上一個 ANSI escape sequence
接著後面就是人氣值和版主
有些版也在一些空白之後接有 ANSI escape sequence
因為版標的長度空間有 34 個字 (版主只能設到 31 字 不過那和這問題無關就算了)
在 "Programming" 11 字之後的 23 個字都是空白
如果原畫面上就是 23 個空白的話那直接輸出一個移位碼 *[23C 會比較省輸出
(23 bytes vs 5 bytes)
你或許也注意到有的行開頭的序號數字前面也有空白 有的沒有
這也是 PTT 的程式直接輸出移位碼移定位後輸出數字的關係
(說不定就是一個 *[11;5H 之類的)
你讀取的輸入就只是沒有把這一點考慮進去而已
要解決這個問題可能需要去模擬一個 telnet client
把 PTT 回傳的資料填進一個內部的 buffer 裡面
再從裡面去抓取你所需要的行數來分析
那這就要你去分析所輸出的移位碼並做相應移動填值才行
這工作不管用什麼來寫都要花一番功夫喔...
--
回一回貌似和這個版變得不太相干起來了 (汗)
--
実琴:「
河野!你真的就這樣被
物質慾望給吸引過去了嗎?!」
亨:「只要
穿著女裝擺出親切的樣子,所有必要花費就能
全免,似乎一點都不壞啊。」
実琴:「難道你沒有
男人的尊嚴了嗎?!」
亨:(斷然道)「
沒有。在
節衣縮食且
生活吃緊的
學生面前,
沒有那種東西。」
--プリンセス・プリンセス 第二話
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.230.62
→ Favonia:如果有函式庫可能就可以省下功夫了(?) 09/13 13:28
推 raichuchuchu:樓上,等你寫函式庫 09/14 21:03
推 LaPass:函式庫! 函式庫! (敲碗) 09/15 12:24
推 transwrap:這一塊在bbs reader裡面還算小段~ 09/19 16:43