首页 > 其他分享 >7、爬虫-爬取音乐

7、爬虫-爬取音乐

时间:2024-07-01 22:34:21浏览次数:1  
标签:www get url 音乐 爬虫 mid 爬取 headers music

1、查找请求音乐播放的请求 url地址:以酷我音乐为例

  拿到url 对url进行分析 :https://www.kuwo.cn/api/v1/www/music/playUrl?mid=326968713&type=music&httpsStatus=1&reqId=bf6ff0b0-acb0-11ee-bf9b-c39de8563da8&plat=web_www&from=

  mid = 不同歌曲的id

  type = 音乐的类型、type=mp3 

  httpsStatus  状态码

  reqId  不知道作用

2、查找html里不同音乐 的标签里有无类型 id的数字

 

更换url的mid试试:看是否能对应歌曲

https://www.kuwo.cn/api/v1/www/music/playUrl?mid=330465682&type=music&httpsStatus=1&reqId=bf6ff0b0-acb0-11ee-bf9b-c39de8563da8&plat=web_www&from=

将type改为 type=mp3就可以下载付费音乐了

 

"""
下载会员音乐
"""

import requests
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
url_base = "https://www.kuwo.cn/api/v1/www/music/playUrl?mid=%s&type=music&httpsStatus=1&reqId=bf6ff0b0-acb0-11ee-bf9b-c39de8563da8&plat=web_www&from="
music_id = 330465682

url = url_base % music_id   #拼接真正的url mid=%s   %s=music_id

response = requests.get(url,headers=headers)

#取到json格式的文本、里面包含音乐连接
result = response.json()

#提取播放连接
play_url = result.get("data").get("url")

#下载音乐
response_music = requests.get(play_url,headers=headers)
with open("晴天.mp3","wb") as file:
    file.write(response_music.content)


#################################封装成函数################################
def download_music(music_id,music_name):
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
    }


    url_base = "https://www.kuwo.cn/api/v1/www/music/playUrl?mid=%s&type=music&httpsStatus=1&reqId=bf6ff0b0-acb0-11ee-bf9b-c39de8563da8&plat=web_www&from="
    url = url_base % music_id  # 拼接真正的url mid=%s   %s=music_id
    response = requests.get(url, headers=headers)

    # 取到json格式的文本、里面包含音乐连接
    result = response.json()

    # 提取播放连接
    play_url = result.get("data").get("url")

    # 下载音乐
    response_music = requests.get(play_url, headers=headers)
    with open("%s.mp3" %music_name, "wb") as file:
        file.write(response_music.content)

if __name__ == '__main__':
    #调用函数下载
    download_music(118980, "晴天")

标签:www,get,url,音乐,爬虫,mid,爬取,headers,music
From: https://www.cnblogs.com/littlecc/p/17950017

相关文章

  • 6-爬虫-数据存储
    分类:  文本类型数据:txt、csv、execl、数据库  多媒体类型:图片、音乐、视频"""y音频存储"""importrequestsheaders={"User-Agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/120.0.0.0S......
  • 8、爬虫-beatifulsoup-bs4
     beatifulsoup的概念:BeautifulSoup就是Python的一个HTML或XML的解析库,可以用它方便地提取页面的数据。  1、安装bs4:pipinstallbs42、使用:frombs4importBeautifulSoup3、创建对象:BeautifulSoup(文本,“html.parser”)  #html.parser告诉解析器这是个html文本4、b......
  • 10、爬虫-requests的使用-session()、防盗链
    #会话-cookie的使用requests.session()"""先登录网站、找到llogin相关的url得到cookie、拿到formatData中的信息带着cookie去请求url使用cookie去访问(session-会话)该网站其它内容的时候都会带着cookie"""importrequests#创建会话session=requests.session()#用户......
  • 9、爬虫-xpath-selenium爬取网页隐藏元素
    安装:pipinstalllxml1、导入:fromlxmlimportetree2、创建对象:  tree=etree.XML(xml文件)  tree=etree.HTML(html文件)  等3、找标签:  tree.xpath("//book/name/text()")4、语法:  text()表示取节点标记的文字  tree.xpath("//book/publisher[3]/text()......
  • 13、爬虫-协程-asyncio和异步操作-aiohttp
    概念:当程序sleep或者input、output等待的时候、cpu是处于堵塞状态的、cpu此时是不再为我们的代码服务的、所以协程就是当遇到了前面这种情况的时候可以选择性的切换到其他任务上 同步协程:asyncio当程序在睡眠的时候注意加上:awaitasyncio.sleep(2)"""多任务协程asyncio......
  • 14、爬虫-异步协程爬取西游记小说-aiohttp-aiofiles
     注意:有关所有的IO操作都要加上:await挂起 """https://dushu.baidu.com/pc/detail?gid=4306063500#小说网站https://dushu.baidu.com/api/pc/getCatalog?data={%22book_id%22:%224306063500%22}#可以拿到每个章节的bookid、cid(每个章节的id)、这里%22相当于"号htt......
  • python教程---网络爬虫
    7.1urllibUrllib是Python内置的一个用于读取来自Web的数据的库。它是一个请求库,可以用来发送HTTP请求,获取网页内容,支持多种HTTP方法,如GET和POST等。使用Urllib读取网页内容的步骤如下:导入Urllib库中的request模块。importurllib.request使用urlopen()函数发送HTTP请求,......
  • 术业有专攻,不要用原生 http 库自己写爬虫!
    术业有专攻,不要用原生http库自己写爬虫!网管叨bi叨 2024-06-0509:27 北京 3人听过 以下文章来源于凉凉的知识库 ,作者凉凉的知识库凉凉的知识库.凉凉的知识库,带你学点后端必备知识有些人可能认为爬虫框架和httpclient库的功能一样,用httpclient库也可以写......
  • 为什么网络爬虫广泛使用HTTP代理?
    一、引言网络爬虫作为自动抓取互联网信息的重要工具,在现代社会中发挥着不可或缺的作用。然而随着网络环境的日益复杂,网站反爬虫技术的不断进步,网络爬虫在获取数据的过程中面临着越来越多的挑战。为了应对这些挑战,HTTP代理成为了网络爬虫不可或缺的一部分。本文将从多个角度详......
  • 为什么网络爬虫广泛使用HTTP代理?
    一、引言网络爬虫作为自动抓取互联网信息的重要工具,在现代社会中发挥着不可或缺的作用。然而随着网络环境的日益复杂,网站反爬虫技术的不断进步,网络爬虫在获取数据的过程中面临着越来越多的挑战。为了应对这些挑战,HTTP代理成为了网络爬虫不可或缺的一部分。本文将从多个角度详......