国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python實(shí)現(xiàn)csdn全部博文下載并轉(zhuǎn)PDF

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

我們學(xué)習(xí)編程,在學(xué)習(xí)的時(shí)候,會(huì)有想把有用的知識(shí)點(diǎn)保存下來(lái),我們可以把知識(shí)點(diǎn)的內(nèi)容爬下來(lái)轉(zhuǎn)變成pdf格式,方便我們拿手機(jī)可以閑時(shí)翻看,是很方便的

先來(lái)一個(gè)單個(gè)的博文下載轉(zhuǎn)pdf格式的操作

python實(shí)現(xiàn)csdn全部博文下載并轉(zhuǎn)PDF

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

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

python實(shí)現(xiàn)csdn全部博文下載并轉(zhuǎn)PDF

我下的是這個(gè)版本,安裝的時(shí)候要記住路徑,之后調(diào)用要用到路徑

python實(shí)現(xiàn)csdn全部博文下載并轉(zhuǎn)PDF

開(kāi)發(fā)工具 python pycharm pdfkit (pip install pdfkit) lxml

今天目標(biāo):博主的全部博文下載,并且轉(zhuǎn)pdf格式保存

基本思路:

1、url + headers2、分析網(wǎng)頁(yè): CSDN網(wǎng)頁(yè)是靜態(tài)網(wǎng)頁(yè), 請(qǐng)求獲取網(wǎng)頁(yè)源代碼3、lxml解析獲取boke_urls, author_name4、循環(huán)遍歷,得到 boke_url5、xpath解析獲取文件名6、css選擇器獲取標(biāo)簽文本的主體7、構(gòu)造拼接html文件8、保存html文件9、文件的轉(zhuǎn)換

分析網(wǎng)頁(yè): CSDN網(wǎng)頁(yè)是靜態(tài)網(wǎng)頁(yè), 請(qǐng)求獲取網(wǎng)頁(yè)源代碼start_url =“https://i1bit.blog.csdn.net/” 為例確定網(wǎng)址為同步加載

python實(shí)現(xiàn)csdn全部博文下載并轉(zhuǎn)PDF

css選擇器獲取標(biāo)簽文本的主體為代碼要點(diǎn)部分css語(yǔ)法部分

# css選擇器獲取標(biāo)簽文本的主體html_css = parsel.Selector(response_2)html_content = html_css.css(’article’).get()# 構(gòu)造拼接html文件html = ’’’<!DOCTYPE html> <html lang='en'> <head><meta charset='UTF-8'><title>Title</title> </head> <body>{} </body></html> ’’’.format(html_content)

點(diǎn)開(kāi)博主的一篇博文打開(kāi)開(kāi)發(fā)者工具

python實(shí)現(xiàn)csdn全部博文下載并轉(zhuǎn)PDF

# css選擇器獲取標(biāo)簽文本的主體html_css = parsel.Selector(response_2)html_content = html_css.css(’article’).get()# 構(gòu)造拼接html文件html = ’’’<!DOCTYPE html> <html lang='en'> <head><meta charset='UTF-8'><title>Title</title> </head> <body>{} </body></html> ’’’.format(html_content)

文件的轉(zhuǎn)換

config = pdfkit.configuration(wkhtmltopdf=r’這里為下載wkhtmltopdf.exe的路徑’) pdfkit.from_file(第一個(gè)參數(shù)要轉(zhuǎn)變的html文件,第二個(gè)參數(shù)轉(zhuǎn)變后的pdf文件,configuration=config ) # 上面這樣寫清楚一點(diǎn),也可以直接 pdfkit.from_file(第一個(gè)參數(shù)要轉(zhuǎn)變的html文件,第二個(gè)參數(shù)轉(zhuǎn)變后的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’請(qǐng)輸入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、分析網(wǎng)頁(yè): CSDN網(wǎng)頁(yè)是靜態(tài)網(wǎng)頁(yè), 請(qǐng)求獲取網(wǎng)頁(yè)源代碼 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、循環(huán)遍歷,得到 boke_url for boke_url in boke_urls:# 5、請(qǐng)求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選擇器獲取標(biāo)簽文本的主體html_css = parsel.Selector(response_2)html_content = html_css.css(’article’).get()# 8、構(gòu)造拼接html文件html = ’’’<!DOCTYPE html> <html lang='en'> <head><meta charset='UTF-8'><title>Title</title> </head> <body>{} </body></html> ’’’.format(html_content)# 9、創(chuàng)建兩個(gè)文件夾, 一個(gè)用來(lái)保存html 一個(gè)用來(lái)保存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(’文件名錯(cuò)誤’)# 11、文件的轉(zhuǎn)換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實(shí)現(xiàn)csdn全部博文下載并轉(zhuǎn)PDF

到此這篇關(guān)于python實(shí)現(xiàn)csdn全部博文下載并轉(zhuǎn)PDF的文章就介紹到這了,更多相關(guān)python 博文下載并轉(zhuǎn)PDF內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 窝窝午夜看片七次郎青草视频 | 国产成人精视频在线观看免费 | 久久的精品99精品66 | 国产一区2区 | av18在线播放 | 孕妇一级片 | 97超级碰碰碰碰在线视频 | 在线综合+亚洲+欧美中文字幕 | 中国做爰国产精品视频 | 一道精品视频一区二区三区图片 | 欧美日韩一区二区高清视 | 精品一区二区三区在线观看l | 国产精品一区二区资源 | 国产在线视频一区 | 亚洲国产精品67194成人 | 欧美另类性视频在线看 | 欧美久色 | 久青草免费视频手机在线观看 | 杨幂丝袜国产福利视频 | 欧美一区二区在线观看视频 | 波多野结衣在线不卡 | 手机看片自拍日韩日韩高清 | www.一区| 免费一级片视频 | 日韩一区二区三区视频在线观看 | 精品成人免费视频 | 国产99在线播放 | 2020国产精品 | 222aaa天堂| 日本成本人片 | 欧美成人看片黄a免费看 | 国产亚洲精品久久久久91网站 | 日本天堂在线视频 | 欧美巨大精品欧美一区二区 | 免费的三级毛片 | 欧美国产综合在线 | 久草在线免费色站 | 国产精品亚洲天堂 | 亚洲精品久久久久午夜三 | 久久久久久综合七次郎 | 白白在线观看永久免费视频 |