好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > python實現csdn全部博文下載并轉PDF

python實現csdn全部博文下載并轉PDF

熱門標簽:聊城語音外呼系統 海外網吧地圖標注注冊 南陽打電話機器人 孝感營銷電話機器人效果怎么樣 ai電銷機器人的優勢 商家地圖標注海報 地圖標注自己和別人標注區別 打電話機器人營銷 騰訊地圖標注沒法顯示

我們學習編程,在學習的時候,會有想把有用的知識點保存下來,我們可以把知識點的內容爬下來轉變成pdf格式,方便我們拿手機可以閑時翻看,是很方便的

先來一個單個的博文下載轉pdf格式的操作


python中將html轉化為pdf的常用工具是Wkhtmltopdf工具包,在python環境下,pdfkit是這個工具包的封裝類。如何使用pdfkit以及如何配置呢?分如下幾個步驟。

下載wkhtmltopdf安裝包,并且安裝到電腦上。
下載地址:https://wkhtmltopdf.org/downloads.html

我下的是這個版本,安裝的時候要記住路徑,之后調用要用到路徑

開發工具

  • python
  • pycharm
  • pdfkit (pip install pdfkit)
  • lxml

今天目標:博主的全部博文下載,并且轉pdf格式保存

基本思路:

1、url + headers
2、分析網頁: CSDN網頁是靜態網頁, 請求獲取網頁源代碼
3、lxml解析獲取boke_urls, author_name
4、循環遍歷,得到 boke_url
5、xpath解析獲取文件名
6、css選擇器獲取標簽文本的主體
7、構造拼接html文件
8、保存html文件
9、文件的轉換

分析網頁: CSDN網頁是靜態網頁, 請求獲取網頁源代碼
start_url =“https://i1bit.blog.csdn.net/” 為例
確定網址為同步加載


css選擇器獲取標簽文本的主體為代碼要點部分
css語法部分

# css選擇器獲取標簽文本的主體
        html_css = parsel.Selector(response_2)
        html_content = html_css.css('article').get()
# 構造拼接html文件
        html = \

            '''
                !DOCTYPE html>
                    html lang="en">
                    head>
                        meta charset="UTF-8">
                        title>Title/title>
                    /head>
                    body>
                        {}
                    /body>
                /html>
            '''.format(html_content)

點開博主的一篇博文打開開發者工具

# css選擇器獲取標簽文本的主體
        html_css = parsel.Selector(response_2)
        html_content = html_css.css('article').get()
# 構造拼接html文件
        html = \

            '''
                !DOCTYPE html>
                    html lang="en">
                    head>
                        meta charset="UTF-8">
                        title>Title/title>
                    /head>
                    body>
                        {}
                    /body>
                /html>
            '''.format(html_content)

文件的轉換

   config = pdfkit.configuration(wkhtmltopdf=r'這里為下載wkhtmltopdf.exe的路徑')
            pdfkit.from_file(
                第一個參數要轉變的html文件,
                第二個參數轉變后的pdf文件,
                configuration=config
            ) 
            # 上面這樣寫清楚一點,也可以直接
            pdfkit.from_file(
                第一個參數要轉變的html文件,
                第二個參數轉變后的pdf文件,
            configuration=pdfkit.configuration(wkhtmltopdf=r'這里為下載wkhtmltopdf.exe的路徑')
            )

源碼展示:

import parsel, os, pdfkit
from lxml import etree
from requests_html import HTMLSession
session = HTMLSession()



