零基础学Python-爬虫-5、下载音频
2023-09-14 09:04:58 时间
本套课程正式进入Python爬虫阶段,具体章节根据实际发布决定,可点击【python爬虫】分类专栏进行倒序观看:
【重点提示:请勿爬取有害他人或国家利益的内容,此课程虽可爬取互联网任意内容,但无任何收益,只为大家学习分享。】
开发环境:【Win10】
开发工具:【Visual Studio 2019】
Python版本:【3.7】
总是版权问题,我就尽量删掉网站上的截图了,主要内容都在编码中。
目标:【更多-->音乐-->音乐页面】
1、查找目标位置:
查看访问路径与需要参数:
2、解析路径,获取一个音乐集合的路径:
3、解析获取id与title
import requests
import uuid
import random
import time
#可更换参数:tab={}&num={}我这里不多下载,10个就可以了。
url ="https://music.taihe.com/v1/song/info?sign=03f0d20475fe5fb6c669c50fb92778b5&appid=16073360&TSID=T10049727031%2CT10049726992%2CT10038911463%2CT10039002156%2CT10038856674%2CT10038856669%2CT10038926584%2CT10038926593%2CT10038992003%2CT10038992010%2CT10054620501%2CT10038818736%2CT10057229599%2CT10055694882%2CT10057217243%2CT10056317505%2CT10056970485%2CT10056970489%2CT10057218352%2CT10038929666%2CT10038902299%2CT10038928529%2CT10054168932%2CT10038980134%2CT10038980150%2CT10038818871%2CT10038859760%2CT10038859749%2CT10041237453%2CT10038833747%2CT10038873333%2CT10040588990%2CT10038992597×tamp=1613374105"
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36'}
resp = requests.get(url, headers=headers)
resp_json = resp.json()
data_list = resp_json['data']
lst=[]
for x in data_list:
print(x['id'])
print(x['title'])
一共32个地址,一会看能下载多少音乐。
4、拼接单个音乐链接地址与下载音乐:
import requests
import uuid
import random
import time
#可更换参数:tab={}&num={}我这里不多下载,10个就可以了。
url ="https://music.taihe.com/v1/song/info?sign=03f0d20475fe5fb6c669c50fb92778b5&appid=16073360&TSID=T10049727031%2CT10049726992%2CT10038911463%2CT10039002156%2CT10038856674%2CT10038856669%2CT10038926584%2CT10038926593%2CT10038992003%2CT10038992010%2CT10054620501%2CT10038818736%2CT10057229599%2CT10055694882%2CT10057217243%2CT10056317505%2CT10056970485%2CT10056970489%2CT10057218352%2CT10038929666%2CT10038902299%2CT10038928529%2CT10054168932%2CT10038980134%2CT10038980150%2CT10038818871%2CT10038859760%2CT10038859749%2CT10041237453%2CT10038833747%2CT10038873333%2CT10040588990%2CT10038992597×tamp=1613374105"
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36'}
resp = requests.get(url, headers=headers)
resp_json = resp.json()
data_list = resp_json['data']
lst=[]
for x in data_list:
lst.append({"id":x["id"],"title":x["title"]})
#以下为存储过程
# 遍历列表存储所有图片
for item in lst:
# 发送请求
try:
musicUrlBase=str.format("https://music.taihe.com/v1/song/tracklink?sign=14bcbe5b209a984dac25dad3b96c6dfb&appid=16073360&TSID={0}×tamp=1613374106",item["id"]);
resp1=requests.get(musicUrlBase)
resp_json1 = resp1.json()
pic= requests.get(resp_json1["data"]["path"], timeout=100)
except:
print ('错误:当前音乐无法下载')
continue
# uuid4为图片名称
#,创建img文件夹, wb+:写入二进制数据
file=open(str.format("{0}.mp3",item["title"]), 'wb+')
file.write(pic.content)
file.close()
print(item["title"],"下载完毕")
#每次操作完休息1~3s
timeStop=random.randint(1,4)
time.sleep(timeStop)
print("完成")
5、音乐播放测试:
6、总结:
a)、下载过程中有无法下载的音乐,没有具体测试原因。
b)、可以试试其它网站,因为百度大家都知晓,我就用这个测试了。其它的也就是第一步麻烦一些,找吧,找吧,习惯就好了。
欢迎【点赞】、【评论】、【关注】、【收藏】、【打赏】,为推广知识贡献力量。
【小说、图片、视频、音乐】都爬取完毕了,python爬虫的课程也就到此结束了。图形化页面没什么实际意义,我就不做编辑了,晚上我弄个基础环境画个❤,画朵花仅供欣赏。
相关文章
- python 网页爬虫 基础篇
- Json schema 以及在python中的jsonschema
- 小白学 Python 爬虫(41):爬虫框架 Scrapy 入门基础(八)对接 Splash 实战
- 小白学 Python 爬虫(40):爬虫框架 Scrapy 入门基础(七)对接 Selenium 实战
- 小白学 Python 爬虫(37):爬虫框架 Scrapy 入门基础(五) Spider Middleware
- 小白学 Python 爬虫(35):爬虫框架 Scrapy 入门基础(三) Selector 选择器
- 小白学 Python 爬虫(31):自己构建一个简单的代理池
- 小白学 Python 爬虫(30):代理基础
- 小白学 Python 爬虫(24):2019 豆瓣电影排行
- 小白学 Python 爬虫(15):urllib 基础使用(五)
- Python爬虫获取电子书资源实战
- 零基础自学python网络爬虫有没有学习路线。最好是详细的?
- 零基础学Python-爬虫-3、利用CSS选择器爬取整篇网络小说
- 零基础学Python-爬虫-2、scrapy框架(测试案例篇·技术点在后面文章内讲解)【测试将一篇小说的所有访问路径与标题存储到一个文件下】
- Python爬虫基础讲解:数据持久化——json 及 CSV模块简介
- Python爬虫基础讲解:数据持久化——文件操作 及 Excel
- Python爬虫基础讲解之什么是XPath及其语法介绍
- Python爬虫selenium模块
- Python爬虫:将headers请求头字符串转为字典
- Python爬虫:scrapy查看Cookie值
- Python爬虫:浏览器请求头参数RequestHeaders
- python爬虫 --- 简书评论
- python 爬虫之requests模块设置代理
- 零基础自学python网络爬虫有没有学习路线。最好是详细的?
- 【Python基础】python爬虫之异步网络爬虫ǃ
- Python 异步网络爬虫教程大全
- Python爬虫自学系列(五)
- 从零开始,学会Python爬虫不再难!!! -- (7)线程、互斥锁、线程池丨蓄力计划
- Python爬虫基础学习案例