欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-28 19:33:53
...

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

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

 

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

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

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

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

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

 

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

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

 

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)

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

 

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

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

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

 

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

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

 

三、Scrapy 框架的简单使用

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

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

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

 

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

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

 

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

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

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

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

 

简单说明,文件的作用:

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

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

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

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

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

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

 

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

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

 

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

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

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

 

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

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

 

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

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

 

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

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

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

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

 

 

四、Scrapy 框架流程说明

1、Scrapy 框架流程图

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

Scrapy 框架相关说明:

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

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

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

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

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

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

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

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

 

2、Scrapy数据处理流程:

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

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

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

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

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

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

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

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

 

五、Scrapy 终端相关的命令

1、终端命令图

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

 

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