(6)分布式下的爬虫Scrapy应该如何做-关于打断点Debug的那些事儿

举报
~大鱼~ 发表于 2021/05/28 02:22:17 2021/05/28
【摘要】    写完了一个爬虫,最重要的就是测试,然后各种Debug,下面我用三种方式来介绍我总结出来的Debug,由浅入深的深入里面的细节部分。   初级的Debug   一般来说,当选中了一个页面,最重要的逻辑一般都包含在xpath表达式里面,所以,在这里我们可以直接scrapy shell的方式来去验证我的xpath是否正确。  ...

   写完了一个爬虫,最重要的就是测试,然后各种Debug,下面我用三种方式来介绍我总结出来的Debug,由浅入深的深入里面的细节部分。

 

初级的Debug

 

一般来说,当选中了一个页面,最重要的逻辑一般都包含在xpath表达式里面,所以,在这里我们可以直接scrapy shell的方式来去验证我的xpath是否正确。

 

打开CDM命令:scrapy shell http://www.cnblogs.com/ 

 

《(6)分布式下的爬虫Scrapy应该如何做-关于打断点Debug的那些事儿》

 

这里我们可以很清晰的看到scrapy shell 已经拿到返回的html,这个时候我们输入自己的xpath,就可以拿到我们想要拿到的内容,关于scrapy shell的更多详细Detail,请参考官方的文档:

 http://doc.scrapy.org/en/latest/topics/commands.html

 

 

中级的Debug

 

如果我表达式正确,想深入验证我们的爬虫的逻辑部分是否正确,那这个时候我们可以这种方式,打log,相信各位部署到生产线的程序都应该了解,这个时候在程序的部分调用自身的logger方法就可以了。

《(6)分布式下的爬虫Scrapy应该如何做-关于打断点Debug的那些事儿》

 

当我们用scrapy crawl spider的时候,这些日志就会记录在日志中,你可以保存日志文件方便你的查看。

 

高级的debug

 

  那有没有一种方法是可以很方便的监控变量信息的呢?这样可以很方便的单步到我想要的地方,也可以很方便的了解整个的流程是怎样的运行的。答案是有的,先上一下我在debug时的图:

《(6)分布式下的爬虫Scrapy应该如何做-关于打断点Debug的那些事儿》

 

准备安装pycharm,

然后在项目的根文件夹(与scrapy.cfg文件同级)夹下加入main.py这样的一个文件:

《(6)分布式下的爬虫Scrapy应该如何做-关于打断点Debug的那些事儿》

然后配置好debug的环境:

《(6)分布式下的爬虫Scrapy应该如何做-关于打断点Debug的那些事儿》

 

OK,现在点击Debug按键:

《(6)分布式下的爬虫Scrapy应该如何做-关于打断点Debug的那些事儿》

 

OK,打好断点,然后自己愉快的debug去吧。

文章来源: brucedone.com,作者:大鱼的鱼塘,版权归原作者所有,如需转载,请联系作者。

原文链接:brucedone.com/archives/101

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。