整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          牛逼!40行Python代碼把html網頁保存為pdf,太方便了

          近臨近開學了,大家都在忙著準備各種學習的資料,準備在新的學期好好學習,充實自己。小編身邊的同學也是如此,最近,小編的同學小麗就遇到了一個很棘手的問題。

          她想將一個網頁的Python學習的教程打印下來,方便自己來學習,但是上千頁的教程,如果通過手動的方式,一個一個的去轉成pdf并保存到本地,實在是麻煩的不。

          這就是一個html轉pdf的問題,其實網上有很多不錯的html資源,但是苦于學習起來,不方便!于是小編就跟小麗保證,這點小事包在我身上。今天,小編就跟分享一下如何用Python把html資料變成pdf。

          01.抓取的學習資料

          如今網上的在線學習資料可謂是多如牛毛,為了方便講解,小編就利用python3.9.2的中文文檔作為演示的例子,來將其抓取并保存到本地,其網頁鏈接如下:

          https://docs.python.org/zh-cn/3.9/tutorial/index.html

          打開上述鏈接后,大家會在網頁中找到不同內容的鏈接地址,包括了基礎的python字符、python語法等內容。

          02.獲取網頁鏈接

          在上圖中,我們需要格外關注的是紅色方格標注的鏈接,每個鏈接都會跳轉到對應的子網頁中,而在子網頁中,就是我們想要保存的內容。

          可以看到,上圖中,在python速覽子頁面中,包含了我們需要提取的文字內容。所以將html內容保存為pdf的第一步便是獲取到子頁面的鏈接。由于教程大都是固定內容,因此對于教程的網頁,大都采用的是靜態頁面,在網頁源代碼中可以很輕松地找到子頁面的網頁鏈接。

          對于子網頁的鏈接抓取,程序如下圖所示:

          程序中,通過BeautifulSoup庫來解析網頁源代碼,然后提取所有的子頁面鏈接地址并返回,如果抓取失敗,則直接返回None


          03.html轉pdf

          在得到子網頁的鏈接后,接下來就是將html的子網頁保存為pdf文件。小編使用的pdfkit庫,pdfkit庫可以將網頁保存為pdf文檔。首先小編來介紹一下pdfkit庫的安裝。

          • 下載https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox-0.12.6-1.mxe-cross-win64.7z 并解壓到本地文件中。(后臺輸入:pdf) 直接獲取。
          • 將解壓文件中的bin文件路徑添加到系統變量Path中。
          • 執行pip install pdfkit
          • 執行pip install wkhtmltopdf

          按照上述的操作流程,就可以安裝pdfkit庫。對于pdfkit庫的使用,常見的用法有以下三種:

          上面的程序主要完成以下幾步:

          首先需要指定wkhtmltopdf.exe文件的路徑;

          • 然后分別通過from_url、from_file和from_string的三種方式來保存為pdf文件;
          • 需要注意的是,from_file和from_url中的第一個參數必須是一個html的字符串或者是html文檔的列表;
          • 但是小編通過程序運行發現,from_url第一個參數只能是html的字符串,不能是html的列表


          因此,pdfkit庫只能將子網頁保存為單獨的pdf文檔,無法直接通過pdfkit庫將所有的子網頁拼接成一個完整的pdf文檔,小編通過PyPDF2庫中的PdfFileMerger類來實現pdf文檔的拼接。程序如下圖所示。

          程序中首先將所有的html網頁保存為單獨的pdf文檔,然后通過PdfFileMerger類對象來實現pdf文檔的拼接。最后就可以得到全部的pdf內容。最后我們通過視頻的展示,來看一下程序的效果吧。


          除此之外,程序不光可以抓取python3.9的中文文檔,針對其他的在線文檔,只需要對獲取網頁鏈接的程序進行修改即可抓取,例如對于Flask中文文檔的抓取,程序只需要按照下圖進行修改,即可將Flask的在線文檔保存為PDF文檔。

          04.總結

          學習Python其實非常有趣,也很有用。因為Python有大量的現成的庫,可以幫助我們把工作中的很多瑣碎的煩事輕松解決。小編將上述的程序稍加修改,很快就幫阿麗搞定了教程,保存為pdf發送給了她,小編與女神的關系更拉近了一步

          TML編輯器從WORD復制粘貼圖片,HTML編輯器從WORD復制圖片,HTML編輯器從WORD粘貼圖片,javascript支持WORD上傳的富文本編輯器,JS支持word上傳的富文本編輯器,html支持word上傳的富文本編輯器,前端支持word上傳的富文本編輯器,vue支持word上傳的富文本編輯器,javascript粘貼word圖片,js粘貼word圖片,javascript導入word,js導入word,word文檔如何存到HTML編輯器上,word圖片如何保存到html編輯器上,word圖文如何保存到html編輯器上,word文檔如何轉存到html編輯器上,word文檔如何轉存到富文本編輯器上,word文檔如何轉存到web編輯器上,word文檔如何轉存到百度富文本編輯器上

          HTML編輯器粘貼word圖片,web編輯器粘貼word圖片,web富文本編輯器粘貼word,

          粘貼word內容,粘貼word圖片,粘貼word圖文,

          用戶發布新聞的時候是從word里面復制圖片和文字,也就是復制word文檔里面的內容,這些內容包含文字和圖片

          然后將word圖文內容粘貼到web富文本編輯器中,圖片自動上傳到web服務器中,上傳通過指定的接口,接口能夠自定義,能夠在內網使用,能夠在外網使用

          粘貼后自動返回文字和圖片HTML,圖片和文字HTML自動添加到編輯器中,用戶能夠直接看到粘貼后的效果,能夠不裝插件最好。

          1.下載示例:

          http://www.ncmem.com/webapp/wordpaster/versions.aspx

          2.復制WordPaster插件目錄

          3.引入插件文件

          注意:不要重復引入jquery,如果您的項目已經引入了jq,則不用再引入jq-1.4

          4.在工具欄中增加插件按鈕

          6.初始化控件

          注意:

          1.如果接口字段名稱不是file,請配置FileFieldName。ueditor接口中使用的upfile字段

          參考:http://www.ncmem.com/doc/view.aspx?id=c3ad06c2ae31454cb418ceb2b8da7c45

          2.如果接口返回JSON,請配置ImageMatch

          參考:http://www.ncmem.com/doc/view.aspx?id=07e3f323d22d4571ad213441ab8530d1

          3.如果接口返回的圖片地址沒有域名,請配置ImageUrl

          參考:http://www.ncmem.com/doc/view.aspx?id=704cd302ebd346b486adf39cf4553936

          4.如果接口有權限驗證(登陸驗證,SESSION驗證),請配置COOKIE。或取消權限驗證。

          參考:http://www.ncmem.com/doc/view.aspx?id=8602DDBF62374D189725BF17367125F3

          效果

          訂閱版報價單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwE99pINf

          年費版報價單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwFouDIB4#/

          我們瀏覽網頁時可能需要把網頁上的內容保存下來,這時候有幾種方式可以做到:1、把重要的內容復制出來;2、對網頁進行截圖保存,我們推薦過的截圖插件如印象筆記·剪藏、Full Page Screen Capture等;3、把網頁保存成PDF,如Adobe Acrobat。4、直接把網頁保存成HTML。當然所有瀏覽器都有另存頁面為HTML 文檔的功能,不過可能會遇到一些問題,保存后不是各種資源如JS、CSS和圖片的文件很多,就是打開后無法載入樣式表,圖片顯示不出來,要把網頁備份起來或傳送給別人就很麻煩。本文要介紹的SingleFile是一款免費瀏覽器擴展,可以將完整的頁面保存到一個HTML文件中,包括所有CSS和圖片等等,讓用戶即使在一個HTML文檔中也能瀏覽完整內容。除了單一頁面外,SingleFile還支持保存選中的部分、非固定標簽頁或所有頁面,操作上也非常的簡單易用。如果你有保存頁面的需求,可以試試這款插件。


          簡介

          SingleFile


          主站蜘蛛池模板: 波多野结衣一区二区免费视频| 一区高清大胆人体| 国产麻豆精品一区二区三区v视界 国产美女精品一区二区三区 | 国产福利电影一区二区三区,免费久久久久久久精 | 国产一区在线视频观看| 久久久久人妻精品一区二区三区| 国产成人精品a视频一区| 日本免费一区二区三区最新vr| 久久久久人妻精品一区| 无码人妻AV免费一区二区三区| 国产成人精品a视频一区| 亚洲日本一区二区三区在线不卡| 成人精品视频一区二区| 亚洲综合一区国产精品| 97se色综合一区二区二区| 精品国产a∨无码一区二区三区 | 日韩人妻不卡一区二区三区| 国产成人无码AV一区二区 | 亚洲无圣光一区二区| 国产精品免费一区二区三区四区 | 国产香蕉一区二区在线网站| 乱子伦一区二区三区| 亚洲国产精品综合一区在线| 久久精品国产AV一区二区三区| 91精品一区二区三区久久久久| 久久久av波多野一区二区| 任你躁国语自产一区在| 蜜臀AV在线播放一区二区三区| 3d动漫精品啪啪一区二区中 | 中文字幕一区二区三区免费视频| 亚洲AV成人精品日韩一区18p| 国产美女视频一区| 久久久久成人精品一区二区| 91久久精品国产免费一区| 国产91久久精品一区二区| 国模无码视频一区| 亚洲国产一区二区三区| 国产精品伦一区二区三级视频| 色狠狠一区二区三区香蕉| 精品欧美一区二区在线观看| 日亚毛片免费乱码不卡一区|