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

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

系列文章目录

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


文章目录
  • 系列文章目录
  • 前言
  • 一、爬虫项目创建
  • 二、编写爬虫代码
  • 总结


前言

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


一、爬虫项目创建

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

二、编写爬虫代码

经过学习,主要就是搞清楚爬虫是怎么通过items.py, spider1.py, pipelines.py, middlewares.py, settings.py这几个文件配合运行起来的。直接给出一个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,保存数据

代码参考:爬虫demo


总结

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/718488.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存