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


推荐阅读
  • 13 2019-02
    网站排名要多久能起来?SEO怎么快速提升网站排名?

    做SEO的优点就是可以不花钱把排名做上去,如果能否把排名做到首页,那么这效果不比花钱投广告的效果差。这通过SEO获得的自然排名时间更加长,不像付费广告一停止花钱马上不见了。因此,

  • 31 2019-05
    代理IP伪装定位容易露马脚

    代理IP伪装定位容易露马脚,很多人都以为只要开启代理IP更换其他的IP地址,这样我们的定位就改变了,想定位哪里就定位哪里,这是个错误的认知。

  • 02 2019-09
    代理IP能让爬虫突破IP限制吗?

    代理IP能让爬虫突破IP限制吗?普通人对代理IP​可能不太了解,但是对于爬虫初学者来说,在用到网络爬虫频繁抓取相同网站时,常常会被网站的IP反爬虫机制给屏蔽掉,这时候就需要使用代理IP

  • 27 2019-08
    代理IP按用途可以分几类?

    代理IP按用途可以分几类?关于代理IP的分类我们知道按照信息安全性来分,可以分为透明代理、匿名代理和高匿名代理三类,除了按照安全性来分代理ip还可以按照用途来分类,那么代理IP​按用

  • 02 2019-08
    怎么用修改ip工具进行切换ip

    修改ip工具是用于在不同网络环境下快速切换ip地址等网络配置的软件工具。不过很多小伙伴因为玩游戏、浏览网页或者一些工作原因需要经常换ip地址,但是又不知该如何快速操作,现在教大家

  • 05 2019-05
    IP地址屡被禁言要如何解决?

    IP地址屡被禁言要如何解决?突然间就被提示禁言了,这是为什么呢?难道是触发了什么规则吗?现在是被禁言了,要怎么恢复呢?想要马上解决这个问题,大家有什么方法吗?