从零开发手机app之爬取数据
为了巩固python
学习,决定开发一个简单的音乐播放app
,主要使用到的技术有flask+socket+mongodb+uni-app
。我们先来简单采集一些音乐数据,这里不牵涉到太高深的爬虫技术(太高深也不会啊),就简单的使用requests
库帮我们来完成。
关于采集目标站点,我这里爬取的酷我音乐的数据,没别的原因,就是没遇到反爬机制(我这里一秒采取一条暂时还没有遇到什么反爬虫机制),本来目的也只是学习,我们就采集30条数据就够了。
前提准备
确保你的python
已安装了requests
库
1 | pip install requests |
确保安装了MongoDB
网上大把的安装教程,基本下一步下一步就能完成安装,关于使用可以参考python
之MongoDB
常用操作
找到酷我音乐的音乐接口
本人选取的是抖音热歌榜页面,通过浏览器开发者工具分析出音乐分布在两个接口上(其实是3个):个歌曲列表接口、歌曲信息接口、歌曲文件接口,因为列表中接口中包含了歌曲的一些简单信息如:封面、歌曲名、作者、时长、上线时间等已经够我们使用了,所以这里我们不用去歌曲信息接口上再取数据了。
歌曲列表接口地址:
1 | http://www.kuwo.cn/api/www/bang/bang/musicList?bangId=158&pn=1&rn=30&reqId=a27b7ee0-ebd3-11e9-92b8-13a9816f0dc5 |
数据返回如下
1 | { |
歌曲文件接口地址:
1 | http://www.kuwo.cn/url?format=mp3&rid={mid}&response=url&type=convert_url3&br=128kmp3&from=web&t=1570763011614&reqId=b4d733e1-ebd3-11e9-92b8-13a9816f0dc5 |
歌曲文件接口数据返回如下
1 | { |
编写爬虫
为防止频繁访问酷我音乐,我这里选择将静态资源也下载到本地,如封面和歌曲文件。
配置文件
1 | # settings.py文件,当前进度内容 |
爬虫代码
1 | # spider.py爬虫代码如下 |
执行爬取
运行该文件,数十秒后可以看到文件夹中已经下载好了刚才爬取的封面和mp3
文件
数据库中我们也可以看到歌曲信息也正常保存了
爬虫代码基本每行都加了注释,另外本身也很简单,到此,准备数据部分结束