【Scrapy框架三】编写第一个能爬取数据的爬虫简单demo

系列文章目录

上一篇:【Scrapy框架一】初步认识爬虫框架



前言

经过第一章和第二章的学习,对爬虫有了基本认识,这一篇总结了第一个爬虫demo的详细编写过程,重点还是通过代码理解爬虫运行原理。


一、爬虫项目创建

第一篇已经介绍过如何创建爬虫项目了,这里直接给出命令:
创建爬虫项目
scrapy startproject scrapy_demo
生成一个爬虫
scrapy genspider spider1 https://www.xxx.com
爬虫目录结构
爬虫目录结构

二、编写爬虫代码

经过学习,主要就是搞清楚爬虫是怎么通过items.py, spider1.py, pipelines.py, middlewares.py, settings.py这几个文件配合运行起来的。直接给出一个demo样例图,然后详细说明每一步的作用。
demo样例图

结合上图说明如下:

0、写一个爬虫之前,我们需要搞清楚,我们要爬取网站的哪些数据?这是很重要的一步,这一步是在items.py中进行字段定义的。看图即可。

1、然后指明我们要爬取的链接,这就是在spider1.py中定义的,引擎会将链接请求经过调度器做做去重工作,然后将请求发送给下载中间件,中间件里会对请求做一些特定操作。

2、中间件处理完请求之后,把响应返回给爬虫的parse()函数,parse()函数里就可以解析响应了,把我们想要的数据解析出来,无论是用xpath还是bs4,这儿是我们的一个主战场。数据解析出来后封装成item,记得要返回。注意上图中用到了yield返回,yield会一个一个item返回给pipeline文件,而不是收集所有的item,然后一股脑传递给pipeline,节省了很大的内存空间。

3、第2点中yield会把获取的一个一个item实例返回给pipelines.py管道文件,管道文件的作用是用来保存数据的呀~,除了图中的写入文件,还能写入到数据库中。

4、这一步不能少,需要在settings.py中把用到的中间件、pipeline配置生效,这个爬虫才能正常运行起来。

5、运行爬虫scrapy crawl spider1,保存数据

也可以通过Python脚本运行爬虫,不用在cmd命令窗口执行命令。
在这里插入图片描述

代码参考:爬虫demo


总结

从代码角度熟悉了爬虫的运行原理,还需要多加练习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值