国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

用 Python 寫了一個PDF轉換器,以后再也不用花錢轉了

開發 后端
想必小伙伴都經歷過,當你想要把PDF轉為WORD時,自己打字赫赫甩在你眼前。于是,今天的主題出來了:用python寫一個PDF轉WORD的小工具(基于某網站接口)。

 

前言

想必小伙伴都經歷過,當你想要把PDF轉為WORD時,自己打字赫赫甩在你眼前:

用 Python 寫了一個PDF轉換器,以后再也不用花錢轉了

 

不充錢就想白嫖??想得美~

然而,博主是不會退縮的,畢竟迎難而上是傳統美德。于是,今天的主題出來了:用python寫一個PDF轉WORD的小工具(基于某網站接口)。

一、思路分析

網上一搜,你可以發現很多PDF轉換的工具,其中不乏在線轉換的網站,比如這樣的:

用 Python 寫了一個PDF轉換器,以后再也不用花錢轉了

 

那么,通過網站提供的測試接口,我們便可以通過爬蟲模擬的方式實現轉換。

沒有錯了~思路就是如此的簡單明了,今天的主角便是:

https://app.xunjiepdf.com

通過抓包分析,知道這是一個POST請求,接下來用requests庫模擬即可。

需要注意的是,這個接口僅用于測試,所以可供轉換的頁面等都有所限制,如需更完整的功能還請支持原版。

二、我的代碼

正所謂一萬個coders,就有一萬種codes,以下為我的代碼,僅供參考。

導入相關庫:

  1. import time 
  2. import requests 

