这段时间给公司做全站爬虫。一开始在公司框架内开发,耗费了大量的时间,仍然效果不好——因为受限于框架本身的逻辑,难以实现复杂的业务。
后来,转向了scrapy,并将几个关键的服务,比如链接过滤、列表页识别和过滤,做成单独的模块或者服务。
虽然现在效果仍然不理想,但已经是一个可用、可调优的框架,在几个关键环节,都实现了脱耦合,可以轻易的扩展。一些常用代码,也通过scrapy 得到了充分的复用。
剩下的任务是
进一步提高列表页的识别效率,可以考虑使用
splash
配合CNN的方法。判断页面活跃度目前使用的方法速度太慢,还是要考虑重写。
任务队列的伪随机机制也还没有完成
在目前的框架下,这些都已经是可以期待的目标。
但仍有一些更艰巨的任务,比如实现框架的可伸缩性,需要向docker
迁移;更精细的监控和控制,需要hadoop
化。这些可能都需要在scrapy-cluster
下进行。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。