有声小说下载(有声小说下载mp3格式)燃爆了
最近在听阿陈播的二号首长,非常过瘾,1~3部全听完了,发现后续还有高手过招。mov_id=19248&look_id=18&pl
最近在听阿陈播的二号首长,非常过瘾,1~3部全听完了,发现后续还有高手过招。不过是在爱书音网页上。
不过一共122集,于是想实现把这些的音频mp3都下载到手机上听分析了下 :比如第18集,url是“https://www.ishuyin.com/player.php?mov_id=19248&look_id=18&player=down”。
打开每集的页面,中间有个下载,href里面真好是mp3的下载地址:
但是事情没那么简单,通过查看网页源码发现:
这个href是加密的,是通过js动态算出来的。在页面中找找js,发现了加密算法:
也就是先通过*切割字符串,再将每个数字转换成字母通过以上分析,就有了思路:全部代码:import requests import json from bs4 import BeautifulSoup s = requests.Session() headers = { "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", "Accept-Encoding": "gzip, deflate, br", "Host": "www.ishuyin.com", "Referer": "https://www.ishuyin.com/show-19248.html", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36" } def parse(url): ret = s.get(url=url, headers=headers) soup = BeautifulSoup(ret.content, "html.parser") d = soup.select("#urlDown")[0] h = d.attrs["href"].split("*") r = "".join([chr(int(x)) for x in h if x != ""]) return r def download(link, index): ss = requests.Session() ret = ss.get(link) with open("mp3/{}.mp3".format(index), wb) as file: file.write(ret.content) if __name__ == __main__: for i in range(34, 123): url = "https://www.ishuyin.com/player.php?mov_id=19248&look_id={}&player=down".format(i) link = parse(url) download(link, i) print(u"第{}集下载完成".format(i)) 。
效果:
源码:https://github.com/onelittlecoder/python/blob/master/cmd/multi-download-ishuyin-mp3.py
- 标签:
- 编辑:李松一
- 相关文章
-
朱自清散文精选散文评论文章
针对语文进修的三大停滞:读不懂、做不合错误、写欠好,由衡水形式的创作发明者之一,原衡水中学语文组组长朱自清散文精选,衡水中…
-
散文《最美的遇见》作者散文评论女孩子的花心的句子有哪些
在我对几千名社会精英追根溯源的采访中散文名篇精选,我发明了如许一个奥妙:他们有的喜好念书,有的不喜好,可是他们都十分善于读人…
- 杨绛散文《风》散文名篇600字朱自清十大经典散文
- 朱自清散文集萧红散文评论300字左右的句子散文是什么文学体裁
- 优美散文网散文名篇长篇散文作家应具有的素养
- 散文书籍排行榜前十名散文评论的书籍有哪些散文的特点是形散神不散的神
- 散文评论写作万能模板图片大全散文的特点六要素