【Python】批量將PDG合成PDF,以及根據SS號重命名秒傳的文件

目錄

  • 說明
  • 批量zip2pdf
  • 批量zip2pdf下載
  • SS號重命名源代碼
  • SS號重命名源代碼下載
  • 附錄,水文年鑒

說明

1、zip2pdf是一個開源軟件,支持自動化解壓壓縮包成PDG,PDG合成PDF,筆者在其基礎上做了部分修改,支持批量轉換。

2、秒傳的文件是有一部分是根據SS號命名的,下載量大的話修改起來會十分麻煩。可以根據查詢接口,讀取SS號對應的書名,重命名本地文件。

批量zip2pdf

單文件模式(輸入1)即原版模式,多文件模式(輸入2)即自動讀取目錄下的壓縮文件,逐一轉化,避免手動輸入。
在這里插入圖片描述

批量zip2pdf下載

下載鏈接

SS號重命名源代碼


def get_book_name(ss_id):# 設置請求頭header = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0"}# 構造請求的URLurl = f"https://api.xxxxxxxx.com/search?category=duxiu&q={ss_id}"# 發送GET請求并獲取響應response = requests.get(url, headers=header)# 初始化name變量為Nonename = Nonetry:# 解析響應的JSON數據,獲取書名name = json.loads(response.text)["books"][0][5].replace(",", " ")except Exception as e:# 如果出現異常,打印異常信息print(e)# 等待1秒time.sleep(1)# 返回書名return namedef export_get_book_list(pdf_path):file_name = ""for f in glob(f"{pdf_path}/*.pdf"):p = Path(f)raw_name = p.name.replace(".pdf", "")file_name += f"{raw_name}\n"with open("file_name.txt", "w") as f:f.write(file_name)if __name__ == "__main__":pdf_path = Path.cwd() / "pdf"for f in glob(f"{pdf_path}/*.pdf"):p = Path(f)ss_id = p.name.replace(".pdf", "")raw_name = get_book_list(ss_id)# 增加漢字年raw_name_lst = raw_name.split(" ")raw_name_lst = list(filter(None, raw_name_lst))if "年" not in raw_name_lst[1]:raw_name_lst[1] = raw_name_lst[1] + "年"new_name = " ".join(raw_name_lst)print(new_name)p.rename(f"{new_name}_{ss_id}.pdf")

SS號重命名源代碼下載

點擊下載

附錄,水文年鑒

筆者導出了數據庫里面所有水文年鑒,當前版本的數據庫包含的水文年鑒,大約總共200多本,且主要為1988年之前的黃河流域水文年鑒。
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/164951.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/164951.shtml
英文地址,請注明出處:http://en.pswp.cn/news/164951.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【追求卓越11】算法--二叉樹

引導 接下來的幾節我們開始介紹非線性的數據結構--樹。樹的內容比較多也比較復雜。本節,我們只需要了解關于樹的一些基本概念。以及再進一步了解樹的相關內容--搜索二叉樹。該類型二叉樹在工作中,是我們常接觸的。該節我們介紹關于搜索二叉樹的相關操作&…

【華為數通HCIP | 網絡工程師】821-IGP高頻題、易錯題之OSPF(2)

個人名片: 🐼作者簡介:一名大三在校生,喜歡AI編程🎋 🐻???個人主頁🥇:落798. 🐼個人WeChat:hmmwx53 🕊?系列專欄:🖼?…

計算機中msvcr120.dll丟失怎樣修復?親測有效的5種方法分享

在計算機使用過程中,我們經常會遇到一些錯誤提示,其中之一就是“msvcr120.dll丟失”。這個錯誤通常會導致某些應用程序無法正常運行。那么,當我們遇到這個問題時,應該如何修復呢?本文將詳細介紹msvcr120.dll丟失的解決…

人工智能今天能為你做什么?生成式人工智能如何改變技術文檔領域

▲ 搜索“大龍談智能內容”關注GongZongHao▲ 作者 | Fabrice Lacroix 大型語言模型(LLM)和生成式人工智能(GenAI),尤其是ChatGPT,這些是引領科技革新的新興技術。它們不僅在科技界引起了軒然大波&#x…

Web 自動化神器 TestCafe(三)—用例編寫篇

