写完了一个爬虫,最重要的就是测试,然后各种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去吧。