Python 工具 之 Scrapy 环境搭建(Twisted插件下载安装),以及 Scrapy 框架的简单使用说明

Python 工具 之 Scrapy 环境搭建(Twisted插件下载安装),以及 Scrapy 框架的简单使用说明

 

目录

Python 工具 之 Scrapy 环境搭建(Twisted插件下载安装),以及 Scrapy 框架的简单使用说明

一、简单介绍

二、使用 pip 命令安装 Scrapy

1、首先,需要先下载Twisted插件,点击下面网址,打开下载网页,如下图

2、进入网页按  ctrl+f (下方搜索栏)到达搜索栏,搜索 Twisted ,然后下载对应版本,如下图

3、下载好 Twisted 后,放到某个文件夹(便于文件夹管理),如下图

4、安装 Twisted,在cmd中输入全路径安装 pip install xxx\Twisted-19.10.0-cp38-cp38-win32.whl

5、安装Scrapy,在cmd终端输入 pip install scrapy ,开始安装 scrapy,如下图

 6、检验Scrapy是否安装成功,cmd终端中直接输入 Scrapy,有如下相关信息说明安装OK,如下图

三、Scrapy 框架的简单使用

1、创建第一个 Scrapy 工程,切换到要创建工程的文件夹(便于文件管理),如下图

2、创建scrapy框架,在 cmd 终端中输入: scrapy startproject Study_Demo (Study_Demo 时工程名)

3、同时,对应文件夹中也生成了对应相关文件,如下图

4、在spiders文件夹中创建爬虫程序,在终端中,切换文件夹到 spiders 下,如下图

5、创建爬虫文件,在终端中输入:scrapy genspider baidu_spider baidu.com,如下图

6、对应文件夹中生成了指定文件,如下图

7、打开 baidu_spider.py,进行代码编辑,如下图

8、在cmd 终端输入 scrapy crawl baidu_spider,执行爬取工作,如下图

四、Scrapy 框架流程说明

1、Scrapy 框架流程图

2、Scrapy数据处理流程:

五、Scrapy 终端相关的命令

1、终端命令图

2、命令相关说明

六、参考资料


 

 

一、简单介绍

Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。Python是一种解释型脚本语言,可以应用于以下领域: Web 和 Internet开发、科学计算和统计、人工智能、教育、桌面界面开发、软件开发、后端开发、网络爬虫。

Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量的代码,就能够快速的抓取

Scrapy 使用了 Twisted['twɪstɪd]异步网络框架,可以加快我们的下载速度。

 

二、使用 pip 命令安装 Scrapy

1、首先,需要先下载Twisted插件,点击下面网址,打开下载网页,如下图

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

 

2、进入网页按  ctrl+f (下方搜索栏)到达搜索栏,搜索 Twisted ,然后下载对应版本,如下图

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

( python 版本查询方式,在终端输入 python 即可,如下图

 

3、下载好 Twisted 后,放到某个文件夹(便于文件夹管理),如下图

 

4、安装 Twisted,在cmd中输入全路径安装 pip install xxx\Twisted-19.10.0-cp38-cp38-win32.whl

(例如:pip install D:\MyStudy\python\爬虫\Tools\Twisted-19.10.0-cp38-cp38-win32.whl)

 

5、安装Scrapy,在cmd终端输入 pip install scrapy ,开始安装 scrapy,如下图

 

 6、检验Scrapy是否安装成功,cmd终端中直接输入 Scrapy,有如下相关信息说明安装OK,如下图

 

三、Scrapy 框架的简单使用

1、创建第一个 Scrapy 工程,切换到要创建工程的文件夹(便于文件管理),如下图

 

2、创建scrapy框架,在 cmd 终端中输入: scrapy startproject Study_Demo (Study_Demo 时工程名)

 

3、同时,对应文件夹中也生成了对应相关文件,如下图

 

简单说明,文件的作用:

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

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

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

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

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

 

4、在spiders文件夹中创建爬虫程序,在终端中,切换文件夹到 spiders 下,如下图

 

5、创建爬虫文件,在终端中输入:scrapy genspider baidu_spider baidu.com,如下图

(其中:baidu_spider 是文件名,可以自定义,但是不能与项目名一样)

 

6、对应文件夹中生成了指定文件,如下图

 

7、打开 baidu_spider.py,进行代码编辑,如下图

 

8、在cmd 终端输入 scrapy crawl baidu_spider,执行爬取工作,如下图

注意:要改一下settings.py里的内容: 打开文件,找到代码的第22行,把 ROBOTSTXT_OBEY=True  改为  False,这行代码表示是否遵循爬虫协议,如果是Ture的可能有些内容无法爬取

 

 

四、Scrapy 框架流程说明

1、Scrapy 框架流程图

Scrapy 框架相关说明:

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

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

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

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

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

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

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

 

2、Scrapy数据处理流程:

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

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

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

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

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

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

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

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

 

五、Scrapy 终端相关的命令

1、终端命令图

 

2、命令相关说明

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

bench:性能测试

fetch:读取源代码

genspider:生成爬虫文件

runspider:运行爬虫文件

settings:爬虫设置

shell:终端操作

startproject:创建项目

version:查看版本

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

 

2)以下几种命令需要创建具体的py文件之后才能执行

check:检查代码是否出错

crawl:运行一个爬虫

edit:编辑爬虫

list:列出有效的爬虫

parse:解析url并打印出结果

 

 

六、参考资料

https://blog.csdn.net/qq_41646358/article/details/81335359

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仙魁XAN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值