mp3小说免费下载(批量下载“爱书音”有声小说

沙滩排球 2022-11-28 11:19www.1689878.com沙滩排球

最近在听阿陈播的二号首长,非常过瘾,1~3部全听完了,发现后续还有高手过招。不过是在爱书音网页上。


不过一共122集,于是想实现把这些的音频mp3都下载到手机上听。

分析了下 :

比如第18集,url是“
ishuyin/player.php?mov_id=19248look_id=18player=down”

打开每集的页面,中间有个下载,href里面真好是mp3的下载地址:


但是事情没那么简单,通过查看网页源码发现:

这个href是加密的,是通过js动态算出来的。在页面中找找js,发现了加密算法:


也就是先通过*切割字符串,再将每个数字转换成字母。

通过以上分析,就有了思路:

全部代码:

import requests import json from bs4 import BeautifulSoup s = requests.Session() headers = { "Aept": "text/html,application/xhtml xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", "Aept-Encoding": "gzip, deflate, br", "Host": "ishuyin", "Referer": "ishuyin/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(retntent, "html.parser") d = soup.select("#urlDown") h = d.attrs.split("*") r = "".join() return r def download(link, index): ss = requests.Session() ret = ss.get(link) with open("mp3/{}.mp3".format(index), 'wb') as file: file.write(retntent) if __name__ == '__main__': for i in range(34, 123): url = "ishuyin/player.php?mov_id=19248look_id={}player=down".format(i) link = parse(url) download(link, i) print(u"第{}集下载完成".format(i))

效果:



源码:
github/onelittlecoder/python/blob/master/cmd/multi-download-ishuyin-mp3.py

Copyright © 2016-2025 www.1689878.com 体育知识网 版权所有 Power by

足球|篮球|NBA|奥运|网球|高尔夫|田径|游泳|排球|赛车|比赛|亚运会