Loading...
网友提供的内容

关于饭否消息打包下载的限制以及对于饭否分享功能的建议

真是多事之秋。也罢,莫谈国是。说一说饭否得了。

今天与饭否的官方沟通过饭否服务器的限制问题。起因是,本人正在写的饭否应用程序,是①,通过抓取饭否页面;②,使用正则表达式解析所需要内容实现的。最近在读取饭否页面的过程中, 发现读取一定数量的fanfou页面之后,就无法登录fanfou了。今天得到的答复是,在10分钟内抓取不得超过100页。这个确定的答案让我很满意。我不是说,10分钟100页是多是少,而是说,有定量的标准可以参考时,觉得更加有把握。

既然10分钟100页,折合每6秒1页。这个数字还是有些保守。因为我每10秒读取1页连续抓100页时,仍然会被封IP。现在我每下载1页,就sleep(15),居然可以长时间下载。替一位朋友下载了所有的饭否公信和分享,合计300多页,这个过程很顺畅,当然,也很漫长。鉴于饭否消息的特点,第一次抓取的时间,是无法快起来的。但是,一旦第一次已经把之前所有的消息下载过后,再次下载就会很快,只需“同步”一下即可,只下载最新消息,而无需重新下载全部消息。这样就能在本地完整保留所有的饭否消息,从而进行诸如查询、导出、统计之类的操作。

在没有得到饭否官方提供的最大负载数据之前,我是这样变通操作的:被封IP后重启一下ADSL猫,一分钟后即可再次登录饭否。原因是ADSL会重新获得随机IP。当然,现在可以合理地设置抓取间隔,不被封锁,才是更好的选择。

关于打包下载饭否消息的方法,其实不止使用专用程序一条途径。还见过使用其它工具(使用迅雷等批量下载网页,再使用textforever之类的工具析取的。对于这样饭友,我想和您握手。因为,咱们的思路是一样的,都是先下载,再析取。只不过使用的工具不同而已。

本人写的新版抓饭程序何时公布?对不起,暂缓。如果您对脚本感兴趣,我可以把脚本发给您,并告诉您怎么使用。完整的程序需要更长一段时间,包括脚本的完善、数据库操作、界面的更新……等等等等。

打包下载分享的数据库版本还没写出来,原因同上。

对于饭否分享,我有以下2条建议:

  1. 建议“已经删除”和“不公开”这两个属性分开。在批量删除时容易误伤不说,不公开的还有公开的可能,万一原消息主人再度公开,还可以再次下载。
    难度:低。
  2. 建议在分享中加入digg思想。这个意见,拂汗提过一次。我觉得很好。发布一条消息后,每当有人分享一次,该消息的digg计数就++,删除分享一次,该消息的digg计数就–。一个人的popularity权重与所有digg计数来挂钩,从而激励大家多发有意义的言论。同时,该digg计数也给想要删除该消息的主人以参考:当想删除时,会有提示:“该消息已被N个人分享,您真的要删除吗?”
    难度:较高。因为需要涉及原有表的alert操作,手术较大。再加上原有分享消息是否重新计算,等等。

站内评论

  • 暂无评论
  • 评论: