爬取听力音频并整合

初愿:最近心态发生了小小的变化,决定准备一年时间后考雅思,英语也是该断断续续拾起来了。
资源:找寻了一番后发现这个网站http://www.kekenet.com/上的听力资源不错,内容也挺全面。毕竟我还是倾向于把英语当作一种能力培养,而不是仅为了应试。挑挑拣拣后决定先从演讲部分听起来吧

至于爬取它的原因就是,它把一整个演讲分成了几个部分,虽然可以下载下来,但是不舒服,有时候也是乱序播放,就打算把演讲爬取下来,然后整合成一个音频,多好

目的分析

首先,打开该部分的第一页内容:http://www.kekenet.com/Article/15206/List_1.shtml
可以看到每篇演讲的小部分标题几乎一样,除了后面的编号不同。
按F12,分析一波先

可以轻易找到每部分的链接
本文以雪莉桑德伯格哈佛大学2014毕业典礼演讲为例
第一步,考虑的是如何确定它有多少个小部分,即如何找到它的所有部分。
这里我选择的是用正则匹配标题,即包含“雪莉桑德伯格哈佛大学2014毕业典礼演讲”这些字样的标签下的链接才是我需要的
找到需要的标签后就可以很自然地提取链接,但需要有一点注意,需要重新排序,以利于后面的音频整合。

代码实现

import requests
from bs4 import BeautifulSoup
import re
import pydubmode = r'雪莉桑德伯格哈佛大学2014毕业典礼演讲'headers = {'user-agent': 'Mozilla/5.0'}url = 'http://www.kekenet.com/Article/15206/List_1.shtml'res = requests.get(url, headers)res.encoding = res.apparent_encodingsoup = BeautifulSoup(res.text, 'html.parser')file_list = soup.find('ul', id='menu-list').find_all('li')mp3_list = []for file in file_list:title = file.find('h2').find('a')['title']if re.search(mode, title, re.S) is not None:link = file.find('h2').find('a')['href']re_link = (str(link)).replace('Article', 'mp3')mp3_list.append(re_link)mp3_list.sort()# 爬取音频内容download_mode = r'href="(http://k6.kekenet.com/Sound/.+?.mp3)"'num = 0for i in mp3_list:num += 1res1 = requests.get(i, headers)res1.encoding = res1.apparent_encodingl1 = re.search(download_mode, res1.text, re.S)content = requests.get(l1.group(1), headers)with open('雪莉桑德伯格哈佛大学2014毕业典礼演讲%d.mp3' % num, 'wb') as mp3:mp3.write(content.content)# 合并音频m1 = pydub.AudioSegment.from_mp3(r'雪莉桑德伯格哈佛大学2014毕业典礼演讲1.mp3')
m2 = pydub.AudioSegment.from_mp3(r'雪莉桑德伯格哈佛大学2014毕业典礼演讲2.mp3')
m3 = pydub.AudioSegment.from_mp3(r'雪莉桑德伯格哈佛大学2014毕业典礼演讲3.mp3')
m4 = pydub.AudioSegment.from_mp3(r'雪莉桑德伯格哈佛大学2014毕业典礼演讲4.mp3')
m5 = pydub.AudioSegment.from_mp3(r'雪莉桑德伯格哈佛大学2014毕业典礼演讲5.mp3')merge = m1 + m2 + m3 + m4 + m5merge.export('雪莉桑德伯格哈佛大学2014毕业典礼演讲.mp3', format='mp3', bitrate='192k')

代码很简单,就无需赘述了。

踩过的坑

在使用pydub前需要安装ffmpeg,安装及配置过程网上搜即可,我要说的是,如果配置完环境变量、更改某个代码文件后还是报错,试试把ffmpeg.exe, ffplay.exe, ffprobe.exe这三个文件和本脚本文件放在同一目录下

