scrapy爬虫: https:www.scrapy.org
本篇博客依托的项目: https://github.com/viciousstar/BitcointalkSpider/
scrapy本身提供了很好用的交互式调试命令,可以方便调试爬虫的各种功能。
在爬取 https://bitsharestalk.org 的时候,发现网站会为每一个url增加一个sessionid属性,可能是为了标记用户访问历史,而且这个seesionid随着每次访问都会动态变化,这就为爬虫的去重处理(即标记已经爬取过的网站)和提取规则增加了难度。
比如https://bitsharestalk.org/index.php?board=5.0 会变成 https://bitsharestalk.org/index.phpPHPSESSID=9771d42640ab3c89eb77e8bd9e220b53&board=5.0,下面介绍集中处理方法
link_filtering()函数对url进行了处理,过滤掉了sessid,关于Rule类的process_links函数和links类,官方文档中并没有给出介绍,给出一个参考 https://groups.google.com/forum/#!topic/scrapy-users/RHGtm_2GO1M(也许需要梯子,你懂得)
如果你是自己实现的爬虫,那么url的处理更是可定制的,只需要自己处理一下就可以了。
2. 通用方法,修改scrapy的去重策略,直接用自己的算法替代内置算法。或者编写自己的scheduler中间件,这一部分笔者没有亲自实现,应该是版本更新,
scrapy这方面有改动,读者可以自行探索。参考连接: http://blog.pluskid.org/?p=381
浏览器会在table标签下添加tbody
使用下载器中间件即可,详情参考代码吧。(有时间详细补充)
ps: 吐槽一下排版,博客排版一直没找到什么好的工具,只能在网页版排了,不知道各位能不能推荐一下 -_-||, 拒绝任何形式的转载。
新闻热点
疑难解答