scrapy框架写的第一个程序

一。学习scrapy框架

scrapy框架的学习,我们用一个实列来初步学习scrapy框架,框架的作用等等、。。。。。。。。。大家如果不知道可以百度
学习建议:
学习不等于ctrl+c
本篇文章不会提供源代码,大家可以按照我的思路去学习
其次就是不要轻易放弃

创建一个项目,开始爬取”好听轻音乐”里面的歌曲名字与作者保存在本地

scrapy框架写的第一个程序
打开命令窗口之后我们输入
scrapy startproject mysider

scrapy框架写的第一个程序
创建项目之后会自动生成一个文件夹
scrapy框架写的第一个程序
我们简单的介绍一下这些文件是干啥的
scrapy框架写的第一个程序
打开mysider
scrapy框架写的第一个程序

1。spiders文件夹里面有一个__init__.py 这里面我们用来写爬虫
2。_ init.py 不能删除,虽然什么都没有但是不能删除
3。items.py 项目的目标文件,简单来说就是我们项目最后想要爬取到什么东西就写在这里面
4。middlewares.py 这个是中间件
5。pipelines.py 管道文件
6。settings.py 设置文件

第一步我们先把想要爬取的东西写入到项目目标(items.py)中去

scrapy框架写的第一个程序

; 标题第二部:写爬虫,我们在mspider中打开命令提示窗口,

scrapy框架写的第一个程序
scrapy框架写的第一个程序
scrapy框架写的第一个程序
我们用sublime这个软件打开
scrapy框架写的第一个程序
我们在musicSpider.py中写爬虫的时候不需要去写请求之类的,系统会自动帮我们完成

第三部 启动爬虫

在这下面打开cmd(命令提示符)

scrapy框架写的第一个程序
在命令行中输入
scrapy框架写的第一个程序
scrapy框架写的第一个程序

scrapy框架写的第一个程序
这里如果是第一次去做这个项目的同学肯定会遇到一些问题,大家不懂的就可以去百度,如果输出不了最后的music.html,大家可以配置一下在settings.py中配置 user-header,Referer,具体的我们后面讲,现在可以先去百度。。

; 接下来我们就可以开始我们的数据清洗

scrapy框架写的第一个程序
在这里我们又可以引入一个新的内容 yield 关键字
在以前我们的描写过程中我们是先把所有的内容都获取出来之后在一起传递出去,这样我们的效率就会变得很满
我们使用yield关键字可以得到一个值就传递一个值。
这里面的it 的这个值会传递到我们的管道文件中(pipelines.py)

scrapy框架写的第一个程序

scrapy框架写的第一个程序

scrapy框架写的第一个程序
scrapy框架写的第一个程序
scrapy框架写的第一个程序
scrapy框架写的第一个程序
scrapy框架写的第一个程序
这样我们一个简单的数据清洗就完成了

; 自动下一页继续查询

我们上面的一个实列只可以指定查询第一页而不可以查询第二页
其实这个换页查询也很简单,下面我们就可以描述一下我们的思路

  1. 我们在进行下一页的时候只需要知道下一的URL就可以了,而我们根据 网页中的下一页可以知道
  2. 第一页的地址是:http://www.htqyy.com/top/musicList/hot?pageIndex=0&pageSize=20
    第二页的地址是:http://www.htqyy.com/top/musicList/hot?pageIndex=1&pageSize=20
    第三页的地址是:http://www.htqyy.com/top/musicList/hot?pageIndex=2&pageSize=20
  3. 根据地址的规律我们可以得出地址中 只有 pageindex=”” 这里面的值在改变
  4. 我们只需要先获取到url
  5. 然后用正则表达式获取到pageindex=””中的值加一就可以在构造下一页的URL了
  6. 用一个if来判断pageindex=””里面的值我们就知道我们获取的是多少页的值
  7. 最后 用yield关键字传递:scrapy.Request(我们创建的url,callback=self.parse)

scrapy框架写的第一个程序
之后我们在用cmd 执行scrapy crawl musicSpider 之后我们就可以得到music.text里面就保存了10页的歌曲名字和作者

Original: https://blog.csdn.net/weixin_45864972/article/details/119778239
Author: RJN。。。
Title: scrapy框架写的第一个程序

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/792466/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球