这是一个强大,但又轻量级的分布式爬虫框架。jlitespider 天生具有分布式的特点,各个 worker 之间需要通过一个或者多个消息队列来连接。消息队列我的选择是 rabbitmq。worker 和消息之间可以是一对一,一对多,多对一或多对多的关系,这些都可以自由而又简单地配置。消息队列中存储的消息分为四种:url,页面源码,解析后的结果以及自定义的消息。同样的,worker 的工作也分为四部分:下载页面,解析页面,数据持久化和自定义的操作。 用户只需要在配置文件中,规定好 worker 和消息队列之间的关系。接着在代码中,定义好 worker 的四部分工作。即可完成爬虫的编写。