这段时间给公司做全站爬虫。一开始在公司框架内开发,耗费了大量的时间,仍然效果不好——因为受限于框架本身的逻辑,难以实现复杂的业务。

后来,转向了scrapy,并将几个关键的服务,比如链接过滤、列表页识别和过滤,做成单独的模块或者服务。

虽然现在效果仍然不理想,但已经是一个可用、可调优的框架,在几个关键环节,都实现了脱耦合,可以轻易的扩展。一些常用代码,也通过scrapy 得到了充分的复用。

剩下的任务是

  1. 进一步提高列表页的识别效率,可以考虑使用splash配合CNN的方法。

  2. 判断页面活跃度目前使用的方法速度太慢,还是要考虑重写。

  3. 任务队列的伪随机机制也还没有完成

在目前的框架下,这些都已经是可以期待的目标。

但仍有一些更艰巨的任务,比如实现框架的可伸缩性,需要向docker迁移;更精细的监控和控制,需要hadoop化。这些可能都需要在scrapy-cluster下进行。


PETCoder亚洲善待程序猿组织
225 声望33 粉丝

Sorry, but I have to leave.-Weibo


引用和评论

0 条评论