利用python写个下载teahour音频的小脚本
作者:不懂真人 发布时间:2021-05-17 06:05:54
标签:python,脚本,teahour音频
前言
最近空闲的时候看到了之前就关注的一个小站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 继续跟 Robbin 聊聊技术人的战略与战术.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
来源:http://peiqiang.net/2017/03/16/download-teahour-fm-audio-1.html


猜你喜欢
- SQL Server vNext CTP 1.2安装教程:此安装过程参考微软官方的安装文档:https://docs.micro
- 在SQL Server日常的函数、存储过程和SQL语句中,经常会用到不同数据类型的转换。在SQL Server有两种数据转换类型:一种是显性
- eWebEditor V2.80最终版 说明 目录结构说明 =============================
- 一:工具准备Anaconda:是一个开源的Python发行版本,其中包含了conda、Python等180多个科学包及其依赖项。【Anaco
- 前言本文主要介绍了关于Python+selenium自动化环境搭建的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧
- 如下所示:sum = 0n = 99while n > 0: sum = sum + n n = n - 2p
- Python2 和 Python3 是不兼容的,如果碰到无法升级到 Python2 代码,或者同事中有坚守 Python2 阵营的情况,就要
- 众所周知,Mac自带python2,但无奈我们想使用新版本,因此我们需要安装python3安装python3我使用了homebrew,网上也
- 前言说说外星人那些事儿....你以为的外星人......他们都是乘坐UFO来地球的,长的嗯哼可能比较有特色。也许长这样害!其实可能也或许不长
- 一、概述有时候会在一台主机上安装多个不同的Python版本,用以运行不同时期开发的项目, 而在这些不同的Python版本上有时又会加装不同的
- 前言利用SVD是可以对图像进行压缩的,其核心原因在于,图像的像素之间具有高度的相关性。代码# -*- coding: utf-8 -*-&#
- 引言本集开始,将会深入Document接口。打开或创建一个文档都会产生一个Document对象,它代表文档本身,所以绝大部分文档的操作都会依
- 事情是这样的五一假期第一天值班隔壁有点喜欢的小姐姐突然跑过来跟我聊天“微信账号切换来切换去 特别麻烦”“怎么能同时打开多个呢?”我心想,你有
- 前言本博客重点内容:reportlab生成流文件格式、reportlab分页和图片流文件写入reportlab等。我讲一下我这个需求的来源,
- win7 pycharm设置界面全黑色方法:1.设置默认PyCharm解析器: 操作如下:Python–>Preferences–&g
- 在javascript中,null>=0 为真,null==0却为假,null的值详解1.前言今天看见朋友们在讨论一个问题,说 null 到
- 先 Create table 吧create table emp(id int not null primary key,name varc
- 名词解释断号:比如,连续生成的编号,由于某种操作(通常为删除)后,产生不连续的编号,我们将这种不连续的编号称为断号。例如,数据库中有一个字段
- xpath表达式1. xpath语法<bookstore><book> <title lang="e
- 需要将字符串中的空格去掉的情况,可以使用下面几种解决方法:1、strip()方法:该方法只能把字符串头和尾的空格去掉,但是不能将字符串中间的