pyspider最佳实践
2024-09-01 18:42:34
pyspider是好东西,非常稳定,很久很久以前架了一个,心冷了一段时间,但人家尽忠职守地持续运行,一直在抓取东西。
结合chrome,抓取代码简直不要太好写,没想到,最头大的,还是它的调度。明明感觉没问题的,就是不运行。在这个上面花的时间,比页面解析的要多。所以,把近期的学习心得记录下来:
第一、控制台的含义。rate/burst控制并发和速度基本不用管。progress现实近期调用次数可以参考一下。我用得最多的是左上角的Recent Active Tasks,可以查看究竟运行了几个爬虫任务(对应self.crawl)
第二、几个重要控制设置。@every(minutes=24*60)是指的运行间隔。@config(age=300)指的页面周期(单位秒),周期范围内将不执行抓取。
第三、我的需求,是对一些固定页面(已经存在库中了)进行定时检查,解析出链接,已经入库的老链接忽略,新链接入库。所以,不采用默认的start页面进入总页面,解析出一组分页面链接,再分别调用分页面的方式。而直接在start中启动所有分页面,分页面设置有效期,定期自动重新获取。而start每天重入一次,保证链接活动即可。如下:
补充一下,如果设定了重新刷新的间隔,那么——这个间隔很难修改,哪怕把服务器上pyspider关了,重开,还是原来的间隔。最后没办法,只能新建一个项目,把代码复制过去才ok!
最新文章
- linux命令-dd {拷贝并替换}
- Mac: Jdk版本切换
- Stanford机器学习---第五讲. 神经网络的学习 Neural Networks learning
- 如何调试lua脚本
- js时间日期转时间戳
- HDOJ-ACM Steps
- Keepalived脑裂
- C++指针和字符串
- POJ 1988 Cube Stacking 【带权并查集】
- maven工程强制更新 ,下载源码操作
- Centos配置iptables开放ftp服务
- Linux移植之auto.conf、autoconf.h、Mach-types.h的生成过程简析
- Hulu面试题
- Python 面试题学习
- [乱搞]hdu 6406 Taotao picks apples 笛卡尔树+倍增
- postcss gulp 安装使用
- iOS开发中如遇到频繁的Http请求,取消之前已经发送的Http
- Date、Calendar、Timestamp的区别与转换
- 谈谈contentWindow 和contentDocument以及 iframe
- 解决Storm 和yarn 8080 端口冲突