自己总结的一些思路: 1.先到所要下载的音频的网页查找网络的一些基本信息(url,headers) 2.在network里查找json文件,得到下载所在的网页路径 3.开始编码 4.先正则匹配到每章节的id和名称 5.找到该章节下载所在的网页 6.正则匹配下载网页里的下载网址 7.以.m4a的 形式存到本地 #coding=utf-8 import requests import re from bs4 import BeautifulSoup def get_url(url): headers = { "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36", } res = requests.get(url, headers=headers) return res def main(): url = "https://www.ximalaya.com/renwen/268522/" res = get_url(url) res.encoding="utf-8" html = res.text soup = BeautifulSoup(html, features='lxml') #查看一下网页 print soup.prettify() # 将网页格式化 #正则匹配一下《三国演义》的id以及他的章节名称 reg = 'href="/lishi/268522/(.*?)">(.*?)</a>' name_url = re.findall(reg,html) for sound_id,title in name_url: #输出id和章节查看一下 print sound_id,title #找到对应章节下载的所在的网页 json.url = 'http://www.ximalaya.com/tracks/'+str(sound_id)+'.json' print json.url r = get_url(json.url) #正则匹配一下下载路径 regs = '"play_path_64":"(.*?)"' sound_url = re.findall(regs,r.text) print sound_url[0] #将该章节以.m4a形式下载到本地文件中 ret =get_url(sound_url[0]) with open("C://img222//"+title+'.m4a','wb') as f: f.write(ret.content) if __name__ == "__main__": main()
python 2.7 音频《三国演义》下载
猜你喜欢
转载自blog.csdn.net/qq_42133828/article/details/83661272
今日推荐
周排行