scrapy基础操作教程(实例)

scrapy教程

我通过一个爬取百度贴吧hello吧页面源码的简单爬虫来讲解

Scrapy架构(5+2结构)

Scrapy Engine(引擎):负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。
Scheduler(调度器):它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,交还给引擎。
Downloader(下载器):负责下载Scrapy Engine(引擎)发送的所有Requests请求,并将其获取到的Responses交还给Scrapy Engine(引擎),由引擎交给Spider来处理。
Spider(爬虫):它负责处理所有Responses,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给引擎,再次进入Scheduler(调度器)。
Item Pipeline(管道):它负责处理Spider中获取到的Item,并进行进行后期处理(详细分析、过滤、存储等)的地方。
Downloader Middlewares(下载中间件):一个可以自定义扩展下载功能的组件。
Spider Middlewares(Spider中间件):一个可以自定扩展和操作引擎和Spider中间通信的功能组件。
在这里插入图片描述

一、安装scrapy

1.通过pip安装

pip install scrapy

二、创建工程

Scrapy 常用命令
在这里插入图片描述
步骤1:
自己指定一个目录下创建一个新工程,输入命令行
比如在E盘根目录下创建
在根目录下Shift+右键,打开PS窗口
输入命令行

scrapy startproject hello

当出现下面反应证明成功建立工程(我建立了一个hello工程)
在这里插入图片描述
步骤2:(该步骤也可以手工完成,这里就不说了)
在工程中产生一个scrapy爬虫
首先进入工程目录,继续输入命令行

cd hello

在这里插入图片描述
然后在执行如下命令(生成一个名称为baidutieba的spider):

scrapy genspider baidutieba baidu.com

在这里插入图片描述
生成的baidutieba.py文件在hello文件里的spiders目录下

三、爬取百度hello吧页面源码实例编写

打开baidutieba.py文件进行编写爬取代码:
改写成如下代码
在这里插入图片描述
然后保存。
最后 再用PS窗口命令行输入

scrapy crawl baidutieba

即如下图所示:
在这里插入图片描述
回车运行,最后会在hello目录下生成一个hello.txt的文件,里面就是百度贴吧hello吧页面的网页源码。
在这里插入图片描述

到此本次scrapy基础操作教程结束了

上一篇文章———>高响应比优先调度算法(HRRN)例题详解
下一篇文章———>正则表达式详解

发布了14 篇原创文章 · 获赞 16 · 访问量 499

猜你喜欢

转载自blog.csdn.net/weixin_43347550/article/details/105142790