亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:4日期:2022-06-16 18:21:40

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

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

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

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

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

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

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

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

開發工具 python pycharm pdfkit (pip install pdfkit) lxml

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

基本思路:

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

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

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

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)

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

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

# 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, pdfkitfrom lxml import etreefrom requests_html import HTMLSessionsession = 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 Fileswkhtmltopdfbinwkhtmltopdf.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: continueif __name__ == ’__main__’: main()

代碼操作:

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

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

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 加勒比一本大道香蕉在线视频 | 麻豆精品在线观看 | 91精品国产91久久久久 | 午夜剧场刺激性爽免费视频 | 91手机在线观看 | 久久精品国产一区 | 免费观看一级特黄欧美大片 | 国产精品视频网站 | 免费黄网址 | 国产日韩一区二区三区在线观看 | 国产一区二区三区影院 | 亚洲欧美日韩高清一区二区三区 | 久久久久久国产精品免费 | 午夜在线亚洲男人午在线 | 人与鲁牲交持级毛片 | 欧美三级一级 | 亚洲国产日韩在线成人蜜芽 | 中文字幕国产在线观看 | 黄色的毛片 | 久久97久久 | 国产网站在线 | 亚洲精品欧美日韩 | 免费人成综合在线视频 | 中国一级特黄的片子免费 | 免费不卡视频 | 亚洲精品免费在线观看 | 黄wwwwww| 一级做a爰片欧美aaaa | 国产成人一区二区三区影院免费 | 欧美成人乱弄视频 | 亚洲 自拍 欧美 另类小说 | 福利一区二区三区视频午夜观看 | 国产精品一区二区三区四区 | 污香蕉视频在线观看 | 一级一片免费视频播放 | 三级黄色片在线播放 | 精品一区二区三区在线观看视频 | 日本精品中文字幕在线不卡 | 国产在线精品一区免费香蕉 | 亚洲综合射 | 日韩美女强理论片 |