电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

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

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

先來一個(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

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

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

基本思路:

1、url + headers2、分析網(wǎng)頁: CSDN網(wǎng)頁是靜態(tài)網(wǎng)頁, 請(qǐng)求獲取網(wǎng)頁源代碼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)頁: CSDN網(wǎng)頁是靜態(tài)網(wǎng)頁, 請(qǐng)求獲取網(wǎng)頁源代碼start_url =“https://i1bit.blog.csdn.net/” 為例確定網(wǎng)址為同步加載

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

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

# 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)開博主的一篇博文打開開發(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)頁: CSDN網(wǎng)頁是靜態(tài)網(wǎng)頁, 請(qǐng)求獲取網(wǎng)頁源代碼 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è)用來保存html 一個(gè)用來保存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)文章:
主站蜘蛛池模板: 玄米影院| 氧化锆纤维_1800度高温退火炉_1800度高温烧结炉-南京理工宇龙新材料股份有限公司 | B2B网站_B2B免费发布信息网站_B2B企业贸易平台 - 企资网 | 冷却塔减速机器_冷却塔皮带箱维修厂家_凉水塔风机电机更换-广东康明冷却塔厂家 | 艺术漆十大品牌_艺术涂料加盟代理_蒙太奇艺术涂料厂家品牌|艺术漆|微水泥|硅藻泥|乳胶漆 | 蔡司三坐标-影像测量机-3D扫描仪-蔡司显微镜-扫描电镜-工业CT-ZEISS授权代理商三本工业测量 | 高压互感器,电流互感器,电压互感器-上海鄂互电气科技有限公司 | 工业车间焊接-整体|集中除尘设备-激光|等离子切割机配套除尘-粉尘烟尘净化治理厂家-山东美蓝环保科技有限公司 | 盘式曝气器-微孔曝气器-管式曝气器-曝气盘-斜管填料 | 郑州市前程水处理有限公司 | 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 天津货架厂_穿梭车货架_重型仓储货架_阁楼货架定制-天津钢力仓储货架生产厂家_天津钢力智能仓储装备 | 泰安办公家具-泰安派格办公用品有限公司 | 贝朗斯动力商城(BRCPOWER.COM) - 买叉车蓄电池上贝朗斯商城,价格更超值,品质有保障! | 热熔胶网膜|pes热熔网膜价格|eva热熔胶膜|热熔胶膜|tpu热熔胶膜厂家-苏州惠洋胶粘制品有限公司 | 板式换网器_柱式换网器_自动换网器-郑州海科熔体泵有限公司 | 聚丙烯酰胺PAM-聚合氯化铝PAC-絮凝剂-河南博旭环保科技有限公司 巨野电机维修-水泵维修-巨野县飞宇机电维修有限公司 | 啤酒设备-小型啤酒设备-啤酒厂设备-济南中酿机械设备有限公司 | 座椅式升降机_无障碍升降平台_残疾人升降平台-南京明顺机械设备有限公司 | 硫化罐-胶管硫化罐-山东鑫泰鑫智能装备有限公司 | 深圳法律咨询【24小时在线】深圳律师咨询免费 | 鲁尔圆锥接头多功能测试仪-留置针测试仪-上海威夏环保科技有限公司 | 一体化污水处理设备-一体化净水设备-「山东梦之洁水处理」 | 深圳网站建设-高端企业网站开发-定制网页设计制作公司 | 杭州代理记账多少钱-注册公司代办-公司注销流程及费用-杭州福道财务管理咨询有限公司 | 涂层测厚仪_漆膜仪_光学透过率仪_十大创新厂家-果欧电子科技公司 | 示波器高压差分探头-国产电流探头厂家-南京桑润斯电子科技有限公司 | 【MBA备考网】-2024年工商管理硕士MBA院校/报考条件/培训/考试科目/提前面试/考试/学费-MBA备考网 | 中山市派格家具有限公司【官网】 | 等离子空气净化器_医用空气消毒机_空气净化消毒机_中央家用新风系统厂家_利安达官网 | 列管冷凝器,刮板蒸发器,外盘管反应釜厂家-无锡曼旺化工设备有限公司 | 卡诺亚轻高定官网_卧室系统_整家定制_定制家居_高端定制_全屋定制加盟_定制家具加盟_定制衣柜加盟 | 礼至家居-全屋定制家具_一站式全屋整装_免费量房设计报价 | 碳刷_刷握_集电环_恒压簧_电刷厂家-上海丹臻机电科技有限公司 | 滚筒烘干机_转筒烘干机_滚筒干燥机_转筒干燥机_回转烘干机_回转干燥机-设备生产厂家 | 致胜管家软件服务【在线免费体验】| 压砖机、液压制砖机、静压砖机、环保砖机生产厂家—杜甫机械 | 热闷罐-高温罐-钢渣热闷罐-山东鑫泰鑫智能热闷罐厂家 | 干式磁选机_湿式磁选机_粉体除铁器-潍坊国铭矿山设备有限公司 | 水冷散热器_水冷电子散热器_大功率散热器_水冷板散热器厂家-河源市恒光辉散热器有限公司 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 钢衬四氟管道_钢衬四氟直管_聚四氟乙烯衬里管件_聚四氟乙烯衬里管道-沧州汇霖管道科技有限公司 |