看板 Python 關於我們 聯絡資訊
各位先進大家好~ 小弟是Python初學者 最近想用telnetlib來做一個PTT的自動爬文程式 參考了官方文件,跟一些以前做過類似需求的文章 可是還是遇到了一些瓶頸想來請問各位 先附上我的Code tn = telnetlib.Telnet('ptt.cc') tn.expect(['請輸入代號']) tn.write('Account\r\n') tn.expect(['請輸入您的密碼']) tn.write('Password\r\n') print '登入完成' tn.expect(['您想刪除其他重複登入的連線嗎'], 10) print '有其他重複的連線,刪除!' tn.write('y\r\n') print '主功能表' tn.expect(['呼叫器'], 10) tn.write('sgossiping\r\n') #登入八卦版 進入八卦板之後我就卡住了,不知道該怎麼繼續做下去 有幾點問題想請教: 1.tn.expect(['呼叫器'], 10)這行 我不知道怎麼判斷一個頁面結尾的pattern,所以找了畫面最右下角的東西來塞 這種方式感覺很奇怪,有別的方式嗎? 2.進入八卦板之後我想搜尋全部的爆文,然後抓回來, 可是我如果用-tn.write("Z100\r\n")資料會出在很詭異的地方,不是頭也不是尾  而且文章也不是爆的,這是為什麼? 3.用tn.expect出來的字串很雜亂,裡面包含控制碼跟一堆空格,有高手可以 提點一下這個該怎麼處理嗎? 4.進入文章要捲動到底部把整篇抓完,這個我完全沒有頭緒.... 以上~有沒有做過BBS爬蟲的人能夠給我一些建議呢? 萬分感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.61.193.162
kdjf:2,ptt只能Z99吧? 03/27 21:25
eric541:但是我手動操作Z100是可搜尋爆文的? 03/27 22:27
ming1053:你需要參考 vt100 的 spec 03/28 18:47
ming1053:BBS不會更新全部的畫面 例如按下 只更新附近的行數 03/28 18:47
ming1053:你需要自己 simulate 一個畫面 根據控制碼更新畫面 03/28 18:48
eric541:謝謝m大指教 03/28 21:28
buganini:http://0rz.tw/y3hxT 03/29 13:12
kdjf:我都是送一個ctrl+L,讓ptt幫我重畫 03/29 22:19