作者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
2F:→ walao81:楼上为载到的资料 09/13 07:54