听力虐我千百遍,我待听力如初恋 之 爬取听力资源+音频整合(以雪莉桑德伯格哈佛大学2014毕业典礼演讲为例)相关推荐

  1. 我虐小车千百遍,小车待我如初恋

    None 转.转.转,转它个天昏地暗. 卓大大,来调侃下.****这轮胎能比赛吗? 无语 大哥,拐弯悠着点.****一脚油门,车毁人亡. 我是车模中的白马王子

  2. Recycleview 虐我千百遍 我待Recycleview如初恋

    Recycleview(一) 第二天正式入门android,还以为门槛刚迈进去,谁知道我连鞋都还没脱呢,第一次接触Recycleview,直接懵逼,写一些源代码以防自己忘记 第一步 新建一个包 -ad ...

  3. Netty虐我千百遍我待Netty如初恋

    段一 刚开始接触Netty时, 主要是通过浏览文章, 好的差的统统浏览, 慢慢的也就会发现几个好的博主, 包括他们录播的视频我也会去看. 甚至还买了书籍, 不求甚解的看, 反正就是多看吸收. 一开始还 ...

  4. VMware虐我千百遍,我却待她如初恋

    文章目录 一.相关环境 1.操作系统 2.VMware版本 二.我遇到过的bug 1.VMCI驱动程序无法自动安装,需要手动安装 2.Vmware提示以独占方式锁定此配置文件失败 3.VMware提示 ...

  5. 算法虐我千百遍,我待算法如初恋

    转自:算法虐我千百遍,我待算法如初恋 算法虐我千百遍,我待算法如初恋. 学习方法  1) 把所有经典算法写一遍  2) 看算法源码  3) 加入算法学习社区,相互鼓励学习  4) 看经典书籍 基本数据 ...

  6. 那些曾虐我千百遍的计算机组成原理

    那些曾虐我千百遍的计算机组成原理 本笔记知识点来源于b站狂神说:聊汇编先导课,有兴趣的小伙伴点这里:狂神聊汇编先导课 文章目录 那些曾虐我千百遍的计算机组成原理 进制的本质 有符号数和无符号数的区别 ...

  7. Maven 虐我千百遍,我待 Maven 如初恋 侵删

    前言 在如今的互联网项目开发当中,特别是Java领域,可以说Maven随处可见.Maven的仓库管理.依赖管理.继承和聚合等特性为项目的构建提供了一整套完善的解决方案,可以说如果你搞不懂Maven,那 ...

  8. 客户虐我千百遍,我待客户如初恋

    误闯误撞,进入了IDC行业,从事了服务器租用及托管的销售工作.很多人问我,什么是IDC,什么是服务器?我知道我解释的过于专业那么会有更多的问题,毕竟自己也不是百科全书,只好简答回复"没有显示 ...

  9. 我待数据如初恋,数据虐我千百遍

    我待数据如初恋,数据虐我千百遍 1.几个基础概念 1.1表达式 1.2语句 1.3程序 1.4函数 2.标识符 2.1关键字 2.2标识符的构成 3.基本数据类型 3.1整数和小数 3.2 布尔值和空 ...

最新文章

  1. 重温一遍数据结构之单链表(golang版)
  2. 京东取消快递员底薪引热议 官方回应:试点更有激励性的业务提成
  3. ELK 源码详细安装步骤
  4. python语言-Python语言介绍
  5. 联合主键违反唯一性约束_(变强、变秃)Java从零学习024/252数据库之定义约束。...
  6. ARCH与GARCH模型
  7. java集合源码分析_java集合源码分析(二):List与AbstractList
  8. 【竞赛篇-国创(大创)线上报告撰写(常用套话总结)】季度报告、中期报告、结题报告怎么写,用什么格式,附件传什么比较好
  9. C#发送邮件,包含发送附件
  10. leetcode1114. 按序打印 靡不有初,鲜克有终,小白加油加油加油
  11. html设置只在最后一页显示页脚,在Word里怎么设置页脚只在最后一页显示?
  12. android视频播放器 http 206,一个强悍而优美的Android视频播放器
  13. gps定位器更换平台指令-GPS定位器接入平台指令
  14. sublime text3安装python插件和flake8_Sublime Text环境配置(Python、Latex、Markdown)及常见问题汇总...
  15. 最受欢迎的海外服务器,优缺点都给你整理好了
  16. 基于物联网技术和RFID电子客票的铁路自动检票机
  17. 【msvcp100.dll下载】msvcp100.dll丢失的解决办法win10
  18. 交作业吖 week two
  19. 营销世界的 5 大剧变之 ② 微服务和 API
  20. 解决:win10的ie11浏览器页面打开黑屏,无法显示

热门文章

  1. 以selenium模拟登陆12306
  2. XCTF MISC base64stego
  3. 计算机大赛颁奖大会,学子风采|计算机与软件工程学院举行2019届考研表彰大会暨“互联网+”大赛颁奖仪式...
  4. Unity3D 太空大战——整理
  5. 第十课.图片风格迁移和GAN
  6. 成哥seo分享:小白学习seo的思路,谈谈SEO认知方面感悟
  7. Android Fence timeout
  8. FPGA实现除法器(verilog)
  9. 题目--拷贝构造,析构,静态成员变量...
  10. 你是做不到?还是不想做?