荔枝FM语音批量下载

动机

最近想下载一下自己在蜻蜓FM上上传的音频,发现不支持批量下载。于是去找了一些下载器,万万没想到,该下载器只能下载前十条,再下要注册,注册费5元。尼玛,不能忍。本来就不是太难的技术,还搞这种收费, 真无语了。

声明

对于使用通用资源格式(如mp3)传输的音频资源,使用python爬虫获取要比去寻找破解的下载器要方便的多。而且平台不对音频做编码和隐藏也相当于默认了支持用户下载。
但是还是要强调一下,我们要尊重法律和平台的版权

  • 不要破解付费资源
  • 不要将音频用于商业盈利

下载

由于荔枝FM网页版做的很差,也不提供搜索框,所以想要搜到自己的作品就需要花费一段功夫了。
首先进入荔枝的个人主页,拿到自己的FMid,如图中的右上角。
在这里插入图片描述
在这里插入图片描述
将荔枝的官网url和id拼在一起就能进入网页版的个人作品了:https://www.lizhi.fm/29…72
在这里插入图片描述

这里就是我们的音频所在地了,此时复制地址栏的url一般形如https://www.lizhi.fm/user/53…6,这就是我们下载的起始url了。

下载的逻辑很简单:首先将当前页的音频链接提取出来,分别下载;然后找到标签<next>即下一页的链接,拉取新的页面下载,直到全部下载结束。代码如下:修改url为你自己的链接即可下载。

import urllib.request
import requests
from urllib.error import URLError, HTTPError, ContentTooShortError
from bs4 import BeautifulSoup
import time

def GetData(url, proxy='', retry =2):
    print('download : ' + url)
    if proxy == '':
        proxy= 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11'

    request = urllib.request.Request(url)
    request.add_header('User-Agent',proxy)
    try:
        html = urllib.request.urlopen(request).read()
        return html
    except (URLError, HTTPError, ContentTooShortError) as e:
        print('download error :', e.reason)
        if retry>0:                                #递归重试下载
            if hasattr(e, 'code') and 500<e.code<600 :
                GetData(url, proxy, retry-1)

# 替换为你自己的url
url = 'https://www.lizhi.fm/user/53................6'
while url is not None:
    html = GetData(url)
    soup = BeautifulSoup(html, 'html.parser')
    # 获取所有音频的链接
    trs = soup.find_all(attrs={'class':'clearfix js-play-data audio-list-item'})
    for tr in trs:
        link = 'https://www.lizhi.fm/' + tr['href']
        music_name = './download' + '//' + tr['data-title'] + '.mp3'
        print("the link is : "link, "downloads file to "music_name)
        music_file = requests.get(link).content
        with open(music_name, "wb") as f:
            f.write(music_file)
        time.sleep(2)
    # 获取下一页的链接
    if soup.find(attrs={'class':'next'}):
        url = 'https://www.lizhi.fm' + soup.find(attrs={'class':'next'})['href']
    else:
    	break;
    print("The next page:", url)
    time.sleep(6)

最后声明一下,尊重他人创作,不要随意传播。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/219340.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

类和对象——(7)this指针

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 人生就像骑单车&#xff0c;想保持平衡…

如何理解微服务体系结构中的 CQRS

本文翻译自 How To Understand CQRS In Microservices Architecture&#xff0c;原作者 OLEKSII。 问题描述 在典型的软件应用程序中&#xff0c;有一个负责写入和读取操作的数据存储。通常&#xff0c;应用程序实现一些 CRUD 操作&#xff0c;并且非常简单。你存储了一些东西并…

如何使用Python核对文件夹内的文件

说明&#xff1a;日常工作中&#xff0c;我们经常会遇到这样的场景&#xff1a;核对A、B文件夹中文件的差异&#xff0c;找出A、B文件夹中不同部分的文件&#xff1b; 本文介绍如何使用Python来实现&#xff1b; 第一步&#xff1a;获取文件清单 首先&#xff0c;我们要获取…

Mysql date类型设置默认值curdate失败解决

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一波电子书籍资料&#xff0c;包含《Effective Java中文版 第2版》《深入JAVA虚拟机》&#xff0c;《重构改善既有代码设计》&#xff0c;《MySQL高性能-第3版》&…

【华为数据之道学习笔记】1-2华为数字化转型与数据治理

传统企业通过制造先进的机器来提升生产效率&#xff0c;但是未来&#xff0c;如何结构性地提升服务和运营效率&#xff0c;如何用更低的成本获取更好的产品&#xff0c;成了时代性的问题。数字化转型归根结底就是要解决企业的两大问题&#xff1a;成本和效率&#xff0c;并围绕…

AcWing.93.递归实现组合型枚举(Java版)

//递归实现组合型枚举,从n个数中选出不重复的m个. //按字典顺序输出&#xff0c;从小到大每次找三个 //可以用for循环,i 从 start开始, 每次深搜都修改搜索起始点 //数据量较大,用BufferedWriter输出import java.io.*; import java.util.*; public class Main {static int n,m;…

自建网站:零基础手把手教学,非IT技术也能写啦!!!

