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


推荐阅读
  • 08 2019-08
    单机单IP被封号,代理IP还能防封吗?

    单机单IP被封号,代理IP还能防封吗?很多人都说,游戏公司封号无非就是IP检测,硬件检测,行为检测,还有用辅助检测到的等等。其实,如果是那种检测很牛逼的游戏(例如网易),虽然利润

  • 08 2019-11
    用了高匿代理IP​爬虫还被封?

    用了高匿代理IP​爬虫还被封?我们都知道代理ip在匿名度上有许多分类,知道透明代理、普通匿名代理在隐藏IP上作用不大,使用后被封还是原因的,但是使用高匿代理IP后,还是被封IP,这是怎

  • 16 2019-02
    正向代理和反向代理的区别

    说到代理服务器,了解的人可不少,有些人可能会经常用到代理服务器访问网络获取资源。而提取正向代理和反向代理,知道的人就比较少了,也高不清楚什么原理,有什么作用的。下面小编为

  • 01 2020-01
    选择使用代理ip的好处?

    大家都说用了代理ip能够帮助到我们的生活,可是具体代理IP的好处体现在哪些方面呢?下面我们一起来看看。

  • 18 2019-01
    动态IP一般有什么用?如何获取动态IP?

    也许大家不知道,其实IP地址分为静态IP与动态IP,二者是相对应的。所谓动态是指每次上网时,运营商会随机分配一个IP地址,静态指固定不变分配一个IP地址给你。通俗来说,静态IP是分配给设

  • 21 2019-09
    怎么检测代理ip​是否高匿?

    怎么检测代理ip​是否高匿?代理ip是不是高匿名,这是非常重要的,因为关乎我们是否能隐藏好本机IP地址,同时也影响工作的效率以及效果。一般购买收费的代理ip都是高匿代理,如果还是不放