IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python学习笔记_获取猫耳广播剧 -> 正文阅读

[Python知识库]Python学习笔记_获取猫耳广播剧

  1. 找到对应想要学习的地址,比如:https://www.missevan.com/mdrama/19255
  2. 进入对应地址后,键盘按F12或者鼠标‘右键-检查’,重新加载页面后,将鼠标分别点NetworkFetch/XHR。点Network是为了获取当前此次页面的加载都有哪些行为,点Fetch/XHR是为了获取当前广播剧对应的所有剧集id(不必登录或者挨个去对应的第几集去下载)
    在这里插入图片描述
  3. 从Network中分析到,Fetch/XHR中的地址:https://www.missevan.com/dramaapi/getdrama?drama_id=19255可以获取到全部剧集id,所以我们从这个地址开始遍历
  4. 参考代码如下:
import time
import requests
import json


def get_html(url):
    response = requests.get(url)
    return response


def parse(response):
    json_data = response.json()
    title = json_data['info']['sound']['soundstr']
    soundurl = json_data['info']['sound']['soundurl']
    return title, soundurl


def save(title, mp3_data):
    path = r'D:\pythonData\MaoEr\ '  # 地址后面要带一个空格,否则报错
    with open(path + title + '.mp3', mode='wb') as f:
        f.write(mp3_data)
        print('当前时间为:', time.time(), '当前剧集《', title, '》下载完成!!!')


start_time = time.time()
print('开始了:', start_time)

# 当前广播剧页面对应的url:https://www.missevan.com/mdrama/19255(在组成当前显示页面的内容中,全部剧集列表的请求url却是以下)
url = 'https://www.missevan.com/dramaapi/getdrama?drama_id=19255'
allDramaInfo = get_html(url).text

# 请求之后 ,返回的是json数据需要处理,拿到剧集id
jsonStr = json.loads(allDramaInfo)
episodes = jsonStr['info']['episodes']['episode']
# 根据id去挨个获取下载内容
for episode in episodes:
    sound_id = episode['sound_id']
    mp3_url = 'https://www.missevan.com/sound/getsound?soundid=' + str(sound_id)
    resp_2 = get_html(mp3_url)
    title, soundurl = parse(resp_2)
    # 请求音频url地址 音频 二进制数据 content
    mp3_data = get_html(soundurl).content
    # 下载保存 到本地
    save(title, mp3_data)
print('结束了,一共花费了:', time.time() - start_time, '秒')

  1. 结果如下
    在这里插入图片描述
    在这里插入图片描述
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-11-28 11:13:24  更:2021-11-28 11:13:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:43:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码