• 爬取某音乐榜单歌曲


    一、打开网页https://music.163.com/,进入榜单(热歌榜)

    二、右键检查、刷新网页,选择元素(点击歌曲名)

    三、相关代码

    1. import requests
    2. #正则表达式模块内置模块
    3. import re
    4. import os
    5. filename = 'music\\'
    6. if not os.path.exists(filename):
    7. os.mkdir(filename)
    8. #如果想要爬取其他榜单的内容,只需要更改请求URL中的ID
    9. url = 'https://music.163.com/discover/toplist?id=3778678'
    10. #请求头
    11. headers = {
    12. 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) '
    13. 'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'
    14. }
    15. response = requests.get(url=url,headers=headers)
    16. # print(response.text)
    17. html_data = re.findall('
    18. (.*?)',response.text)
  • for num_id,title in html_data:
  • music_url = f'http://music.163.com/song/media/outer/url?id={num_id}.mp3'
  • #对于音乐播放地址发送请求,获取二进制数据内容
  • music_content = requests.get(url=url,headers=headers).content
  • with open(filename + title +'.mp3',mode='wb') as f:
  • f.write(music_content)
  • print(num_id,title)
  • 四、爬取结果

    GET请求(直链,hMusic高品质, mMusic中品质, lMusic低品质):
    http://music.163.com/api/song/detail/?id=歌曲id&ids=%5B歌曲id%5D
    GET请求(直链下载 含VIP):
    http://music.163.com/song/media/outer/url?id=歌曲id.mp3
  • 相关阅读:
    GD32 YYDS
    肖sir__简历
    k8s教程:使用cert-manager证书管理工具在集群中提供https证书并自动续期
    HazelEngine 学习记录 - Shader Asset Files
    HTTP缓存协议实战
    从零集成mybatis-plus
    C#实现Windows服务安装卸载开启停止
    ElasticSearch-查询语法(聚合查询)
    华为云新用户:定义,优惠券及专享活动
    Exception-Error
  • 原文地址:https://blog.csdn.net/m0_74972727/article/details/133915695