您的位置:首页 > 新闻资讯 >文章内容
Python爬虫框架--scrapy的运行和优缺点
来源:互联网 作者:admin 时间:2019-04-08 17:00:00

  我们编写爬虫是可以使用框架的,使用了框架写爬虫会更加容易些,不过前提是我们熟悉这个框架,清楚其优缺点,这样运用起来也事半功倍的。今天就跟小编去了解下scrapy这个爬虫框架的运行方式以及优缺点的。


  scrapy是如何运行的?


  从start_urls里获取第一批url并发送请求,请求由引擎交给调度器入请求队列,获取完毕后,调度器将请求队列里的请求交给下载器去获取请求对应的响应资源,并将响应交给自己编写的解析方法做提取处理:


  1.如果提取出需要的数据,则交给管道文件处理;


  2.如果提取出url,则继续执行之前的步骤(发送url请求,并由引擎将请求交给调度器入队列...),直到请求队列里没有请求,程序结束。


Python爬虫框架--scrapy的运行和优缺点


  Scrapy优缺点有哪些?


  优点:scrapy是异步的,采取可读性更强的xpath代替正则,有强大的统计和log系统,能同时在不同的url上爬行,而且支持shell方式,方便独立调试。写middleware,方便写一些统一的过滤器,通过管道的方式存入数据库。


  缺点:基于python的爬虫框架,扩展性比较差;基于twisted框架,运行中的exception是不会干掉reactor,并且异步框架出错后是不会停掉其他任务的,数据出错后难以察觉。


  scrapy-redis代表什么意思?


  机灵代理的代理服务器工程师表示,scrapy是一个Python爬虫框架,爬取效率极高,具有高度定制性,但是不支持分布式。而scrapy-redis一套基于redis数据库、运行在scrapy框架之上的组件,可以让scrapy支持分布式策略,Slaver端共享Master端redis数据库里的item队列、请求队列和请求指纹集合。


  为什么选择redis数据库?因为redis支持主从同步,而且数据都是缓存在内存中的,所以基于redis的分布式爬虫,对请求和数据的高频读取效率非常高。


  scrapy和request有什么不同?


  scrapy是封装起来的框架,他包含了下载器,解析器,日志及异常处理,基于多线程,twisted的方式处理,对于固定单个网站的爬取开发,有优势,但是对于多网站爬取100个网站,并发及分布式处理方面,不够灵活,不便调整与括展。


  request是一个HTTP库,它只是用来,进行请求,对于HTTP请求,他是一个强大的库,下载,解析全部自己处理,灵活性更高,高并发与分布式部署也非常灵活,对于功能可以更好实现。


  以上就是关于Python爬虫框架scrapy的运行和优缺点介绍了,通过上文,大家对于这个scrapy框架也有一定的认识了,目前来说,这个框架还是比较实用的,是一种比较常用的框架之一。


相关文章内容简介
推荐阅读
  • 18 2019-11
    短效代理IP的实用性

    通过浏览代理IP的网站,我们可以发现有很多类型的代理IP存在。今天我们来看看那么多种类型,为什么要短效代理IP的使用率是比较高的呢?

  • 04 2019-06
    多IP使用可以用代理IP

    多IP使用可以用代理IP,不然自己傻傻的手动换,不知道要换多久呢?

  • 12 2019-12
    选择代理ip软件​的注意事项!

    选择代理ip软件​的注意事项!随着网络营销手段的普及,很多营销人员在执行活动期间或者是日常推广宣传,都需要在网络平台上进行广告的发布。比如要在百度贴吧、百度知道、知乎、豆瓣等

  • 29 2019-11
    Scrapy框架中间件代理IP设置教程

    Scrapy框架中间件如何设置user agent以及配置代理IP进行伪装?下面我们一起来看看机灵代理带来的教程介绍,看看这两个步骤分别是如何实现的。

  • 27 2019-09
    代理IP分析代理服务器路由

    代理服务器是怎么起到作用的?它跟普通服务器有区别吗?大家都可以帮助用户实现对网络的访问。那么下面,代理IP与你一同探讨代理服务器存在的路由问题,更进一步认识代理服务器。

  • 15 2019-10
    http代理对网络工作者的帮助

    互联网时代,诞生了很多新兴的职业,像是之前没有的电商、微商等。现在,很多人都转行加入到这个领域里,如果想要在这方面实现更快获利,那么我们就需要使用一些工具来帮助,比如代理

在线咨询
大客户经理
大客户经理
1829380381
13316264505

大客户经理微信

微信公众号

微信公众号

回到顶部