真是多事之秋。也罢,莫谈国是。说一说饭否得了。
今天与饭否的官方沟通过饭否服务器的限制问题。起因是,本人正在写的饭否应用程序,是①,通过抓取饭否页面;②,使用正则表达式解析所需要内容实现的。最近在读取饭否页面的过程中, 发现读取一定数量的fanfou页面之后,就无法登录fanfou了。今天得到的答复是,在10分钟内抓取不得超过100页。这个确定的答案让我很满意。我不是说,10分钟100页是多是少,而是说,有定量的标准可以参考时,觉得更加有把握。
既然10分钟100页,折合每6秒1页。这个数字还是有些保守。因为我每10秒读取1页连续抓100页时,仍然会被封IP。现在我每下载1页,就sleep(15),居然可以长时间下载。替一位朋友下载了所有的饭否公信和分享,合计300多页,这个过程很顺畅,当然,也很漫长。鉴于饭否消息的特点,第一次抓取的时间,是无法快起来的。但是,一旦第一次已经把之前所有的消息下载过后,再次下载就会很快,只需“同步”一下即可,只下载最新消息,而无需重新下载全部消息。这样就能在本地完整保留所有的饭否消息,从而进行诸如查询、导出、统计之类的操作。
在没有得到饭否官方提供的最大负载数据之前,我是这样变通操作的:被封IP后重启一下ADSL猫,一分钟后即可再次登录饭否。原因是ADSL会重新获得随机IP。当然,现在可以合理地设置抓取间隔,不被封锁,才是更好的选择。
关于打包下载饭否消息的方法,其实不止使用专用程序一条途径。还见过使用其它工具(使用迅雷等批量下载网页,再使用textforever之类的工具析取的。对于这样饭友,我想和您握手。因为,咱们的思路是一样的,都是先下载,再析取。只不过使用的工具不同而已。
本人写的新版抓饭程序何时公布?对不起,暂缓。如果您对脚本感兴趣,我可以把脚本发给您,并告诉您怎么使用。完整的程序需要更长一段时间,包括脚本的完善、数据库操作、界面的更新……等等等等。
打包下载分享的数据库版本还没写出来,原因同上。
对于饭否分享,我有以下2条建议:
