Python 工具 之 Scrapy 环境搭建(Twisted插件下载安装),以及 Scrapy 框架的简单使用说明
Python 工具 之 Scrapy 环境搭建(Twisted插件下载安装),以及 Scrapy 框架的简单使用说明
目录
Python 工具 之 Scrapy 环境搭建(Twisted插件下载安装),以及 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,如下图
1、创建第一个 Scrapy 工程,切换到要创建工程的文件夹(便于文件管理),如下图
2、创建scrapy框架,在 cmd 终端中输入: scrapy startproject Study_Demo (Study_Demo 时工程名)
4、在spiders文件夹中创建爬虫程序,在终端中,切换文件夹到 spiders 下,如下图
5、创建爬虫文件,在终端中输入:scrapy genspider baidu_spider baidu.com,如下图
7、打开 baidu_spider.py,进行代码编辑,如下图
8、在cmd 终端输入 scrapy crawl baidu_spider,执行爬取工作,如下图
一、简单介绍
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并打印出结果
六、参考资料
下一篇: 为何php解析后会出现换行