收藏 400-998-9776 转2 服务时间 周一至周日 9:00-23:00 注意:本站不提供境外服务
您的位置:首页 >文章内容
公认好用的Scrapy爬虫框架
来源:互联网 作者:admin 时间:2019-02-22 16:57:16

    学习python爬虫,都会了解到Scrapy爬虫框架,比较单个爬虫是没有什么效果的,使用Scrapy爬虫框架可以大大的提高抓取效率。下面跟小编去认识下Scrapy爬虫框架,学会了Scrapy爬虫框架,可以爬取大量的数据,节省时间,能够更早的出效果。


    Scrapy是一个使用Python编程语言编写的爬虫框架,任何人都可以根据自己的需求进行修改,并且使用起来非常的方便。它可以应用在数据采集、数据挖掘、网络异常用户检测、存储数据等方面。


    Scrapy使用了Twisted异步网络库来处理网络通讯,整体架构大致如下图所示。


    由上图可知Scrapy爬虫框架主要由5个部分组成,分别是:Scrapy Engine(Scrapy引擎),Scheduler(调度器),Downloader(下载器),Spiders(蜘蛛),Item Pipeline(项目管道)。爬取过程是Scrapy引擎发送请求,之后调度器把初始URL交给下载器,然后下载器向服务器发送服务请求,得到响应后将下载的网页内容交与蜘蛛来处理,尔后蜘蛛会对网页进行详细的解析。


    蜘蛛分析的结果有两种:一种是得到新的URL,之后再次请求调度器,开始进行新一轮的爬取,不断的重复上述过程;另一种是得到所需的数据,之后会转交给项目管道继续处理。项目管道负责数据的清洗、验证、过滤、去重和存储等后期处理,最后由Pipeline输出到文件中,或者存入数据库等。


    建立爬虫项目文件:


    基于scrapy爬虫框架,只需在命令行中输入“scrapy startproject article”命令,之后一个名为article的爬虫项目将自动创建。首先进入到article文件夹下,输入命令“cd article”,之后通过“dir”查看目录,也可以通过“tree /f”生成文件目录的树形结构,如下图所示,可以很清晰的看到Scrapy创建命令生成的文件。


公认好用的Scrapy爬虫框架


    顶层的article文件夹是项目名,第二层中包含的是一个与项目名同名的文件夹article和一个文件scrapy.cfg,这个与项目同名的文件夹article是一个模块,所有的项目代码都在这个模块内添加,而scrapy.cfg文件是整个Scrapy项目的配置文件。第三层中有5个文件和一个文件夹,其中__init__.py是个空文件,作用是将其上级目录变成一个模块;items.py是定义储对象的文件,决定爬取哪些项目;middlewares.py文件是中间件,一般不用进行修改,主要负责相关组件之间的请求与响应;pipelines.py是管道文件,决定爬取后的数据如何进行处理和存储;settings.py是项目的设置文件,设置项目管道数据的处理方法、爬虫频率、表名等;spiders文件夹中放置的是爬虫主体文件(用于实现爬虫逻辑)和一个__init__.py空文件。


    之后开始进行网页结构与数据分析、修改Items.py文件、编写hangyunSpider.py文件、修改pipelines.py文件、修改settings.py文件,这些步骤的具体操作后期会文章专门展开,在此不再赘述。


公认好用的Scrapy爬虫框架


    执行爬虫程序:


    修改上述四个文件之后,在Windows命令符窗口中输入cmd 命令进入到爬虫所在的路径,并执行“scrapy crawl article”命令,这样就可以运行爬虫程序了,最后保存数据到本地磁盘上。


    自从我们互联网发展起来之后,数据越来越多,人工处理效率太慢了,因此爬虫采集非常之受欢迎,Scrapy爬虫框架的使用,大大提高了效率。当然在使用Scrapy爬虫框架过程中,也是需要使用代理IP的,比如代理精灵,否则加快采集容易导致IP被封,也是行不通的,但是配合代理IP使用,效果好,再合理控制下抓取时间,就能避免IP被封了,还不影响效率。


推荐阅读
  • 11 2019-11
    代理ip​有什么用?

    代理ip​有什么用?网络工作者经常会遇到一个词代理ip,很多人对代理ip还是一知半解或者是没有听说过。基于互联网的发展,我们应该对代理ip有足够深的认知和了解,才能在以后的工作和活动

  • 19 2019-09
    代理IP如何保证爬虫稳定运行?

    代理IP如何保证爬虫稳定运行?使用爬虫代理IP​的最佳方案是用智连代理动态VPS在服务器上维护一个IP池,这样才能更有效的保障爬虫工作的高效稳定持久的运行,那么如何通过代理IP保证爬虫程

  • 30 2019-10
    为什么爬虫采集要用代理ip​?

    为什么爬虫采集要用代理ip​?大数据时代,我们需要海量的信息去帮助我们分析市场、分析用户,因此在爬虫抓取数据的时候,就容易出现IP受限问题。有的网站也会采取防爬取技术,当我们采

  • 06 2020-01
    代理ip常用于网络爬虫

    现在ip代理服务按照隐匿程度,可以分为3种,普通代理跟透明代理是比较多人使用的,因为价格方面也比较低,而高匿代理因价格较高,只有比较专业的场景会使用到。

  • 19 2019-09
    为什么爬虫需要http代理IP​?

    为什么爬虫需要http代理IP​?在很多需要进行爬虫采集的情况下,代理IP都是不可或缺的,如果没有了足够的代理IP爬虫几乎不可能成功抓取到任何数据,为了做爬虫都需要用到代理IP呢?下面就为

  • 19 2020-03
    网络ip修改器的使用范围很广阔

    网络ip修改器对于一般人来说可能是比较陌生的,因为大家觉得自己好像没什么必要换ip,但是其实现在代理ip的使用是非常普及的。

您好,当前有客服在线,请问有什么需要咨询的吗?