您的位置:首页 > 新闻资讯 >文章内容
认识Scrapy爬虫框架,采用Scrapy提高效率
来源:互联网 作者:admin 时间:2019-02-04 09:10:00

    虽然各个网站的反爬虫都不少,并进行了各种的限制,比如访问频率限制,这大大影响了网络爬虫的效率,让爬虫不能按时完成任务,这该怎么好?


    小编介绍大家认识Scrapy爬虫框架,采用Scrapy提高效率,下面先来看看在没有爬虫框架的时候我们是如何抓取页面信息的。一个常见的例子是使用HttpClient包或者Jsoup来处理,对于一个简单的小爬虫而言这足够了。


    一、认识Scrapy爬虫框架的组成


    1、网页下载器


    在前面的简单例子中可以看出,如果没有网页下载器,用户就要编写网络请求的处理代码,这无疑对每个URL都是相同的动作。所以在框架设计中我们直接加入它就好了,至于使用什么库来进行下载都是可以的,你可以用httpclient也可以用okhttp,在本文中我们使用一个超轻量级的网络请求库oh-my-request(没错,就是在下搞的)。优秀的框架设计会将这个下载组件置为可替换,提供默认的即可。


认识Scrapy爬虫框架,采用Scrapy提高效率


    2、URL管理器


    爬虫框架要处理很多的URL,我们需要设计一个队列存储所有要处理的URL,这种先进先出的数据结构非常符合这个需求。将所有要下载的URL存储在待处理队列中,每次下载会取出一个,队列中就会少一个。我们知道有些URL的下载会有反爬虫策略,所以针对这些请求需要做一些特殊的设置,进而可以对URL进行封装抽出Request。


    3、网页解析器


    我们知道当一个页面下载完成后就是一段HTML的DOM字符串表示,但还需要提取出真正需要的数据,以前的做法是通过String的API或者正则表达式的方式在DOM中搜寻,这样是很麻烦的,框架应该提供一种合理、常用、方便的方式来帮助用户完成提取数据这件事儿。常用的手段是通过xpath或者css选择器从DOM中进行提取,而且学习这项技能在几乎所有的爬虫框架中都是适用的。


    4、爬虫调度器


    调度器和我们在开发web应用中的控制器是一个类似的概念,它用于在下载器、解析器之间做流转处理。解析器可以解析到更多的URL发送给调度器,调度器再次的传输给下载器,这样就会让各个组件有条不紊的进行工作。


    5、数据处理器


    普通的爬虫程序中是把网页解析器和数据处理器合在一起的,解析到数据后马上处理。在一个标准化的爬虫程序中,他们应该是各司其职的,我们先通过解析器将需要的数据解析出来,可能是封装成对象。然后传递给数据处理器,处理器接收到数据后可能是存储到数据库,也可能通过接口发送给老王。


    二、爬虫执行流程图


认识Scrapy爬虫框架,采用Scrapy提高效率


    首先,引擎从调度器中取出一个链接(URL)用于接下来的抓取。


    引擎把URL封装成一个请求(Request)传给下载器,下载器把资源下载下来,并封装成应答包(Response)。


    然后,爬虫解析Response。


    若是解析出实体(Item),则交给实体管道进行进一步的处理。


    若是解析出的是链接(URL),则把URL交给Scheduler等待抓取。


    因此,轻量级爬虫具有以下基本特性:


    易于定制:很多站点的下载频率、浏览器要求是不同的,爬虫框架需要提供此处扩展配置。


    多线程下载:当CPU核数多的时候多线程下载可以更快完成任务;支持XPath和CSS选择器解析。


    通常了解全文,我们可以知道认识Scrapy爬虫框架,采用Scrapy提高效率。在这里小编要提醒,在使用Scrapy过程中,也是需要使用代理IP的,主要是用于突破IP限制,能够实现多频率访问,比如使用代理精灵,千万IP库存,自动去重。


相关文章内容简介
推荐阅读
  • 12 2019-09
    用代理IP爬虫前 你必须懂的33个知识点(三)

    爬虫为什么要用代理IP?又是什么让爬虫变得常态化?如果你也在思考这些问题,那么机灵代理搜集了33个相关知识点就非常适合你了,如果你想要了解爬虫以及大数据的相关知识,用代理IP开展爬

  • 13 2019-08
    要查代理IP所属位置有两个难度

    电视上经常上演根据IP找到实际的位置,如果使用了代理IP,那么这代理IP所属位置可以查到吗?首先IP地址是可以查到所属的城市,至于能不能查到详细的位置,这就很难说了。

  • 25 2019-06
    物美价廉的国内代理IP

    物美价廉的国内代理IP,这不好找,真的。大家都想物美价廉,事实上很少有这种的,如果想找个性价比高些的,要尽量多对比几家的。

  • 03 2019-09
    代理IP对电商营销的作用

    无论做什么生意都离不开推广,如果是一些大型的企业,有足够的营销预算,那么就会选择投放广告去做曝光。但是一些中小型企业,手头上没有那么多的营销预算,又该如何打响营销战呢?或

  • 30 2019-03
    采集旅行路线分分钟的事,就让代理IP配合爬虫行动

    使用代理IP可以做很多的事情,用途广得不得了,如果配合爬虫使用,更是哪里都能去了。那么能不能进行旅行路线的收集分析呢?这当然是可以的了。我们一起去看看.

  • 24 2019-06
    动态IP代理都能用来做些什么

    动态IP代理都能用来做些什么?“动态IP”、“代理”可能大家都听过,不过合起来“动态IP代理”,可能还是有不少人不知道的,我们来看看动态IP代理都能用来做些什么,这样大家可以更快的

在线客服
大客户VIP渠道
点击这里给我发消息
讨论QQ群
HTTP代理IP爬虫
客服电话
13318873961