Python学习笔记_获取猫耳广播剧
- 找到对应想要学习的地址,比如:https://www.missevan.com/mdrama/19255
- 进入对应地址后,键盘按F12或者鼠标‘右键-检查’,重新加载页面后,将鼠标分别点Network和Fetch/XHR。点Network是为了获取当前此次页面的加载都有哪些行为,点Fetch/XHR是为了获取当前广播剧对应的所有剧集id(不必登录或者挨个去对应的第几集去下载)
- 从Network中分析到,Fetch/XHR中的地址:https://www.missevan.com/dramaapi/getdrama?drama_id=19255可以获取到全部剧集id,所以我们从这个地址开始遍历
- 参考代码如下:
import time
import requests
import jsondef get_html(url):response = requests.get(url)return responsedef parse(response):json_data = response.json()title = json_data['info']['sound']['soundstr']soundurl = json_data['info']['sound']['soundurl']return title, soundurldef 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地址 音频 二进制数据 contentmp3_data = get_html(soundurl).content# 下载保存 到本地save(title, mp3_data)
print('结束了,一共花费了:', time.time() - start_time, '秒')
- 结果如下
Python学习笔记_获取猫耳广播剧相关推荐
- python学习笔记_序
说明 这里的python笔记也是之前留下的,看了下时间,大概是今年寒假期间学的,主要是跟着廖大的教程来.也是半途而废的计划啊(干了多少半途而废的事情). 教程地址:Python教程--廖雪峰 数据类型 ...
- Python学习笔记_读Excel去重
读取一个Excel文件,按照某列关键字,如果有重复则去掉 这里不介绍所有的解决办法,只是列出一个办法. 软件环境: OS:Win10 64位 Python 3.7 测试路径:D:\Work\Pytho ...
- Python学习笔记_多张图片生成马赛克图
原文链接:使用Python简单实现马赛克拼图 代码如下: import os import time from functools import reduce from threading impor ...
- python学习笔记_第21天(文件操作--IO 技术)
使用pickle 序列化 Python 中,一切皆对象,对象本质上就是一个"存储数据的内存块".有时候,我们需要将"内存块的数据"保存到硬盘上,或者通过网络传输 ...
- Python学习笔记_文件读写,目录遍历类封装
文件读写和目录遍历类的封装. mylib.py 1 # -*- coding:utf-8 -*- 2 3 __author__ = 'huanghuan' 4 5 import os 6 from o ...
- python 学习笔记 12 -- 写一个脚本获取城市天气信息
近期在玩树莓派,前面写过一篇在树莓派上使用1602液晶显示屏,那么可以显示后最重要的就是显示什么的问题了. 最easy想到的就是显示时间啊,CPU利用率啊.IP地址之类的.那么我认为呢,假设可以显示当 ...
- Python学习笔记:用Python获取数据(本地数据与网络数据)
Python学习笔记:用Python获取数据(本地数据与网络数据) 一.用Python获取本地数据 读写文件(三种基本模式:r, w, a) 1.写文件 2.读文件
- python 学堂在线_(3.17学堂在线python学习笔记)
@[TOC](3.17学堂在线python学习笔记) # 重要笔记 ## Assertion和控制流的关系 1. 在python中,抛出异常作为一种检测和控制代码流的重要方式 2. 一个例子帮我们理解 ...
- python 学堂在线_(3.7学堂在线python学习笔记)
@[TOC](3.7学堂在线python学习笔记) # 重要笔记 1. 启发式算法 启发式算法(heuristic algorithm)是相对于最优化算法提出的.一个问题的最优算法求得该问题每个实例的 ...
最新文章
- python count()计算字符出现的频数
- 用html通过python调用mysql_HTTP协议与使用Python获取数据并写入MySQL
- antd 的form 表单怎么回显数据_jsonschema-form-vue基于JSONSchema的表单自动生成方案
- C#中模态对话框释放问题
- 单件模式(单例模式)
- Oracle ADF和Oracle Jet一起工作。 建筑模式
- 前端学习(2432):上午总结
- 连续出现的字符(信息学奥赛一本通-T1148)
- CVPR 2021 3D视觉相关最新进展分享
- 本周两场直播丨通过源码了解openGauss多线程架构;Oracle数据库索引分裂详解。...
- fast start oracle,Oracle Data Guard快速启动故障切换 - fast-start failover(FSFO)
- WinCE下音频频谱显示效果图
- kaggle实战_2.特征工程,模型选择,交叉验证
- PCB封装下载方法(亲测有效)
- 图片类word报告生成器
- python中角度变弧度_Python中转换角度为弧度的radians()方法
- wp8.1 java_巨硬的内部比较——WP8.1版本与WP10系统对比(以lumia640为例)
- 做小红书推广快速涨粉的技巧_云媒易
- Python:opencv库实现调用摄像头拍照并保存到本地
- 算法很美 笔记 4.多维数组与矩阵
热门文章
- SegFormer论文记录(详细翻译)
- iqc工作职责和工作内容_iqc组长岗位职责介绍
- 关于构造和二进制,题目:牛牛的DRB迷宫Ⅱ(源自牛客竞赛2020年寒假集训)
- 【采样算法】拉丁超立方采样
- Deep Unordered Composition Rivals Syntactic Methods for Text Classification(简摘DAN模型)
- 教育机构客户管理系统功能方案详解!
- 杭州烟花爆炸事故无人重伤-游客衣服包裹头逃生-杭州-烟花爆炸-烧伤
- mysql同步数据_实现MySQL数据库数据的同步方法介绍
- Windows/Linux下C++对于UUID的跨平台封装
- karabiner macOs Sierra不可用后的临时解决方法