定義PDF2Word類:

  1. #2020最新python學習資源分享:1156465813 
  2. class PDF2Word(): 
  3.     def __init__(self): 
  4.         self.machineid = 'ccc052ee5200088b92342303c4ea9399' 
  5.         self.token = '' 
  6.         self.guid = '' 
  7.         self.keytag = '' 
  8.      
  9.     def produceToken(self): 
  10.         url = 'https://app.xunjiepdf.com/api/producetoken' 
  11.         headers = { 
  12.                 'User-Agent''Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0'
  13.                 'Accept''application/json, text/javascript, */*; q=0.01'
  14.                 'Accept-Language''zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2'
  15.                 'Content-Type''application/x-www-form-urlencoded; charset=UTF-8'
  16.                 'X-Requested-With''XMLHttpRequest'
  17.                 'Origin''https://app.xunjiepdf.com'
  18.                 'Connection''keep-alive'
  19.                 'Referer''https://app.xunjiepdf.com/pdf2word/',} 
  20.         data = {'machineid':self.machineid} 
  21.         res = requests.post(url,headers=headers,data=data) 
  22.         res_json = res.json() 
  23.         if res_json['code'] == 10000
  24.             self.token = res_json['token'
  25.             self.guid = res_json['guid'
  26.             print('成功獲取token'
  27.             return True 
  28.         else
  29.             return False 
  30.      
  31.     def uploadPDF(self,filepath): 
  32.         filename = filepath.split('/')[-1
  33.         files = {'file': open(filepath,'rb')} 
  34.         url = 'https://app.xunjiepdf.com/api/Upload' 
  35.         headers = { 
  36.                 'User-Agent''Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0'
  37.                 'Accept''*/*'
  38.                 'Accept-Language''zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2'
  39.                 'Content-Type''application/pdf'
  40.                 'Origin''https://app.xunjiepdf.com'
  41.                 'Connection''keep-alive'
  42.                 'Referer''https://app.xunjiepdf.com/pdf2word/',} 
  43.         params = ( 
  44.                 ('tasktype''pdf2word'), 
  45.                 ('phonenumber'''), 
  46.                 ('loginkey'''), 
  47.                 ('machineid', self.machineid), 
  48.                 ('token', self.token), 
  49.                 ('limitsize''2048'), 
  50.                 ('pdfname', filename), 
  51.                 ('queuekey', self.guid), 
  52.                 ('uploadtime'''), 
  53.                 ('filecount''1'), 
  54.                 ('fileindex''1'), 
  55.                 ('pagerange''all'), 
  56.                 ('picturequality'''), 
  57.                 ('outputfileextension''docx'), 
  58.                 ('picturerotate''0,undefined'), 
  59.                 ('filesequence''0,undefined'), 
  60.                 ('filepwd'''), 
  61.                 ('iconsize'''), 
  62.                 ('picturetoonepdf'''), 
  63.                 ('isshare''0'), 
  64.                 ('softname''pdfonlineconverter'), 
  65.                 ('softversion''V5.0'), 
  66.                 ('validpagescount''20'), 
  67.                 ('limituse''1'), 
  68.                 ('filespwdlist'''), 
  69.                 ('fileCountwater''1'), 
  70.                 ('languagefrom'''), 
  71.                 ('languageto'''), 
  72.                 ('cadverchose'''), 
  73.                 ('pictureforecolor'''), 
  74.                 ('picturebackcolor'''), 
  75.                 ('id''WU_FILE_1'), 
  76.                 ('name', filename), 
  77.                 ('type''application/pdf'), 
  78.                 ('lastModifiedDate'''), 
  79.                 ('size'''),) 
  80.         res= requests.post(url,headers=headers,params=params,files=files) 
  81.         res_json = res.json() 
  82.         if res_json['message'] == '上傳成功'
  83.             self.keytag = res_json['keytag'
  84.             print('成功上傳PDF'
  85.             return True 
  86.         else
  87.             return False 
  88.          
  89.     def progress(self): 
  90.         url = 'https://app.xunjiepdf.com/api/Progress' 
  91.         headers = { 
  92.                 'User-Agent''Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0'
  93.                 'Accept''text/plain, */*; q=0.01'
  94.                 'Accept-Language''zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2'
  95.                 'Content-Type''application/x-www-form-urlencoded; charset=UTF-8'
  96.                 'X-Requested-With''XMLHttpRequest'
  97.                 'Origin''https://app.xunjiepdf.com'
  98.                 'Connection''keep-alive'
  99.                 'Referer''https://app.xunjiepdf.com/pdf2word/',} 
  100.         data = { 
  101.               'tasktag': self.keytag, 
  102.               'phonenumber'''
  103.               'loginkey'''
  104.               'limituse''1'
  105.         res= requests.post(url,headers=headers,data=data) 
  106.         res_json = res.json() 
  107.         if res_json['message'] == '處理成功'
  108.             print('PDF處理完成'
  109.             return True 
  110.         else
  111.             print('PDF處理中'
  112.             return False 
  113.          
  114.     def downloadWord(self,output): 
  115.         url = 'https://app.xunjiepdf.com/download/fileid/%s'%self.keytag 
  116.         res = requests.get(url) 
  117.         with open(output,'wb') as f: 
  118.             f.write(res.content) 
  119.             print('PDF下載成功("%s")'%output) 
  120.              
  121.     def convertPDF(self,filepath,outpath): 
  122.         filename = filepath.split('/')[-1
  123.         filename = filename.split('.')[0]+'.docx' 
  124.         self.produceToken() 
  125.         self.uploadPDF(filepath) 
  126.         while True: 
  127.             res = self.progress() 
  128.             if res == True: 
  129.                 break 
  130.             time.sleep(1
  131.         self.downloadWord(outpath+filename) 

執行主函數:

  1. if __name__=='__main__':     
  2.     pdf2word = PDF2Word() 
  3.     pdf2word.convertPDF('001.pdf',''

注意:convertPDF函數有兩個參數,第一個為需要轉換的PDF,第二個參數為轉換后的目錄。
run一下,一鍵入魂,".docx"文件已經躺在了我的目錄中,舒服了~

用 Python 寫了一個PDF轉換器,以后再也不用花錢轉了

 

 

責任編輯:張燕妮 來源: 今日頭條
相關推薦

2021-01-07 20:45:06

Firefox 85Firefox瀏覽器

2021-12-21 09:05:46

命令Linux敲錯

2024-04-15 00:08:00

MySQLInnoDB數據庫

2022-03-24 07:57:58

Python水果忍者游戲

2022-09-15 15:31:50

AndroidHTTPS抓包

2021-03-06 18:00:38

谷歌Chrome瀏覽器

2024-01-26 07:00:11

Python工具無向圖

2015-10-22 10:38:43

Wi-Fi燃氣報警器

2021-06-08 07:48:26

數據 Python開發

2015-05-29 09:01:48

2020-06-15 08:03:17

大文件OOM內存

2020-04-29 12:11:52

MystiQ音視頻轉換器開源

2020-04-10 09:55:28

Git 工具黑魔法

2018-10-11 15:51:32

ChromeGoogle瀏覽器

2023-11-27 17:11:02

數據庫oracle

2020-10-29 15:17:49

代碼開發工具

2024-08-26 00:01:00

前端性能優化

2020-05-07 09:05:22

電腦Python代碼

2023-12-21 09:00:00

開發并發編程
點贊
收藏

51CTO技術棧公眾號

成人动态视频| 美女视频免费观看网站在线| 欧美人与性动交α欧美精品济南到| 成人性生交大片免费看视频在线| 日韩在线视频免费观看高清中文| 欧美特级aaa| 久久这里只有| 国产成人亚洲精品| 91超碰国产在线| 精品国产电影一区| 精品一区二区中文字幕| 欧美三区在线| 亚洲欧洲国产精品久久| 偷拍25位美女撒尿视频在线观看| 91超碰在线| 亚洲最大网站| 国产一区成人| 久久激情综合网| 麻豆91在线播放| 久久国产精品免费| 9国产精品视频| 国产亚洲一区二区三区在线观看| 欧美午夜精品久久久久久浪潮 | 黄色精品一区| 蜜桃视频一区二区三区在线观看 | 精品一区二区三区亚洲| 成人精品中文字幕| 丝袜亚洲另类欧美| 日本一区免费视频| 91国在线观看| 欧美日韩一级黄| 中文字幕在线精品| 国产成人在线亚洲欧美| 中文字幕第80页| 超碰97免费在线| 日韩激情免费| 欧美肥婆姓交大片| 国产一区二区三区四区老人| 日韩欧美国产综合在线一区二区三区| 北条麻妃69av| 国产一区二区福利| 精品久久久无码人妻字幂| 在线日韩视频| 黄色三级中文字幕| 一级欧洲+日本+国产 | 精品亚洲精品福利线在观看| 日本不卡一区二区三区视频| 成人在线免费观看网站| 欧美极品第一页| 亚洲人成网站在线在线观看| 99久久99久久免费精品蜜臀| 国产精品久久久久久久久久东京| 国产a亚洲精品| 日韩视频精品在线| 91视频一区| 成人黄色生活片| 精品一区二区三区久久久| 成年人视频在线| 日韩精品在线观看视频| 国产探花在线精品一区二区| 亚洲综合首页| 国产精品国产精品国产专区不蜜| eeuss鲁一区二区三区| 97激碰免费视频| 极品少妇xxxx精品少妇| 国产精品久久久| 91免费看视频| 中中文字幕av在线| 国产精品美女主播在线观看纯欲| 国产91精品欧美| 久久综合之合合综合久久| 99视频在线免费观看| 亚洲在线一区| 国产一二三区在线| 91色视频在线观看| 欧美日韩免费区域视频在线观看| av中文字幕在线| 成人做爰www免费看视频网站| 久久久久国产精品免费免费搜索| 亚洲男人资源| 国产传媒一区二区| 亚洲激情社区| 依人在线免费视频| 国产精品日韩av| 91精品国产综合久久福利软件| 成人综合在线网站| caoprom在线| 成年人免费大片| 国产免费一区二区三区香蕉精| 欧美日韩精品一区二区三区四区| 麻豆一区二区三区| 国产一区一区| 欧洲一区av| 中文字幕中文字幕在线中一区高清 | 亚洲视频在线看| 日本一区二区在线不卡| 亚洲午夜在线观看| 成人欧美一区二区三区小说| 欧美黑白配在线| 在线免费看黄色| 久久综合九色欧美狠狠| 亚洲国产精久久久久久久| 国产亚洲一区二区在线观看| 精品72久久久久中文字幕| 国产美女视频一区二区三区| 宅男一区二区三区| 日韩av理论片| 精品国产一区二区三区不卡| 91麻豆高清视频| 日韩国产欧美| 99久久精品一区二区成人| 毛片网站大全| 中国老女人av| 国产91精品青草社区| 亚洲а∨天堂久久精品喷水 | 欧美精品国产精品久久久| 久久99国产精品自在自在app| 欧美日韩在线一区| 成人毛片视频在线观看| 亚洲黄色天堂| 日韩黄色网络| 国产乱子精品一区二区在线观看| 视频三区在线观看| 亚洲免费精品视频| 国产精品福利无圣光在线一区| 欧美成人video| 亚洲人午夜精品天堂一二香蕉| 久久av一区| 小处雏高清一区二区三区| 一区二区三区视频播放| 99爱在线观看| caoporn国产精品免费视频| 成年免费网站| 久久精品视频91| 中国丰满人妻videoshd| 国产女主播av| 成人短视频在线观看免费| 亚洲伊人婷婷| 日韩国产精品一区二区三区| 精品九九九九| 日韩视频在线观看国产| 免费在线一区二区| 欧美日本亚洲| 牛人盗摄一区二区三区视频| 欧美一区二区久久久| 懂色av中文字幕一区二区三区 | 888久久久| 精品亚洲综合| 日韩经典在线视频| 精品亚洲aⅴ在线观看| 成人激情免费网站| 日韩欧美久久| 奇米影视888狠狠狠777不卡| 国产精品加勒比| 国产丝袜视频一区| 欧美日韩一区二区欧美激情| 亚洲va欧美va国产va天堂影院| 欧美日韩性生活视频| 欧美羞羞免费网站| 亚洲第一国产精品| 亚洲欧美精品中文字幕在线| 中文字幕欧美视频在线| 色偷偷9999www| 国产精品电影网| 国产综合色香蕉精品| 99热在线国产| 久久久久资源| 霍思燕三级露全乳照| 成人www视频网站免费观看| 精品无人乱码| 在线看的av网站| 中文字幕日本一区| 欧美96在线丨欧| 久久久久久亚洲综合影院红桃 | 欧美黄色一级| 欧美在线91| 国产又粗又猛又爽又黄91精品| 国产精品家庭影院| 日韩大陆欧美高清视频区| 精品第一国产综合精品aⅴ| 在线免费观看视频一区| 欧美日韩极品在线观看一区| 3d成人动漫网站| 中文国产成人精品久久一| 高清亚洲成在人网站天堂| 国产精品日韩欧美大师| 日韩欧美视频网站| 色网视频在线| 真实原创一区二区影院| 成人国产免费视频| 91精品欧美久久久久久动漫| 亚洲最新视频在线| 日本一区二区三区四区高清视频| 欧美hdfree性xxxx| 成人av动漫在线观看| 在线日韩欧美| 欧美另类z0zxhd电影| 亚洲精品第一国产综合精品| 日韩一二三区视频| 欧美精品一区二区三区在线看午夜 |