• 只用20行代码,Python实现爬取网易云音乐,非常简单!


    哈喽,大家好,今天咱们试试只用20行代码来实现批量获取网抑云文件保存本地,炒鸡简单!

    悄悄的告诉你,其实不到20行代码~

    你需要准备

    本次使用的环境是Python3.8,编辑器是pycharm 

    模块使用的是requests、re、os 三个,其中requests是第三方模块,需要手动安装一下,re、os都是内置模块,不需要安装。

    pip install requests 即可

    代码实现

    本次实现步骤大致分为以下五步:

    1. 发送请求
    2. 获取数据
    3. 解析数据
    4. 保存数据

    这里我就不讲怎么分析开发者工具了,下次做一个详细的教程,讲解开发者工具。

    模块导入

    import requests  # 数据请求模块
    import re  # 正则表达式模块
    import os   # 文件操作模块
    
    # 完整代码获取q群 279199867 我还准备了大量的学习教程和资料,都在群里自取哦

    发送请求

    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入门
    Python-计算机硬件基础
    PYTHON-UDP
    PYTHON-TCP 粘包
    PYTHON-网络通信 TCP
    English Voice of <<Something just like this>>
  • 原文地址:https://www.cnblogs.com/hahaa/p/16614152.html
Copyright © 2020-2023  润新知