关于爬虫代码可测试性建议

代码可测试性是加快开发速度,保证交付质量的基本原则。在基于一些框架特定应用的时候,需要特别考虑可测试性问题。 本文介绍爬虫这种应用程序的可测试性思路。

爬虫程序都是基于python的scrapy框架开发,爬虫的通信与任务调度scrapy框架都已经实现了,爬虫开发者按照其规则来实现即可。对于爬虫开发者来说,主要实现逻辑是解析爬回来的内容从而得到想要的数据结构,那么这部分代码也是需要重点测试的。

从可测试性角度出发考虑,解析页面获取数据的代码实现建议独立开发,不与scrapy框架耦合;开发完成后通过抓取页面获得测试输入,执行测试。

具体可以参考一个实例,抓取wcaworld会员信息,代码托管在github

关注公众号获得更多云最佳实践