国家智慧教育读书平台-青少年读本打包下载

查看 210|回复 10
作者:ameiz   
上一次发布了 国家中小学智慧教育平台电子教材全套下载 本次带来国家智慧教育读书平台-青少年读本打包下载
首先浏览器访问https://reading.smartedu.cn/youth,打开控制台发现https://s-file-1.ykt.cbern.com.cn/reading/api/zh-CN/14fba334-5e8b-4523-8b60-1f3abde6f60c/elearning_library/v1/libraries/42b4e538-7319-47cb-9d10-12fb58b78420/contents/actions/full/adapter/f848d8b521af3a6c13474ae97d117e7f428208b77884aa2dd46599d81a4ae1a5/files/0.json中包含了所有的读本信息,共计341本。


微信截图_20230827144615.png (233.36 KB, 下载次数: 0)
下载附件
2023-8-27 14:47 上传

随便点击某个电子书条目,发现浏览器会请求访问 https://s-file-1.ykt.cbern.com.cn/reading/api_static/smart_ebooks/8be1d5a8-1df4-4279-aba8-b1fe2f4f2810.json 地址,不难发现只需要拼接上第一步中0.json中的unit_id即可。


image.png (160.01 KB, 下载次数: 0)
下载附件
2023-8-27 14:49 上传

观察以上请求地址返回的json内容,发现ebook_third_file即为完整的电子书访问路径


image.png (125.76 KB, 下载次数: 0)
下载附件
2023-8-27 14:51 上传



image.png (403.82 KB, 下载次数: 0)
下载附件
2023-8-27 14:53 上传

因此接下来思路很简单。
直接上代码:
download.py
[Python] 纯文本查看 复制代码import requests
import os
from concurrent.futures import ThreadPoolExecutor
# 青少年读本文件列表
url = 'https://s-file-1.ykt.cbern.com.cn/reading/api/zh-CN/14fba334-5e8b-4523-8b60-1f3abde6f60c/elearning_library/v1/libraries/42b4e538-7319-47cb-9d10-12fb58b78420/contents/actions/full/adapter/f848d8b521af3a6c13474ae97d117e7f428208b77884aa2dd46599d81a4ae1a5/files/0.json'
# 下载目录
download_dir = './ebooks'
# 下载集合
download_lists = []
def download_list():
    response = requests.get(url).json()
    for item in response:
        # 拼接文件访问地址
        file_url = f"https://s-file-1.ykt.cbern.com.cn/reading/api_static/smart_ebooks/{item['unit_id']}.json"
        # 获取文件真实下载链接
        download_url = requests.get(file_url).json()['ebook_third_file']
        # 拼接文件完整保存路径
        output = f"{download_dir}/{item['tags'][0]['title']}/{item['title']}.pdf".replace(' ', '') \
            .replace(':', '·').replace(':', '·').replace("“", "").replace("”", "")
        # 添加到下载集合
        download_lists.append((download_url, output))
def download(download_url, output):
    # 获取文件目录
    file_download_dir = os.path.dirname(output)
    # 判断目录是否存在,不存在则创建
    if not os.path.exists(file_download_dir):
        os.makedirs(file_download_dir)
    # 下载文件
    resp = requests.get(download_url)
    # 保存文件
    with open(output, 'wb') as f:
        f.write(resp.content)
        print(f"下载完成:{output}")
if __name__ == '__main__':
    download_list()
    # 多线程下载
    with ThreadPoolExecutor(max_workers=10) as executor:
        for arg in download_lists:
            executor.submit(download, *arg)


image.png (304.11 KB, 下载次数: 0)
下载附件
2023-8-27 17:56 上传

最终全部下载完共计341个文件,文件体积19.1G


image.png (138.58 KB, 下载次数: 0)
下载附件
2023-8-27 17:28 上传

[color=rgba(0, 0, 0, 0.85)]https://www.123pan.com/s/ObllVv-xfqnH.html提取码:52pj

下载次数, 读本

书虫吾爱   

大致浏览一下,发现有四本打不开。
鸟与文学
奇泥妙想——纸粘土手工乐园(初级篇)
龙兄勇闯古墓
民间美术之旅
强迫症患者留言
loaferer   

国家智慧教育读书平台-青少年读本
https://www.aliyundrive.com/s/XNpUnm8FQ7i
点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。
huangyun   

刚毕业赚到窝囊费 你又叫我看书??
charlieyyg   

太棒了,正好需要,非常感谢!
小猫猫   

感谢分享
xiaogao2677   

下载留存,感谢楼主分享
zhangbice   

太棒了,正好需要,非常感谢
mishka   

谢谢楼主教学
坐等一个阿里链接
kk1212   

有没有阿里云网盘的?
您需要登录后才可以回帖 登录 | 立即注册

返回顶部