收藏 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被封了,还不影响效率。


推荐阅读
  • 25 2019-03
    利用代理IP工具刷票安全吗?

    网络上有各种投票活动,其中有些人可能会进行刷票,这破坏平衡的行为必然是不允许的,这样看来,哪些人利用代理IP工具刷票安全吗?

  • 20 2019-06
    换IP软件价格不能决定质量情况

    换IP软件价格不能决定质量情况,也就是说物美价廉是存在的,但不是所有产品都是这样,就看你大浪淘沙,是否能淘到了。

  • 10 2019-07
    动态IP和静态IP线路的区别

    动态IP和静态IP线路的区别,估计许多人都不太清楚的。其实静态IP一般应用于服务器专线,动态IP一般应用于家庭宽带,那么我们使用什么样的ip线路好呢?这可以看我们的项目需要的,比如挂

  • 15 2018-11
    用静态IP好还是动态IP好?价格、定位、稳定性大比拼

    IP有静态IP与动态IP之分,通常家庭使用的通常是动态IP,但是很多都觉都家庭网络并不好用,而家庭使用的是自动获取的动态IP,是不是使用静态IP会更好呢?

  • 12 2019-03
    如何提高网络推广的有效性?改变IP软件至关重要

    如今网络时代,大到国有企业,小型私营小企业都已经开始做网络推广。但是,许多营销模式不再适用于网络时代,为了更好地进行网络推广,我们需要使用一些辅助的工具来优化营销的效果。

  • 30 2019-01
    上网怎么设置代理ip隐藏自己ip

    我们平时上网,大家有没有发现,如果我们近段时间内经常看某个产品,你就会发现搜索引擎会自动推荐类似的产品给你。就比如,经常刷抖音,看到做菜的视频会关注,这下好了,刷到的大半