美文网首页
爬虫笔记三

爬虫笔记三

作者: wonkey | 来源:发表于2018-07-12 15:39 被阅读0次

scrapy是一个非常好用的爬虫框架,它的中间件设计使得框架非常灵活,以twisted框架为基础,为我们提供了异步爬取,过滤,去重,异常处理,日志打印等功能。

scrapy由以下几个部分组成:

引擎:用来处理整个系统的数据流

调度器(scheduler):维护处理由待爬页面url构成的队列。接收引擎发送的请求,传入队列,决定下一个爬取的网址是什么,同时对网址去重。

下载器:下载网页内容

爬虫(spiders):用于解析网页,从中提取自己需要的信息。

项目管道(pipeline):处理爬虫从网页中提取的信息,对信息持久化。

下载器中间件(downloader middlewares):处理引擎和下载器之间的请求和响应,可以在这里做定制化扩展,代理就可以在这里设置。

常用的scrapy 命令:

scrapy shell url: 进入scrapy命令行,在这里调试

scrapy start project: 新建一个project项目,生成基础代码

scrapy list:该目录下有哪些spider

scrapy crawl spider: 相应的spider爬虫开始爬取

scrapy非常灵活,配置在settings.py里面,可以设置下载中间件,user-agent,并发数量,延迟时间等。

原生scrapy不支持分布式爬取,scrapy-redis改写了scrapy项目中的相应组件,从而利用redis数据库实现了分布式爬虫。

redis是一个内存数据库,获取数据效率很高。

用redis存放队列,取代了scrapy中原生的deque。换了队列,相应的也实现了自己的调度器。

相关文章

网友评论

      本文标题:爬虫笔记三

      本文链接:https://www.haomeiwen.com/subject/jylrpftx.html