之前分享过文章:
听说公众号深圳卫健委被网友投诉尺度大,我抓取了所有文章标题和阅读数分析了下mp.weixin.qq.com/s/AS4_H2dsAd2zu_vakWCHkA
一键批量下载微信公众号文章内容/图片/封面/视频/音频,支持导出html和pdf格式,包含阅读数/点赞数/在看数mp.weixin.qq.com/s/ogxF4j5PncxIQ91PtIwU-A
最近看到一篇文章里整理了很多音频,于是想着下载到本地听:
话不多说,直接上代码,如果有人需要我可以打包个工具,输入文章地址就能下载:
url = input('请输入文章地址:')
response = requests.get(url, headers=headers)
urls = re.findall('<a target="_blank" href="(https?://mp.weixin.qq.com/s\?.*?)"',response.text)
print(len(urls))
def audio(res,headers,date,title):
#
aids = re.findall(r'"voice_id":"(.*?)"',res.text)
time.sleep(2)
tmp = 0
for id in aids:
tmp +=1
url = f'https://res.wx.qq.com/voice/getvoice?mediaid={id}'
audio_data = requests.get(url,headers=headers)
print('正在下载音频:'+title+'.mp3')
with open(date+'___'+title+'___'+str(tmp)+'.mp3','wb') as f:
f.write(audio_data.content)
for mp_url in urls:
res = requests.get(html.unescape(mp_url),proxies={'http': None,'https': None},verify=False, headers=headers)
title = re.search(r'var msg_title = \'(.*)\'', res.text).group(1)
ct = re.search(r'var ct = "(.*)";', res.text).group(1)
date = time.strftime('%Y-%m-%d', time.localtime(int(ct)))
audio(res,headers,date,title)
sys.exit(1)
下载效果,上百个音频很快就下载完成了:
如果还想批量下载所有历史文章的音频和视频参考这个文章:
一键批量下载微信公众号文章内容/图片/封面/视频/音频,支持导出html和pdf格式,包含阅读数/点赞数/在看数mp.weixin.qq.com/s/ogxF4j5PncxIQ91PtIwU-A
