(6)分布式下的爬虫Scrapy应该如何做-关于打断点Debug的那些事儿
写完了一个爬虫,最重要的就是测试,然后各种Debug,下面我用三种方式来介绍我总结出来的Debug,由浅入深的深入里面的细节部分。
初级的Debug
一般来说,当选中了一个页面,最重要的逻辑一般都包含在xpath表达式里面,所以,在这里我们可以直接scrapy shell的方式来去验证我的xpath是否正确。
打开CDM命令:scrapy shellhttp://www.cnblogs.com/
这里我们可以很清晰的看到scrapy shell 已经拿到返回的html,这个时候我们输入自己的xpath,就可以拿到我们想要拿到的内容,关于scrapy shell的更多详细Detail,请参考官方的文档:
http://doc.scrapy.org/en/latest/topics/commands.html
中级的Debug
如果我表达式正确,想深入验证我们的爬虫的逻辑部分是否正确,那这个时候我们可以这种方式,打log,相信各位部署到生产线的程序都应该了解,这个时候在程序的部分调用自身的logger方法就可以了。
当我们用scrapy crawl spider的时候,这些日志就会记录在日志中,你可以保存日志文件方便你的查看。
高级的debug
那有没有一种方法是可以很方便的监控变量信息的呢?这样可以很方便的单步到我想要的地方,也可以很方便的了解整个的流程是怎样的运行的。答案是有的,先上一下我在debug时的图:
准备安装pycharm,
然后在项目的根文件夹(与scrapy.cfg文件同级)夹下加入main.py这样的一个文件:
然后配置好debug的环境:
OK,现在点击Debug按键:
OK,打好断点,然后自己愉快的debug去吧。
- 原文作者:大鱼
- 原文链接:https://brucedone.com/archives/101/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. 进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。