自建网站 服务器域名WordPress网页美感设计收款系统 服务器 腾讯云链接&#xff1a;https://cloud.tencent.com/act/pro/bestselling?fromSourcegwzcw.7788594.7788594.7788594&utm_mediumcpc&utm_idgwzcw.7788594.7788594.7788594&qz_gdtcthg4zieaaamhubo75ja …

飞行汽车开发原理(上)

前言 小节的安排是由浅入深&#xff0c;要按顺序读&#xff1b;有电路知识基础的同学可跳到“计算机电路”一节开始。因为知识点之间有网状依赖&#xff0c;没办法按分类来讲。 为了避免过于深入、越讲越懵&#xff0c;很多描述仅为方便理解、不求严谨。 半导体特性 导体&a…

机器视觉中的图像增强与对比度调整技术

在机器视觉中&#xff0c;图像增强与对比度调整技术是常用的方法&#xff0c;旨在改善图像的质量和视觉效果&#xff0c;或将图像转换成更适合人眼观察或机器分析识别的形式。 图像增强技术可以针对给定图像的应用场合&#xff0c;有目的地强调图像的整体或局部特性&#xff0…

Vue实现简单用户登录页面

&#x1f4d1;前言 本文主要是【Vue】——Vue实现简单用户登录页面的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#x1f304;每日…

这个工具真好用!一个网站轻松搞定电子书

相信很多朋友在寻找电子书资源的时候都会遇到一些困难&#xff0c;比如下载慢、格式不兼容等等。小边最近找到了这款制作电子书工具&#xff0c;无需下载&#xff0c;格式也很齐全&#xff0c;几乎可以满足所有人的需求。 想要电子书制作工具的可以在评论区踢我&#xff0c;现…

助力智慧高速建设,多条高速公路再次见证光路科技工业交换机科技力量!吉林蒲烟高速通车,四川绵九高速、宁攀高速正在调试

近日&#xff0c;光路科技&#xff08;Fiberroad&#xff09;的技术人员配合完成了吉林蒲烟高速的项目验收工作。同时&#xff0c;四川绵九高速、四川宁攀高速项目目前正处于调试阶段&#xff0c;光路科技的技术人员正积极参与其中&#xff0c;确保工业以太网交换机在项目中的顺…

CentOS安装Docker

Docker 分为 CE 和 EE 两大版本。CE 即社区版&#xff08;免费&#xff0c;支持周期 7 个月&#xff09;&#xff0c;EE 即企业版&#xff0c;强调安全&#xff0c;付费使用&#xff0c;支持周期 24 个月。 Docker CE 分为 stable test 和 nightly 三个更新频道。 官方网站上…

MySQL数据误删除恢复

1.1 问题简述 开发反馈误删除了部分业务数据&#xff0c;需要恢复数据。 这里采用binlog2sql工具进行数据回滚。 1.2 环境 CentOS Linux release 7.4.1708 (Core) mysql Ver 8.0.21 for Linux on x86_64 (MySQL Community Server - GPL) 1.3 数据库开启binlog 因为数据库serve…

Full-RNS BGV/BFV

参考文献&#xff1a; [BV11] Brakerski Z, Vaikuntanathan V. Fully homomorphic encryption from ring-LWE and security for key dependent messages[C]//Annual cryptology conference. Berlin, Heidelberg: Springer Berlin Heidelberg, 2011: 505-524.[GHS12] Gentry C,…

QThread之moveToThread用法

简介 使用moveToThread函数的流程如下&#xff1a; 1、创建一个类继承自QObject类或其子类&#xff0c;并在其中定义所要执行的多个任务&#xff0c;执行多个任务就要定义相应的信号。 2、任务通过moveToThread指定所要执行的线程。 3、线程通过start启动 4、通过信号与槽机制…

Linux基础命令(测试相关)

软件测试相关linux基础命令笔记 操作系统 常见Linux&#xff1a; Redhat系列&#xff1a;RHSL、Centos、FedoraDebian系列&#xff1a;Debian、Ubuntu以上操作系统都是在原生Linux系统上&#xff0c;增加了一些软件或功能。linux的文件及路径特点 Linux没有盘符的概念&#xf…

11.12每日一题(根式差型求极限:有理化、拉格朗日中值定理)

解决同一极限在两点函数值差时&#xff0c;拉格朗日中值定理常用&#xff0c;也非常有效&#xff01;

如何做好仓库管理工作?好的仓库管理的流程是什么?

本文将为大家讲解&#xff1a;如何做好仓库管理工作&#xff1f;好的仓库管理的流程是什么&#xff1f; ——“怎么样才能做好仓库管理工作&#xff1f;” ——“建议软硬兼施&#xff01;” “软”即仓库管理系统&#xff0c;“硬”即仓库管理制度。系统和制度不是孤立存在…

京东数据分析:2023年10月京东打印机行业品牌销售排行榜

鲸参谋监测的京东平台10月份打印机市场销售数据已出炉&#xff01; 10月份&#xff0c;打印机市场整体销售下滑。鲸参谋数据显示&#xff0c;今年10月份&#xff0c;京东平台打印机的销量将近60万&#xff0c;环比降低约2%&#xff0c;同比降低约5%&#xff1b;销售额为4.4亿&a…