您的位置:首页 > 新闻资讯 >文章内容
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框架也有一定的认识了,目前来说,这个框架还是比较实用的,是一种比较常用的框架之一。


相关文章内容简介
推荐阅读
  • 26 2020-01
    代理ip对网络营销的帮助

    目前社会当中推出了高质量代理ip,他有很多用处,可以服务于我们平时的工作,无论是对于家庭网络还是对于工作环境当中的网络,都可以改善网络环境,提高网速,同时增加安全系数。

  • 29 2019-11
    什么样的IP适合拿来爬虫?

    网络爬虫对于大数据工作者来说非常熟悉,互联网细分到各个行业,每个行业对于数据的需求都是不一样的。庞大的数据需求,爬虫工作如果没有代理IP,那么是非常难开展的。

  • 14 2019-05
    国内高匿名HTTP代理IP

    国内高匿名HTTP代理IP从哪里找,租用价格怎样?质量怎样?大数据时代背景下,应用到代理IP的行业越来越多,大家对代理IP的要求也越来越高,面对市场中良莠不齐的众多商家。

  • 02 2019-07
    普通代理IP可用率怎样?

    普通代理IP可用率怎样?真的好便宜,很多商家都提供了,但是质量怎样?这IP都能用吗?

  • 19 2019-04
    免费代理IP的抓取步骤分析

    免费代理IP的抓取步骤分析是怎样的?我们所要爬取或者访问的网站通过都有设置了反爬虫机制,比如使用同一个IP频繁的请求网页的次数过多的时候,服务器由于反爬虫机制的指令从而选择拒

  • 12 2019-05
    更换IP地址隐藏IP信息的软件

    更换IP地址隐藏IP信息的软件介绍!现在互联网走进了每家每户,电脑和手机更是不用说。很多人都会在日常生活中收到陌生用户发来的网址或者是一些陌生信息。这些陌生信息中一边都存在着

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

大客户经理微信

微信公众号

微信公众号

回到顶部