def main():
    # 1、url + headers
    start_url = input(r'請輸入csdn博主的地址:')
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 '
                      '(KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'
    }

    # 2、分析網頁: CSDN網頁是靜態網頁, 請求獲取網頁源代碼
    response_1 = session.get(start_url, headers=headers).text


    # 3、解析獲取boke_urls, author_name
    html_xpath_1 = etree.HTML(response_1)

    author_name = html_xpath_1.xpath(r'//*[@id="floor-user-profile_485"]/div/div[1]/div[2]/div[2]/div[1]/div[1]/text()')[0]

    boke_urls = html_xpath_1.xpath(r'//article[@class="blog-list-box"]/a/@href')


    # 4、循環遍歷,得到 boke_url
    for boke_url in boke_urls:

        # 5、請求
        response_2 = session.get(boke_url, headers=headers).text

        # 6、xpath解析獲取文件名
        html_xpath_2 = etree.HTML(response_2)
        file_name = html_xpath_2.xpath(r'//h1[@id="articleContentId"]/text()')[0]


        # 7、css選擇器獲取標簽文本的主體
        html_css = parsel.Selector(response_2)
        html_content = html_css.css('article').get()

        # 8、構造拼接html文件
        html = \

            '''
                !DOCTYPE html>
                    html lang="en">
                    head>
                        meta charset="UTF-8">
                        title>Title/title>
                    /head>
                    body>
                        {}
                    /body>
                /html>
            '''.format(html_content)

        # 9、創建兩個文件夾, 一個用來保存html 一個用來保存pdf文件
        if not os.path.exists(r'{}-html'.format(author_name)):
            os.mkdir(r'{}-html'.format(author_name))

        if not os.path.exists(r'{}-pdf'.format(author_name)):
            os.mkdir(r'{}-pdf'.format(author_name))

        # 10、保存html文件
        try:
            with open(r'{}-html/{}.html'.format(author_name, file_name), 'w', encoding='utf-8') as f:
                f.write(html)
        except Exception as e:
            print('文件名錯誤')

        # 11、文件的轉換
        try:
            config = pdfkit.configuration(wkhtmltopdf=r'C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe')
            pdfkit.from_file(
                '{}-html/{}.html'.format(author_name, file_name),
                '{}-pdf/{}.pdf'.format(author_name, file_name),
                configuration=config
            )
            a = print(r'--文件下載成功:{}.pdf'.format(file_name))

        except Exception as e:
            continue


if __name__ == '__main__':
   main()

代碼操作:

到此這篇關于python實現csdn全部博文下載并轉PDF的文章就介紹到這了,更多相關python 博文下載并轉PDF內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python解析PDF程序代碼
  • Python合并多張圖片成PDF
  • Python提取PDF指定內容并生成新文件
  • 詳解用Python把PDF轉為Word方法總結
  • python操作mysql、excel、pdf的示例
  • python pdfkit 中文亂碼問題的解決方案
  • python 三種方法提取pdf中的圖片
  • Python實現給PDF添加水印的方法
  • Python讀取pdf表格寫入excel的方法
  • Python 多張圖片合并成一個pdf的參考示例

標簽:南寧 撫州 六盤水 聊城 揚州 迪慶 楊凌 牡丹江

巨人網絡通訊聲明:本文標題《python實現csdn全部博文下載并轉PDF》,本文關鍵詞  python,實現,csdn,全部,博文,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python實現csdn全部博文下載并轉PDF》相關的同類信息!
  • 本頁收集關于python實現csdn全部博文下載并轉PDF的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 掀开奶罩边躁狠狠躁H工厂小说| 国产高h视频| 人人爽天天爽| 哦┅┅快┅┅用力啊┅┅男视频 | 电影巜嗯嗯太爽了太爽了大了| 天堂VA蜜桃一区二区三区漫画版| 日韩一级高清| blued在线观看视频高清| 小婬妇奶好大好爽高H小说| 成年免费视频黄网站在线观看| 野外一级毛片黑人| 国产麻豆91欧美一区二区| 国产精品久久Av日本无码69| 久久久久久久精品产香港区一区三| 草1024榴社区入口2022年| 琪琪电影网理论午夜片| 国产破处在线| Gay欧美猛男粗爽Fuck| 国产a一级| 中国大陆女rapper18岁月经| 东北老妇XX?性开放老头| 公交车忘穿内裤被挺进H漫画| www国产91| 国产精品九九视频| 日韩伊人| 囯产婬乱男女啪啪喷水| 又大又粗受不了视频| www.国产网站| free13俄罗斯性xxxxhd| 拔插拔插8x8x海外华人免费视频| 伊人草草| 中文字幕无码免费视频| 国产午夜电影院| 2828高清完整版在线观看| 一女多男在疯狂伦交在线观看| 娇妻当我面被健身教练h| 久久久久久精品国产三级| 美女网站黄免费| 日本免费人成在线网站| 高清国产激情视频在线观看| 欧美午夜精品一区二区蜜桃|