码迷,mamicode.com
首页 > 其他好文 > 详细

pyspider最佳实践

时间:2019-10-06 09:42:07      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:order   border   conf   minutes   active   基本   调用次数   ESS   alt   

pyspider是好东西,非常稳定,很久很久以前架了一个,心冷了一段时间,但人家尽忠职守地持续运行,一直在抓取东西。

 

结合chrome,抓取代码简直不要太好写,没想到,最头大的,还是它的调度。明明感觉没问题的,就是不运行。在这个上面花的时间,比页面解析的要多。所以,把近期的学习心得记录下来:

 

第一、控制台的含义。rate/burst控制并发和速度基本不用管。progress现实近期调用次数可以参考一下。我用得最多的是左上角的Recent Active Tasks,可以查看究竟运行了几个爬虫任务(对应self.crawl)

技术图片

 

第二、几个重要控制设置。@every(minutes=24*60)是指的运行间隔。@config(age=300)指的页面周期(单位秒),周期范围内将不执行抓取。

第三、我的需求,是对一些固定页面(已经存在库中了)进行定时检查,解析出链接,已经入库的老链接忽略,新链接入库。所以,不采用默认的start页面进入总页面,解析出一组分页面链接,再分别调用分页面的方式。而直接在start中启动所有分页面,分页面设置有效期,定期自动重新获取。而start每天重入一次,保证链接活动即可。如下:

技术图片

pyspider最佳实践

标签:order   border   conf   minutes   active   基本   调用次数   ESS   alt   

原文地址:https://www.cnblogs.com/jetz/p/11626473.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!