没有合适的资源?快使用搜索试试~ 我知道了~
Python入门教程-网络爬虫Scrapy框架
需积分: 0 126 浏览量
2023-01-23
20:11:12
上传
评论
收藏 2.3MB PDF 举报
温馨提示
内容概要:Scrapy是适用于Python的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy 是用 Python 实现的一个为了爬取网站数据、提取结构性数据而编写的应用框架。Scrapy 常应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。 教程框架:主要从以下几个章节进行讲解,1. Scrapy简介,2. Scrapy安装,3. Scrapy框架,4. Scrapy抓取流程,5. Scrapy多页面爬取。 适用对象:掌握Python基本语法,Python网络爬虫初学者。 能学到什么:简单通过 Scrapy 框架实现一个爬虫,抓取指定网站的内容或图片。
资源推荐
资源详情
资源评论






















Scrapy入门教程
Scrapy 功能非常强大,爬取效率高,相关扩展组件多,可配置和可扩展程度非常高,它几乎可以
应对所有反爬网站,是目前 Python 中使用最广泛的爬虫框架。本教程主要从以下几个章节进行讲解:
1. Scrapy简介
2. Scrapy安装
3. Scrapy框架
4. Scrapy抓取流程
5. Scrapy多页面爬取
一、Scrapy简介
Scrapy是适用于Python的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中
提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。
Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫
的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。
Scrapy 是用 Python 实现的一个为了爬取网站数据、提取结构性数据而编写的应用框架。
Scrapy 常应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。
通常我们可以很简单的通过 Scrapy 框架实现一个爬虫,抓取指定网站的内容或图片。
二、Scrapy安装
Scrapy 是一个十分强大的爬虫框架 ,依赖的库比较多 ,至少需要依赖的库有 Twisted、lxml和
pyOpenSSL。 在不同的平台环境下,它所依赖的库也各不相同,所以在安装之前,最好确保把一些基
本库安装好。本节就来介绍 Scrapy在不同windows平台下的安装方法 。
2.1安装Scrapy依赖库
在Windows环境下,如果你的 Python 不是使用 Anaconda 安装的,可以参考如下方式来一步步安装
Scrapy。
2.1.1安装lxml

lxml是 Python的一个解析库,支持 HTML 和 XML 的解析,支持 XPath 解析方式,而且解析效率非常
高。
相关链接:
官方网站:http://lxml.de
GitHub: https://github.com/lxml/lxml
PyPI:https://pypi.python.org/pypi/lxml
在Windows下,打开cmd命令控制窗口,直接执行如下命令即可:
如果没有任何报锚,则证明安装成功。
如果出现报错,比如提示缺少libxml2库等信息,可以采用wheel方式安装。
推荐直接到这里(链接为:http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml )下载对应的 wheel文
件,找到本地安装 Python 版本和系统对应的lxml版本,例如 Windows 64 位、 Python3.6,就选lxml-
3.8.0-cp36-cp36m-win_amd64.whl,将其下载到本地。然后打开cmd命令窗口,进入wheel所在文件
目录下,利用pip安装即可,命令如下:
这样我们就可以成功安装 lxml 了。
2.1.2安装pyOpenSSL
在官方网站下载wheel文件(https://pypi.python.org/pypi/pyOpenSSL#downloads),打开cmd命令
控制窗口,进入wheel所在文件目录下,利用pip安装即可:
2.1.3安装pyOpenSSL
在官方网站下载wheel文件(https://www.lfd.uci.edu/~gohlke/pythonlibs/#pywin32),比如对于
Python 3.6 版本、 Windows64 位系统,则当前最新版本为pywin32-227-cp36-cp36m-
win_amd64.whl,直接下载,利用pip安装即可(同上)。
验证安装。安装完成之后,可以在cmd中输入以下命令进行验证:
2.2安装Scrapy库
安装好了以上的依赖库后,安装 Scrapy 就非常简单了,这里依然使用 pip ,命令如下:
验证安装。安装完成之后,可以在cmd中输入以下命令进行验证:
pip install lxml 1
pip install lxml 3.8.0-cp36-cp36m-win_amd64.whl 1
pip install pyOpenSSL-17.2.0-py2.py3-none-any.whl 1
pip install pywin32-227-cp36-cp36m-win_amd64.whl 1
where python # 进入python
pip list # 查看库安装列表中,列表中存在上述库,则说明安装成功
1
2
pip install Scrapy1

三、Scrapy框架
Scrapy 是一个基于 Twisted 的异步处理框架,是纯Python实现的爬虫框架,其架构清晰, 榄块之间的
耦合程度低,可扩展性极强,可以灵活完成各种需求。我们只需要定制开发几个模块就可以轻松实现一
个爬虫。
接下来,主要介绍一下Scrapy框架、数据流以及项目结构。
3.1框架结构
首先我们看看Scrapy框架的架构,如下图所示。
!3.1Scrapy框架图](E:\Python\02scrapy爬虫教程\图片\3.1Scrapy框架图.JPG)
它可以分为如下的几个部分。
1. Engine(引擎)。 处理整个系统的数据流处理、触发事务,是整个框架的核心。
2. Item(项目)。它定义了爬取结果的数据结构,爬取的数据会被赋值成该Item对象。
3. Scheduler(调度器)。接受引擎发过来的请求并将其加入队列中,在引擎再次请求的时候将请求
提供给引擎。
4. Downloader(下载器)。下载网页内容,并将网页内容返回给蜘蛛。
5. Spiders(爬虫)。其内定义了爬取的逻辑和网页的解析规则 ,它主要负责解析响应并生成提取结
果和新的请求。
6. Item Pipeline(项目管道)。负责处理由爬虫从网页中抽取的项目,它的主要任务是清洗、验证
和存储数据。
7. Downloader Middlewares(下载器中间件) 。位于引擎和下载器之间的钩子框架,主要处理引
擎与下载器之间的请求及响应。
8. Spider Middlewares(爬虫中间件)。位于引擎和爬虫之间的钩子框架,主要处理爬虫输入的响
应和输出的结果及新的请求。
where python # 进入python
pip list # 查看库安装列表中,列表中存在scrapy库,则说明安装成功
1
2

3.2数据流
Scrapy中的数据流由引擎控制,scrapy的所有组件工作流程如下图。
1. Engine首先打开一个网站,找到处理该网站的 Spider ,并向该 Spider 请求第一个要爬取的
URL。
2. Engine从 Spider中获取到第一个要爬取的 URL ,并通过Scheduler以 Request的形式调度。
3. Engine向Scheduler请求下一个要爬取的 URL。
4. Scheduler 返回下一个要爬取的 URL 给 Engine, Engine将 URL 通过Downloader Middlewares转
发给 Downloader下载。
5. 一旦页面下载完毕, Downloader生成该页面的Response ,并将其通过 Downloader
Middlewares 发送给 Engine。
6. Engine从下载器中接收到Response,并将其通过 Spider Middlewares发送给 Spider处理。
7. Spider处理 Response ,并返回爬取到的 Item 及新的 Request给 Engine。
8. Engine 将Spider返回的Item 给Item Pipeline,将新的Request给Scheduler。
剩余17页未读,继续阅读
资源评论


喃语时光
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制
