利用python写个下载teahour音频的小脚本

发布时间 - 2026-01-11 01:01:24    点击率:

前言

最近空闲的时候看到了之前就关注的一个小站http://teahour.fm/,一直想把这里的音频都听一遍,可转眼间怎么着也有两年了,却什么也没做。有些伤感,于是就写了个脚本,抓了下音频的下载链接,等下载下来后一定要认真听听。

时间仓促,加调试也就那么十几分钟,脚本写的可能有些烂,大家可以留言指出。

teahour.py

 #!/usr/bin/env python
 #coding: utf-8
 
 import sys
 import requests
 from BeautifulSoup import BeautifulSoup
 
 reload(sys)
 sys.setdefaultencoding( "utf-8" )
 
 def parse_index():
  l = []
  r = requests.get("http://teahour.fm/")
  text = r.text
  html = BeautifulSoup(text)
  a = html.findAll("ul")[-3].findAll("a")
  for item in a:
   url = "".join(["http://teahour.fm",item.attrs[0][1]])
   title = item.text
   title = title.strip("#")
   l.append((title,url))
  return l
 
 def write(lines):
  with open("teahour.sh","a") as fh:
   fh.writelines(lines)
 
 def parse_sub(t):
  title,url = t
  r = requests.get(url)
  text = r.text
  html = BeautifulSoup(text)
  audio_url = html.find("audio").attrs[-1][-1]
  ext = audio_url.split(".")[-1]
  line = "wget '%s' -SO '%s.%s'\n" % (audio_url,title,ext)
  #print line
  return line
 
 def main():
  lines = []
  l = parse_index()
  for t in l:
   line = parse_sub(t)
   lines.append(line)
  write(lines)
 
 if __name__ == "__main__":
  main()

文本teahour.sh的部分内容如下:

peiqiang@budongdeMacBook-Pro:~/Downloads/teahour$ cat teahour.sh
wget 'http://screencasts.b0.upaiyun.com/podcasts/teahour_episode_89.m4a' -SO '89 和玎玎聊聊如何搭建精益创业团队.m4a'
wget 'http://screencasts.b0.upaiyun.com/podcasts/teahour_episode_88.m4a' -SO '88 与墨刀创始人张元一聊创业从 0 到 1.m4a'
wget 'http://screencasts.b0.upaiyun.com/podcasts/teahour_episode_87.m4a' -SO '87 和互联网老兵高春辉聊 IPIP.net.m4a'
wget 'http://screencasts.b0.upaiyun.com/podcasts/teahour_episode_86.mp3' -SO '86 和『掘金』创始人阴明聊聊创业和技术.mp3'
wget 'http://screencasts.b0.upaiyun.com/podcasts/teahour_episode_85.mp3' -SO '85 这次我们聊聊远程工作.mp3'

执行脚本sh teahour.sh下载的部分内容如下:

peiqiang@budongdeMacBook-Pro:~/Downloads/teahour$ ll
total 1077896
-rw-r--r-- 1 peiqiang staff 130416640 3 16 20:02 83 这次我们聊聊超酷的Ethereum.m4a
-rw-r--r-- 1 peiqiang staff 109631418 3 3 2016 84 继续跟 Ro* 聊聊技术人的战略与战术.m4a
-rw-r--r-- 1 peiqiang staff 89519924 6 12 2016 85 这次我们聊聊远程工作.mp3
-rw-r--r-- 1 peiqiang staff 87766246 8 8 2016 86 和『掘金』创始人阴明聊聊创业和技术.mp3
-rw-r--r-- 1 peiqiang staff 59058564 9 11 2016 87 和互联网老兵高春辉聊 IPIP.net.m4a
-rw-r--r-- 1 peiqiang staff 32408522 10 26 15:55 88 与墨刀创始人张元一聊创业从 0 到 1.m4a
-rw-r--r-- 1 peiqiang staff 43051575 11 8 18:49 89 和玎玎聊聊如何搭建精益创业团队.m4a
-rwxr-xr-x@ 1 peiqiang staff  1055 3 16 20:02 teahour.py
-rw-r--r-- 1 peiqiang staff  11465 3 16 19:57 teahour.sh

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# python脚本下载  # python脚本实例下载  # python下载文件  # 脚本  # Python脚本实现下载合并SAE日志  # Python实现的飞速中文网小说下载脚本  # 编写Python脚本来实现最简单的FTP下载的教程  # 编写Python脚本批量下载DesktopNexus壁纸的教程  # 使用python采集脚本之家电子书资源并自动下载到本地的实例脚本  # Python实现多线程下载脚本的示例代码  # 写一个Python脚本下载哔哩哔哩舞蹈区的所有视频  # Python实现一键下载视频脚本  # Python百度指数获取脚本下载并保存  # 互联网  # 老兵  # 精益  # 也有  # 也就  # 一遍  # 写了  # 十几  # 这篇文章  # 想把  # 谢谢大家  # 前就  # 下载链接  # 抓了  # 转眼间  # 超酷  # 年了  # 什么也没  # 都听  # 看到了 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  如何彻底删除建站之星生成的Banner?  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  JS实现鼠标移上去显示图片或微信二维码  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  如何用AI帮你把自己的生活经历写成一个有趣的故事?  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  如何用虚拟主机快速搭建网站?详细步骤解析  重庆市网站制作公司,重庆招聘网站哪个好?  如何用好域名打造高点击率的自主建站?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  Laravel观察者模式如何使用_Laravel Model Observer配置  Linux系统命令中screen命令详解  EditPlus 正则表达式 实战(3)  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  详解Android中Activity的四大启动模式实验简述  教你用AI润色文章,让你的文字表达更专业  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  JavaScript如何实现音频处理_Web Audio API如何工作?  如何基于云服务器快速搭建网站及云盘系统?  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  如何挑选高效建站主机与优质域名?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  Bootstrap CSS布局之列表  iOS正则表达式验证手机号、邮箱、身份证号等  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  如何在建站之星网店版论坛获取技术支持?  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  百度浏览器如何管理插件 百度浏览器插件管理方法  如何彻底卸载建站之星软件?  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  实现点击下箭头变上箭头来回切换的两种方法【推荐】  如何在万网开始建站?分步指南解析  在线制作视频的网站有哪些,电脑如何制作视频短片?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  php 三元运算符实例详细介绍  b2c电商网站制作流程,b2c水平综合的电商平台?  昵图网官网入口 昵图网素材平台官方入口  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  如何用PHP工具快速搭建高效网站?  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  Laravel如何生成API文档?(Swagger/OpenAPI教程)  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  如何用狗爹虚拟主机快速搭建网站?  C语言设计一个闪闪的圣诞树