Re: 關於bbs自動載文的機器人
※ [本文轉錄自 Python 看板 #1ERfNlv1 ]
作者: walao81 (Male) 看板: Python
標題: Re: 關於bbs自動載文的機器人
時間: Tue Sep 13 07:29:49 2011
簡單的整理一下我的問題:
我寫了一個bbs client來取資料,取回來的資料打算用 readline 讀取一行之後,
用 split() 來切割每個欄位,然後根據位置判斷這是什麼資料,資料長相如下:
3 ˇOversea_Job 工作 ●海外工作版 11 duer/yearue/OA
4 ˇSoft_Job 工作 ◎軟體工作。分享/詢問 20 TonyQ
^ ^ ^ ^ ^
ID 名稱 分類 次分類 版主
但是看起來似乎行不通,會有莫名的斷行,舉例:
10 ˇHomeTeach 家教 ●板規多看 水桶少點 請勿盧解水桶 28 kurosaki1986
11 ˇshare 娛樂 ●[雪兒] 快來對統一發票 (後面換行了)
6 onlysnoopyOD
(^ 換行我就趴了)
因此realine之後再切割資料行不通,但是我沒找出一個共通的規則來分析資料欄位,
用空白來切割也行不通,因為版標空格的數量不一定。
因此我的推斷為,ptt的換行符號與一般系統的 \n 或 \r\n 不一樣,應該有特定的
protocol 讓 telnet 或 pcman 可以正常顯示。
有大大有相關的經驗嗎?
※ 引述《walao81 (Male)》之銘言:
: 話說很久很久之前呢,我也寫過類似的東西(JAVA),那個時候沒找到太多資料,
: 於是我用了另外一個方法去抓 protocol. 寫一個 proxy,然後telnet 這個 proxy 連上
: ptt, 這個proxy 會把所有出去的 protocol 都寫進檔案,然後手動把這些protocol 重組
: 一下就可以變成 bbs 機器人 XD。 不過後來遇到 parse 資料的問題就擺爛了。
: 順便請問一下大家,Ptt 回來的資料有些有換行符號,有些沒有,但是 pcman 或
: telnet 就處理得好好的, 是不是我遺漏了什麼協定?
: ※ 引述《wfgh (lyle)》之銘言:
: : 我也在嘗試使用這個東西想抓取bbs的資料
: : 但是還是不懂如何下手
: : 回傳的東西(字串)該怎麼存下來呢?
: : 我把以下程式碼執行之後
: : 畫面上是會出現平常我們剛登入ptt的一些訊息
: : 但再來我就不知道該怎麼做了
: : 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 115.132.71.167
→
09/13 07:54,
09/13 07:54
→
09/13 07:54,
09/13 07:54
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 115.132.71.167
→
09/13 07:56, , 1F
09/13 07:56, 1F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):