如何利用python下载原创力文档

原创力文档是一个文档资源共享平台,文档内容类型丰富,包含计算机、高等教育、金融投资、医药卫生、汽车机械、外语学习、报告分析、法律法规、研究生考试、电子工程、经济贸易、建筑施工、幼儿小学教育、中学教育、文学历史、资格认证考试、人力资源、学术论文、行业资料、办公文档、生活休闲,满足你学习、工作之需,提高解决问题效率和能力!

经常看见有人发贴求原创力文档下载,正好最近在学python,就用python写了个原创力文档下载工具,授人以鱼不如授人以渔。

源代码如下:

"""
-*- coding: utf-8 -*-
文件名:原创力文档下载.py
作者:zhaozhao
环境: PyCharm
功能:原创力文档下载(仅支持可免费预览的部分)
"""
import os
import re
import requests
import time
from PIL import Image
from tqdm import tqdm

def get_html(url):
    html = requests.get(url)
    html.encoding = 'utf-8'
    return html.text

def get_params(url):
    html = get_html(url)
    aid = re.findall(pattern='aid: (.*?),', string=html, flags=re.S)[1]
    pages = re.findall(pattern='preview_page: (.*?),', string=html, flags=re.S)[0]
    view_token = re.findall(pattern="view_token: '(.*?)' //预览的token", string=html, flags=re.S)[0]
    params = []
    for page in range(1, int(pages) + 1, 6):
        param = {
            'project_id': '1',
            'aid': aid,
            'view_token': view_token,
            'page': page}
        params.append(param)
    return params

def img_to_pdf(folder_path, pdf_file_path):
    files = os.listdir(folder_path)
    png_files = []
    sources = []
    for file in files:
        if "png" in file or "jpg" in file:
            png_files.append(folder_path + file)
    try:
        png_files.sort(key=lambda x: int(str(re.findall("\d+", x)[0])))
    except IndexError:
        files.sort()
    output = Image.open(png_files[0])
    png_files.pop(0)
    for file in png_files:
        png_file = Image.open(file)
        sources.append(png_file)
    output.save(pdf_file_path, "pdf", save_all=True, append_images=sources)

def main():
    url = input("请输入文档链接:")
    path = input("请输入保存路径:")
    title = re.findall(pattern="title: '(.*?)', //文档标题", string=get_html(url), flags=re.S)[0]
    img_path = path +'\\'+ title.split('.')[0]
    for param in tqdm(get_params(url), desc="下载进度", unit="epoch", colour='green', ncols=100):
        headers = {'Accept': '*/*',
                   'Accept-Encoding': 'gzip, deflate, br',
                   'Accept-Language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',
                   'Connection': 'keep-alive',
                   'DNT': '1',
                   'Host': 'openapi.book118.com',
                   'Referer': 'https://max.book118.com/',
                   'sec-ch-ua': '"Chromium";v="104", " Not A;Brand";v="99", "Microsoft Edge";v="104"',
                   'sec-ch-ua-platform': '"Windows"',
                   'Sec-Fetch-Dest': 'script',
                   'Sec-Fetch-Mode': 'no-cors',
                   'Sec-Fetch-Site': 'same-site',
                   'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36 Edg/104.0.1293.54'}
        html = requests.get(url='https://openapi.book118.com/getPreview.html', headers=headers, params=param)
        html.encoding = 'utf-8'
        res = re.findall(pattern=r'"data":(.*?),"pages"', string=html.text, flags=re.S)[0]
        res = eval(res.replace('\\', ''))  # 将字符串转换为字典
        for k, v in res.items():
            img = requests.get('https:' + v).content
            if not os.path.exists(img_path):
                os.mkdir(img_path)
            with open(img_path+'\\'+k +'.png', 'wb') as f:
                f.write(img)
            # print("第 {} 页下载成功".format(k))
        time.sleep(3)
    img_to_pdf(img_path+'\\', img_path+'\\'+title.split('.')[0]+'.pdf')
    print("文档下载成功!")

if __name__ == '__main__':
    main()

源代码在python环境里面运行就行,不会的可以百度学一下安装pycharm,很简单,视频网站上也有很多教学视频。

S32K原创文档是指对S32K系列芯片实施的原创文档。S32K系列是意法半导体(STMicroelectronics)推出的一款32位汽车化主控芯片,具有高性能、低功耗和丰富的外设接口等特点,适用于汽车电子系统等领域。原创文档则是对S32K系列芯片的技术规格、设计原理、软件开发等方面的文档资料。这些文档是由制造商或者第三方技术团队经过研究和实践得出的,具有较高的可信度和专业性。 S32K原创文档主要包括以下几个方面的内容。首先是S32K系列芯片的基本介绍,包括芯片的特性、架构和应用领域等。其次是S32K系列芯片的硬件设计指南,包括电路设计、引脚配置、外设接口等方面的详细说明,帮助工程师设计出稳定可靠的硬件系统。然后是S32K系列芯片的软件开发指南,包括软件架构、驱动程序、编程接口等方面的详细说明,帮助开发人员开发出功能完善的软件系统。最后是S32K系列芯片的调试和测试指南,包括故障排查、性能测试、软硬件集成调试等方面的详细说明,帮助工程师解决问题和提高开发效率。 S32K原创文档对于使用S32K系列芯片的工程师和开发人员来说,具有重要的指导意义。通过学习和理解这些文档,可以更好地了解S32K系列芯片的特性和性能,以及其在汽车电子领域中的应用。对于芯片的硬件设计和软件开发来说,S32K原创文档提供了详细的技术指南和实例,可以帮助工程师们正确、高效地完成设计任务。同时,S32K原创文档也为问题排查和故障修复提供了重要的参考资料,帮助工程师更快地解决问题并提高产品质量。 总之,S32K原创文档对于S32K系列芯片的研发和应用具有重要的意义,它是工程师们进行相关设计工作的重要参考,可以提高研发效率和产品质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

破碎的天堂鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值