推广 热搜: page  关键词  数据分析  服务  数据分析系统  搜索  获取  哪些  链接  搜索引擎 

手把手带你入门Python爬虫Scrapy

   日期:2024-12-30     作者:iyz7x    caijiyuan   评论:0    移动:https://sicmodule.kub2b.com/mobile/news/13081.html
核心提示:导读:Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。可以应用在包括数据挖掘,信息处理或存储历史数据等一系

导读:Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。

作者 / 来源:无量测试之道

01 Scrapy工作流程是怎么样的

下图是从网络上找的一张Scrapy的工作流程图,并且标注了相应的中文说明信息:

02 Scrapy框架的六大组件

它们分别是:

03 工作流程如下

Step1. 当爬虫(Spider)要爬取某URL地址的页面时,使用该URL初始化Request对象提交给引擎(Scrapy Engine),并设置回调函数,Spider中初始的Request是通过调用start_requests() 来获取的。start_requests() 读取start_urls 中的URL,并以parse为回调函数生成Request 。

备注:你所创建的项目名.py 文件里面有一个列表:start_urls=[‘http://lab.scrapyd.cn/page/1/‘] (这是我的示例),这里的start_requests() 读取的start_urls 就是来自于这里,这个文件在大家创建爬虫项目时会自动新建。parse()这个回调函数也是自动创建的。只是简单的定义了一下,如下所示:

Step2. Request对象进入调度器(Scheduler) 按某种算法进行排队,之后的每个时刻调度器将其出列,送往下载器。

备注:Scheduler的作用就是对请求的调度,包括过滤,请求的入队和出队操作。

Step3. 下载器(Downloader)根据Request对象中的URL地址发送一次HTTP请求到网络服务器把资源下载下来,并封装成应答包(Response)。

备注:相当于就是将获取的页面资源数据信息转化为Response实例,以便传递给Spider 的Parse() 函数继续处理。

Step4. 应答包Response对象最终会被递送给爬虫(Spider)的页面解析函数进行处理。

备注:这个页面解析函数就是步骤一里面提到的parse() 函数,它是创建项目时自动生成的。

Step5. 若是解析出实体(Item),则交给实体管道(Item Pipeline)进行进一步的处理。

由Spider返回的Item将被存到数据库(由某些Item Pipeline处理)或使用Feed exports存入到文件中。

备注:实体(Item) 实际上就是指我们要获取的数据

Step6. 若是解析出的是链接(URL),则把URL交给调度器(Scheduler)等待抓取。

备注:这里有一种循环调用的感觉,解析的item如果是url就重复整个工作流程。

04 如何安装与简单使用

1. 安装就很简单了,一条命令搞定

检验是否安装成功:进入python3 的命令行,输入import scrapy 如果没有报错就表示安装成功了。

2. 简单使用说明

Step1. 开始创建一个Scrapy 项目,我这里以爬取lab为示例

Step2. 定义提取的Item

Step3. 编写解析Parse函数

Step4. 编写Pipeline 来提取Item数据

最终提取到文件的结果如下图所示:

总结

本文地址:https://sicmodule.kub2b.com/news/13081.html     企库往 https://sicmodule.kub2b.com/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

 
 
更多>同类最新资讯
0相关评论

文章列表
相关文章
最新动态
推荐图文
最新资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号