批量下载和改名21世纪英文报学生周报听力

  • 如何找到音频
  • 痛点
  • python批量下载和改名

如何找到音频

建议使用 google chrome浏览器。
https://www.i21st.cn/ 导航横栏–报纸听力–初中–初二,以初二为例,
https://paper.i21st.cn/audio_21je2_1.html
打开一篇文章的链接,比如
https://paper.i21st.cn/story/162390.html
右键–源码,可以找到
audio id=‘audio’ src=‘https://cdn.21elt.com/paper/21je2/21sp2_800/21je2_800_162390_1.mp3’ preload=‘auto’ device=‘other’ WXAgent=‘0’> </audio
通过迅雷可以下载。

痛点

(1)通过微信公众号听,播放器无法准确定位和前后拖动。所以最好下载后,通过其它播放器听。
(2)每个音频很短,而人工下载超过100个音频,过于浪费时间。
(3)每个音频通过数字命名,无法对应报纸的文章,而人工改名又是一大笔时间开销。

python批量下载和改名

import requests
from bs4 import BeautifulSoup
from time import sleep
import os
from win32com.client import DispatchHeaders = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'
}def get_url(url):wd_data = requests.get(url,headers=Headers)soup = BeautifulSoup(wd_data.text,'html.parser')return soupdef get_mp3(url):soup = get_url(url)audios = soup.select('audio')mp3 = ""for audio in audios:mp3 = mp3 + str(audio['src'])        return mp3def get_links(url):soup1 = get_url(url)#获取链接links = soup1.select('a')audios = []titles = []for alink in links:if 'href' in alink.attrs:url2 = alink['href']title = alink.get_text()if(url2[:7] == '/story/'):url22 = 'https://paper.i21st.cn' + url2                audios.append(get_mp3(url22))titles.append(title)o = Dispatch("ThunderAgent.Agent64.1")  for onemp3,onetitle in zip(audios,titles):mp3name = os.path.basename(os.path.dirname(onemp3)) + "_" +onetitle + ".mp3"print(str(onemp3)+"  "+str(mp3name))o.AddTask(str(onemp3), str(mp3name))              o.CommitTasks() if __name__ == '__main__':urls = ['https://paper.i21st.cn/audio_21je2_{}.html'.format(number) for number in range(3,5)]for url in urls:get_links(url)sleep(2)

功能分析:
get_url利用requests的网页获取功能,自动遍历每个链接。
get_mp3,在打开独立文章的网页后,通过BS4,直接找到mp3链接。
get_links有三个功能,1遍历导航页,2自动打开迅雷,3为mp3改名,几乎没有人工干预,非常节省时间。
只需要修改urls = …range(3,5)中的数字,根据自己所需来下载哪个导航页。

批量下载和改名21世纪英文报学生周报听力相关推荐

  1. 2023年批量下载和改名音频专辑(系列3之selenium-wire方式)

    XIMA多页动态列表中的音频下载seleniumwire 步骤说明: 步骤一:获取xima cookie 步骤二:遍历目录,逐一播放后抓取响应信息 除了系列1之单页,系列2之多页,VIP音频还有动态加 ...

  2. 2023年批量下载和改名音频专辑(单页列表)

    一.下载原理 1)找到目标音频的专辑网页,这里以 kite runner mp3为例.(需要自己找) https://www.xi___ma___la_____ya.com/album/7171877 ...

  3. 2023年批量下载和改名音频专辑(多页列表)

    一.下载原理 多页列表,有get类型的,有post类型的,xima的专辑多页列表属于get类型. 比如"https://www.xi__mala__ya.com/album/262212&q ...

  4. ChatGPT炒股:自动批量下载choice每日热门研报

    东方财富choice里面研究报告板块,每天更新研报几百篇,24小时热门研报也接近100篇.作为股票投资者,每天阅读最新热门研报,了解市场动态,是一个基本功.怎么可以自动批量下载这些24小时热门研报呢? ...

  5. 计算机办公应用实训教程,《21世纪高等学校规划教材·计算机应用:Office办公软件同步实训教程》—甲虎网一站式图书批发平台...

    <21世纪高等学校规划教材·计算机应用:Office办公软件同步实训教程>内容简介: <21世纪高等学校规划教材·计算机应用:Office办公软件同步实训教程>介绍Office ...

  6. neoterm如何安装python_NeoTerm官方版v2.1.0下载_NeoTerm(21世纪的终端)下载-刷机之家

    详情 NeoTerm是一款安卓手机终端系统工具,非常适合手机开发者们使用的一款手机终端软件,非常实用的编程软件,让你轻松就能编程,各种自定义功能很容易就能满足你们的需求,为开发者提供软件包管理器和ap ...

  7. ChatGPT炒股:自动批量下载萝卜投研网站上的股票研报

    萝卜投研网站有很多的股票研究报告. 如果我们在chrome浏览器中打开了很多研报,该如何批量下载呢? 查看网页源代码,研报是pdf格式,下载链接也在源代码中,很好找. 下载方法是,用Selenium来 ...

  8. android源码下载方法 批量下载 基于windows os

    安装win版的Gitbash, 在这里 http://msysgit.googlecode.com/files/Git-1.6.0.2-preview20080923.exe. 选择默认安装路径(否则 ...

  9. 为什么说21世纪是一场ABC的革命?

    作者:刘超,毕业于上海交通大学,15年云计算领域研发及架构经验,先后在EMC,CCTV证券资讯频道,HP,华为,网易从事云计算和大数据架构工作. 来自:刘超的通俗云计算(ID:popsuper1982 ...

最新文章

  1. 高并发-【抢红包案例】之二:使用悲观锁方式修复红包超发的bug
  2. python(numpy,pandas5)——numpy中copy 和 deep copy
  3. 你有一笔新订单 语音_上市即成爆款 哪吒V首日订单突破1200辆_搜狐汽车
  4. [书目20080220]UML 2工具箱
  5. 服务器数据缓存文件实现,跨域与缓存
  6. Val编程-界面编程
  7. nssl1453-Fibonacci数列【矩阵乘法,线段树】
  8. redux 简明学习
  9. 用Python批量修改图片名称(后缀)
  10. 数学的记号(notation)
  11. SoapUI接口测试工具测试webservice
  12. MySQL最大建议行数2000w, 靠谱吗?
  13. 电能终端服务器,抄表终端服务器设置教程
  14. ANSYS 有限元分析 加载/求解/输出
  15. win7配置magic mouse和keyboard
  16. Windows系统win10系统磁力种子文件下载软件推荐
  17. StringUtils 工具
  18. 数据库原理与应用——引言(一)
  19. iNFTnews | 对体育行业和球迷来说,NFT可以带来什么?
  20. 医院his系统更换替换服务器,更换HIS时的数据迁移注意事项

热门文章

  1. Android6 M Dialer完全总结
  2. 2021年机械员-通用基础(机械员)考试总结及机械员-通用基础(机械员)复审考试
  3. ##Java 将数字月份转化为英语月份
  4. API 设计好文收集
  5. pytorch实现吴恩达机器学习课后作业——线性回归
  6. Shell编程学习总结
  7. STM32掌机教程4,STM32驱动OLED屏幕
  8. GIS实验之通过邻域(距离最近)方法划分区域
  9. ORCAD中怎么改变当前电路图纸的尺寸
  10. MSVCP120.DLL错误