突然不知道听什么歌了,但是排行榜的准没错,于是用Python全部都爬下来了!
闲得无聊,到处找推荐歌曲都没有满意的,想了想不是有爬虫吗,反手就把酷狗排行榜的歌都给它爬下来了,不说了,我听歌去了~
文末的话,我也放了相关视频教程,比文章详细多了
开始今天的正文吧
这是今天的知识点
1、动态数据抓包演示
2、json数据解析
3、requests模块的使用
4、正则表达式的简单使用
5、css选择器数据解析方法
用到的环境和模块
python 3.6 pycharm (安装包/安装教程/激活码/使用教程/翻译插件) requests >>> pip install requests parsel >>> pip install parsel re 正则表达式
爬虫可见即可爬,你要想爬所有的也可以。
思路流程:
一. 数据来源分析
1. 确定需求 爬取音乐数据 音频
2. 通过开发者工具(浏览器都自带 F12 或者 鼠标右键点击检查)进行抓包分析
I. 找我们音乐播放地址 play_url
II. 找播放地址来源 对比参数变化 [hash ID]1629808844252 时间戳(表示你请求的时间点)
time 时间模块 可以获取当前时间戳
III. 找 hash ID 参数的来源
IV. 获取所有榜单的url地址
二. 代码实现过程
1. 发送请求 对于榜单url地址发送请求
2. 获取数据 获取网页源代码数据
3. 解析数据 提取所有榜单相对应的url地址
4. 发送请求 对于 榜单的url地址发送请求
5. 获取数据 获取网页源代码数据
6. 解析数据 提取音乐 hash 和 id 值
7. 发送请求 把 hash 和 id 值 参数相对url里面 发送请求
8. 获取数据 获取json字典数据
9. 解析数据 提取 歌名 音乐播放地址
10. 保存数据
数据来源分析 >>> 发送请求 >>> 获取数据 >>> 解析数据 >>> 保存数据
首先把要用的模块都安排上
import requests # 数据请求模块 pip install requests import parsel # 数据解析模块 pip install parsel import re # 正则表达式 内置模块 不需要安装 import pprint # 格式化输出 import os