一、用例編寫基本規范 1、 fixture 測試夾具 使用 TestCafe 編寫測試用例,必須要先使用 fixture 聲明一個測試夾具,然后在這個測試夾具下編寫測試用例,在一個編寫測試用例的 js 或 ts 文件中,可以聲明多個測試夾具 fixture(測試…

【C++11】default、delete與Noncopyable

C11 oop中的default、delete與Noncopyable default 在C11標準中,可以使用default關鍵字來顯式地聲明默認的構造函數和析構函數。 使用default關鍵字可以用來顯式聲明默認的構造函數和析構函數。這樣做可以讓編譯器自動生成默認實現 –>->->關于構造函數…

計數排序+桶排序+基數排序 詳講(思路+圖解+代碼詳解)

文章目錄 計數排序桶排序基數排序一、計數排序概念:寫法一:寫法二: 二、桶排序概念代碼 三、基數排序概念1.LSD排序法(最低位優先法)2.MSD排序法(最高位優先法) 基數排序VS基數排序VS桶排序 計數…

內容營銷頻頻出圈,這些品牌號做對了什么?

小紅書擁有大量的年輕用戶,通過運營品牌號既能降低投放成本,又能更好地連接消費者和品牌,在平臺完成一站式閉環營銷。 今天就借助幾個成功案例,來分析下他們是如何搭建官方賬號,通過內容運營吸引更多用戶,實…

一款專為POS機設計的芯片解決方案

一、基本概述 HCM8003設計用于磁條讀卡器系統。它會從F/2F恢復時鐘和數據信號磁產生的數據流頭HCM8003將用于數據速率從200到15000比特每秒。 二、典型電路 內部數據的采集和跟蹤這個范圍是自動的。可以應用于POS機終端設備、磁卡門禁系統、身份識別等場合。 三、引腳定義 四…

redis的主從復制,哨兵模式

1.主從復制 主從復制:主從復制是redis實現高可用的基礎,哨兵模式和集群都是在主從復制的基礎之上實現高可用 主從復制實現數據的多機備份,以及讀寫分離(主服務器負責寫,從服務器只能讀) 缺陷&#xff1a…

PyTorch基本操作和工作流程

1. PyTorch基礎 張量(Tensors): 學習 PyTorch 中表示數據的基本單元。了解如何創建、操作和使用張量。 自動微分(Autograd): 了解 PyTorch 的自動微分機制,這是訓練神經網絡的核心。 模型定義…

Android registerForActivityResults使用詳解以及實現原理

registerForActivityResult 使用用途是監聽Activity結果。 以下是使用樣例 //需要傳遞Request用于解析Intent和解析上個Activity返回的結果 val launchdata = registerForActivityResult<PickVisualMediaRequest, Uri?>(ActivityResultContracts.PickVisualMedia()) {…

中國人工智能系列白皮書 AIGC

https://www.caai.cn/index.php?s/home/article/detail/id/3188.html

【git】使用ssh

前言 git之前一直使用https&#xff0c;因為很方便隨時隨地都可以用。最近把代碼托管到GitHub&#xff0c;使用https就使用不了。后面聽同事說GitHub使用ssh是沒問題的&#xff0c;就想著嘗試一下。 git ssh配置 設置用戶名和郵箱 git config --global use.name username g…

OpenCV實現圖像噪聲、去噪基本方法

一、噪聲分類 1、高斯噪聲 指服從高斯分布&#xff08;正態分布&#xff09;的一類噪聲&#xff0c;其產生的主要原因是由于相機在拍攝時視場較暗且亮度不均勻造成的&#xff0c;同時相機長時間工作使得溫度過高也會引起高斯噪聲&#xff0c;另外電路元器件白身噪聲和互相影響…

acwing算法基礎之數學知識--求組合數基礎版

目錄 1 基礎知識2 模板3 工程化 1 基礎知識 &#xff08;一&#xff09; 組合數 C n k C_n^k Cnk?的計算公式&#xff0c; C n k n ? ( n ? 1 ) ? ( n ? k 1 ) 1 ? 2 ? k C_n^k\frac{n\cdot(n-1)\cdots(n-k1)}{1\cdot 2\cdots k} Cnk?1?2?kn?(n?1)?(n?k1)? …

laravel-admin導出excel全部,表中無id列導出失敗

laravel-admin導出excel時&#xff0c;導出全部數據&#xff0c;但是表中沒有id字段&#xff0c;然后就無法導出excel&#xff1b; 就直接顯示 一開始我也很著急&#xff0c;弄了半天還是不行&#xff0c;然后重寫還是有問題 最后發現底層代碼排序是按照id排序的orderBy(id, a…

Unity地面交互效果——6、地形動態頂點置換和曲面細分

回到目錄 Unity置換貼圖局部距離曲面細分 大家好&#xff0c;我是阿趙。 ??這篇文章是我無聊的時候做了一個demo&#xff0c;覺得挺有趣&#xff0c;于是就發上來。這里面包含了4個內容&#xff1a;置換貼圖、頂點偏移、局部曲面細分&#xff0c;曲面細分按距離調整強度。 …

JVS低代碼表單設計:數據聯動詳解(多級數據級、數據回顯等)

在這信息化時代&#xff0c;表單作為數據的收集和展示工具&#xff0c;已經滲透到不同的角落。JVS低代碼對表單的設計和操作進行了不斷的優化和創新。其中&#xff0c;聯動回顯作為一項重要的功能&#xff0c;無論是多級數據級聯控制、組件的聯動控制&#xff0c;還是多表的數據…