您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
Python之Scrapy框架的安装和使用
 
   次浏览      
 2019-7-10
 
编辑推荐:
本文来自于csdn,文章主要介绍了Scrapy框架是什么,以及Scrapy如何进行安装和使用的详细操作,希望对您能有所帮助。

Scrapy框架是目前Python中最受欢迎的爬虫框架之一,那么我们今天就来具体了解一下Scrapy框架

什么是Scrapy框架

Scrapy是一个快速、高层次、轻量级的屏幕抓取和web抓取的python爬虫框架

Scrapy的用途:

Scrapy用途非常广泛,主要用于抓取特定web站点的信息并从中提取特定结构的数据,除此之外,还可用于数据挖掘、监测、自动化测试、信息处理和历史片段(历史记录)打包等

了解完Scrapy框架后,我们就来看看怎么安装和使用吧

安装Scrapy

安装方法有两种:

1. 如果你电脑上有Anaconda的话,可以使用这种方法

windows+r >>> cmd >>> conda install scrapy >>> 回车

2.第二种方法使用pip安装,不过你需要先下载Twisted插件

下载地址:https://www.lfd.uci.edu/~gohlke /pythonlibs/#twisted

(1)点击下载地址,进入后按 ctrl+f ,搜索twisted,然后下载对应版本

cp27:表示python2.7版本 cp36:表示python3.6版本

win32:表示Windows32位操作系统

(2)下载完成后进入终端,输入pip installTwisted-18.7.0-cp36-cp36m-win32.whl

Twisted-18.7.0-cp36-cp36m-win32.whl:文件名(你下载哪个文件就输入哪个文件的文件名,要输入全部路径)

安装完成后再输入pip install scrapy,回车

检测scrapy安装是否成功:在终端输入scrapy,出现以下内容就代表安装成功

Scrapy用法

安装完成后,就来看看如何使用scrapy框架吧

需要注意的是:scrapy的所有命令都是在windows的终端里完成的

1.Scrapy可以执行的命令

在终端中输入 scrapy,可以查看所有可执行的命令,现在我们来具体看一下这些命令

bench:性能测试

fetch:读取源代码

genspider:生成爬虫文件

runspider:运行爬虫文件

settings:爬虫设置

shell:终端操作

startproject:创建项目

version:查看版本

以上这些命令只要我们安装scrapy就可以执行

但是,以下几种命令需要我们创建具体的py文件之后才能执行,如何创建py文件请参考下文

check:检查代码是否出错

crawl:运行一个爬虫

edit:编辑爬虫

list:列出有效的爬虫

parse:解析url并打印出结果

2.创建一个scrapy框架,这是所有操作的前提

(1)在编译器(这里以PyCharm为例)里创建一个文件,文件名就命名为Scrapy吧

(2)创建scrapy框架之前,首先要确保把框架创建在我们刚刚新建的文件夹Scrapy中

打开计算机终端:输入cd 后面跟一个空格 然后把你新建的Scrapy文件直接拖拽进终端里

cd:change directory 修改位置到指定文件夹中

第一行是命令,第二行是结果

(3)创建scrapy框架,在终端中输入:scrapy startproject Demo

scrapy startproject:表示要执行创建一个新项目的命令 Demo:项目名,可以自定义命名

命令执行完成后,我们回到PyCharm中,可以看到Scrapy文件自动出现了许多新的文件

这里来解释一下各个文件的作用:

items.py:定义爬虫程序的数据模型

middlewares.py:定义数据模型中的中间件

pipelines.py:管道文件,负责对爬虫返回数据的处理

settings.py:爬虫程序设置,主要是一些优先级设置,优先级越高,值越小

scrapy.cfg:内容为scrapy的基础配置

这里我们要改一下settings.py里的内容:

(1)打开文件,找到代码的第22行,把 ROBOTSTXT_OBEY=True 改为 False,这行代码表示是否遵循爬虫协议,如果是Ture的可能有些内容无法爬取

(2)将第67到69行代码解注释,并把300改为1,这是优先级设置

至此,一个scrapy框架已经初步创建成功了。

现在,我们来具体了解一下scrapy框架是如何构成和如何运行的。

Scrapy框架图 绿色是数据流向

(注:以下图片来源于网络)

Scrapy Engine:引擎,处理整个框架的数据流

Scheduler:调度器,接收引擎发过来的请求,将其排至队列中,当引擎再次请求时返回

Downloader:下载器,下载所有引擎发送的请求,并将获取的源代码返回给引擎,之后由引擎交给爬虫处理

Spiders:爬虫,接收并处理所有引擎发送过来的源代码,从中分析并提取item字段所需要的数据,并将需要跟进的url提交给引擎,再次进入调度器

Item Pipeline:管道,负责处理从爬虫中获取的Item,并进行后期处理

Downloader Middlewares:下载中间件,可以理解为自定义扩展下载功能的组件

Spider Middlewares:Spider中间件,自定义扩展和操作引擎与爬虫之间通信的功能组件

Scrapy数据处理流程:

1. 当需要打开一个域名时,爬虫开始获取第一个url,并返回给引擎

2.引擎把url作为一个请求交给调度器

3.引擎再次对调度器发出请求,并接收上一次让调度器处理的请求

4.引擎将请求交给下载器

5.下载器下载完成后,作为响应返回给引擎

6.引擎把响应交给爬虫,爬虫开始进一步处理,处理完成后有两个数据,一个是需要跟进的url,另一个是获取到的item数据,然后把结果返回给引擎

7.引擎把需要跟进的url给调度器,把获取的item数据给管道

8.然后从第2步开始循环,知道获取信息完毕。只有调度器中没有任何请求时,程序才会停止

3.Scrapy的具体操作

(1)我们要在spiders文件夹中创建爬虫程序,但是现在的当前文件是Scrapy,所以我们要先改变当前文件位置至spiders中

方法同上,在终端中输入:cd 后面加一个空格 然后把spiders文件拖过去回车即可

(2)开始创建爬虫文件,这里的域名以百度为例

在终端中输入:scrapy genspider baidu_spider baidu.com 其中:baidu_spider 是文件名,可以自定义,但是不能与项目名一样

回车后会在spiders文件夹下创建一个baidu_spider.py文件,之后所有的操作都会在这个文件中的def parse中执行

baidu_spider.py文件内容:

当创建py文件成功后,我们再次输入命令:scrapy 会发现多了check,crawl,edit,list,parse这5个方法,具体作用请参考上文

(3)补全url并打印结果,因为scrapy会自动爬虫,所以我们只需要输出结果就行了

在终端中输入:scrapy crawl baidu_spider

如果成功会出现目标url的网页源码

今天关于Scrapy的讲解就到这里了,关于如何用Scrapy获取具体的数据之后我会继续讲解。

 
   
次浏览       
相关文章

手机软件测试用例设计实践
手机客户端UI测试分析
iPhone消息推送机制实现与探讨
Android手机开发(一)
相关文档

Android_UI官方设计教程
手机开发平台介绍
android拍照及上传功能
Android讲义智能手机开发
相关课程

Android高级移动应用程序
Android系统开发
Android应用开发
手机软件测试