哈喽,大家好,今天咱们试试只用20行代码来实现批量获取网抑云文件保存本地,炒鸡简单!
悄悄的告诉你,其实不到20行代码~
你需要准备
本次使用的环境是Python3.8,编辑器是pycharm
模块使用的是requests、re、os 三个,其中requests是第三方模块,需要手动安装一下,pip install requests 即可,re、os都是内置模块,不需要安装。
代码实现
本次实现步骤大致分为以下五步:
- 发送请求
- 获取数据
- 解析数据
- 保存数据
模块导入
import requests # 数据请求模块
import re # 正则表达式模块
import os # 文件操作模块
发送请求
url = 'https://music.163.com/discover/toplist?id=3778678'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
}
response = requests.get(url=url, headers=headers)
获取数据
result = re.findall('<li><a href="/song\?id=(\d+)">(.*?)</a></li>', response.text)
for music, title in result:
music_url = f'http://music.163.com/song/media/outer/url?id={music}.mp3'
music_content = requests.get(url=music_url, headers=headers).content
保存数据
with open(filename + title + '.mp3', mode='wb') as f:
f.write(music_content)
print(title)
当然这只是最简单的爬取榜单音乐,评论、歌词等等都可以爬取,还有制作词云图、通过搜索下载,音乐下载器,等等各种实现下载的方式。
好了,今天的分享就到这里了,下次再见!
推荐一套Python爬虫教程:代码总是学完就忘记?100个爬虫实战项目!让你沉迷学习丨学以致用丨下一个Python大神就是你!
网友评论