我最初学习Python的时候,听过余老师的课,学到了一些不错的技巧,也激发了我学习Python的兴趣,今天我再次拿到了以前的代码,经过修改后,变成了一个可以下载微信页面音频的小工具。这个小工具的主要功能是批量下载这个页面的mp3,下载音频mp3所在的页面在程序当中:

一、采用的Python包

我主要采用了requests, re和wget这三个包来实现。

1. requests获取网页源码

2. re是正则匹配我们要找的mediaid

3. wget是把找到的音频地址下载到本地。话不多说,开始上代码:

二、下载音频源码

import requests
import re,wgetdef readurl(url):"""获取某个网页的内容,并筛选出3个mp3的ID返回mp3的ID的列表 """text = requests.get(url).textpatt = r'voice_encode_fileid="(.*?)"'filename= r'size="\d+\.\d+" name="(.*?)"'ID_list = re.findall(patt,text)file_list= re.findall(filename,text)return ID_list,file_listdef downmp3(lst):"""获取给定的某个网页下的mp3"""for p in range(len(lst[0])):path = 'https://res.wx.qq.com/voice/getvoice?mediaid='name = path + lst[0][p]wget.download(name,out=lst[1][p].replace(" ",""))
#         mp3 = requests.get(name)
#         #with open('hlmmp_%d.mp3'%p,'wb') as ff:
#         with open(lst[1][p],replace(" ",""),'wb') as ff:
#             ff.write(mp3.content)print("已完成第%d个"%p)
if __name__ == '__main__':#以下是微信网页的地址url="https://mp.weixin.qq.com/s?__biz=MzAwNDU5MDE4MQ==&mid=2456894102&idx=8&sn=60e15868a78935291502bb17113242eb&chksm=8cac059cbbdb8c8a23c3ab6906832493cc2ac3fc813adb93f0ab53040e667bafb1f9425a7457&scene=178&cur_album_id=1948871998160355331#rd"text = readurl(url)print(text)downmp3(text)print("已全部完成。")

三、改进程序的方法

在第二个函数中,我注释到了原来采用with open的方法下来载音频,而是采用wget这个现成的包,实践证明这个包非常友好,而且不需要复杂的算法就能轻松实现我们想要的功能。

readurl这个函数是获取mediaid和文件名

downmp3这个函数是下载音频文件,同时以对应的文件名保存。

经过测试发现,下载速度还是不错的,而且保留了文件名,实现了一键下载,为我们节省了大量的时间。

利用Python中的requests+wget批量下载微信页面上的音频相关推荐

  1. 【Python】利用Python爬虫实现网页图片批量下载

    本文爬取的是豆瓣的网站,爬虫有规则,爬虫需谨慎.文章末附效果图 源码下载地址:https://github.com/Seichung/Python/blob/master/Python_Practic ...

  2. 利用wget批量下载http目录下文件

    因为网络特殊,连不上互联网,只好自己制作一个puppet本地源.因为自己的电脑是是可以连互联网的,所以就直接将puppetlabs.repo导入进来了 rpm -Uvh http://yum.pupp ...

  3. WGET批量下载风云卫星数据

    1. 在风云卫星官网创建账号并提交订单.之后胡获取到下载链接,本来想这种下载链接可以直接由IE或者火狐的插件 down them all进行下载的,但是由于不知道是我的浏览器的设置还是系统设置的问题, ...

  4. Python中使用sentinelsat包自动下载Sentinel系列数据

    Python中使用sentinelsat包自动下载Sentinel系列数据 前言 普通下载 使用工具批量下载Sentinel 数据 使用SNAP批量下载 第三方软件或网站批量下载 Sentinel-1 ...

  5. pythonrequests发送数据_在python中使用requests 模拟浏览器发送请求数据的方法

    在python中使用requests 模拟浏览器发送请求数据的方法 如下所示: import requests url='http://####' proxy={'http':'http://#### ...

  6. python根据url下载数据_利用Python如何实现根据URL地址下载并保存文件至对应目录...

    利用Python如何实现根据URL地址下载并保存文件至对应目录 发布时间:2020-11-16 14:23:11 来源:亿速云 阅读:58 作者:Leah 这篇文章将为大家详细讲解有关利用Python ...

  7. python汇率转换_利用Python中的Xpath实现一个在线汇率转换器

    前言 在之前的语法里面,我们记得有一个初识Python之汇率转换篇,在那个程序里面我们发现可以运用一些基础的语法写一个汇率计算,但是学到后面的小伙伴就会发现这个小程序有一定的弊端. 首先,它不可以实时 ...

  8. 使用Python+Chrome浏览器批量下载Ocean Color上遥感数据

    目录 1.前言 2.主要思路及代码 3.结果展示 建了一个QQ群,大家可以在里边聊聊水色遥感数据下载和数据处理方面的事情:1087024529 1.前言 最近遇见一个很尴尬的事情.之前写过用IDM批量 ...

  9. wget批量下载文件

    wget批量下载文件 参数 参数 解释 -c 断点续传 -r 递归下载,下载指定网页某一目录下(包括子目录)的所有文件 -nd 递归下载时不创建一层一层的目录,把所有的文件下载到当前目录 -np 递归 ...

  10. 利用python中的xlrd和xlwt操作excel

    微信公众号:数据运营人 本系列为博主的读书学习笔记,如需转载请注明出处. 当提起数据处理,一般情况下我们都可以用python中的pandas完成,但是当我们发现一些不规则的excel数据,所谓不规则如 ...

最新文章

  1. 让计算机拥有一双眼睛,人工智能科学家已经努力了半个世纪
  2. 安全检测点的一些梳理——待长期整理
  3. IT团队之非正式沟通
  4. python学习-测试(文档测试 doctest、单元测试 unittest)
  5. 重读经典:《An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale》
  6. oss/bss/mss转自搜搜百科
  7. [妙味Ajax]第一课:原理和封装
  8. swift int转string_用Swift开发macOS程序,九、目录模块
  9. 大三寒假--算法复习
  10. 多维数组和矩阵----子数组最大累加和
  11. louvain算法 matlab,Community_BGLL_Matlab 复杂网络社团发现算法Louvain的 版本,简单实用,欢迎下载 272万源代码下载- www.pudn.com...
  12. Mac系统搭建C语言开发环境
  13. crm系统如何处理好客户投诉问题?
  14. 通过url下载文件并保存
  15. Android 7.1 车机 Android 系统 在线升级,将安装到下载到/data/目录下面
  16. python dataframe的某一列变为list_NumPy中的ndarray与Pandas的Series和DataFrame之间的区别与转换...
  17. 左耳听风 第四十二周
  18. 信息系统项目管理师10大管理47个过程域输入输出工具(项目质量管理)
  19. 「2019 JSConf.Hawaii - Brie.Bunge」大规模应用 TypeScript
  20. hud1003 max num

热门文章

  1. python中的sep函数_Python中sep是函数吗?该怎么使用?_后端开发
  2. 如何编辑修改PDF文字
  3. 服务器删除的excel文件备份在哪里,microsoft excel备份文件在哪 - 卡饭网
  4. hse是什么意思的缩写_什么是HSE
  5. 名人博客阅读摘要三:外部排序
  6. 计算机中prd代表什么意思,prd加日期什么意思
  7. android手机相册多张上传,一键批量上传手机照片到QQ相册功能 节省手机流量
  8. 计算机数字公式表白,love密码数字表白 数字表白公式
  9. EEG中的EOG伪迹
  10. 什么是递归?递归的理解