使用Python提取PDF大纲(书签)完整指南

🔍 一、PDF大纲简介

📌 ​PDF大纲(Outline)​​ 是PDF文档中的导航结构,通常显示在阅读器的侧边栏中,方便用户快速跳转到文档的不同部分。大纲通常以层级结构组织,包含标题和对应的页面位置。


本文实现的最终效果图如下:

🛠️ 二、准备工作

所需工具

# 核心库
pip install pdfminer -i https://pypi.tuna.tsinghua.edu.cn/simple
# 防止内容乱码
pip install chardet -i https://pypi.tuna.tsinghua.edu.cn/simple# 推荐测试文件
https://static.cninfo.com.cn/finalpage/2024-04-30/1219917147.PDF

⚠️ 常见安装问题

# 未安装时的报错
ModuleNotFoundError: No module named 'pdfminer'
ModuleNotFoundError: No module named 'chardet'

💻 三、代码实现

完整代码

from pdfminer.pdfparser import PDFParser
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdftypes import PDFObjRef
from pdfminer.pdfpage import PDFPage
from pdfminer.psparser import PSLiteral
import chardetdef extract_pdf_outline(pdf_path):"""使用pdfminer提取PDF文档大纲(书签)返回包含层级结构的书签列表"""with open(pdf_path, 'rb') as file:parser = PDFParser(file)document = PDFDocument(parser)# 检查是否存在大纲if 'Outlines' not in document.catalog:return []# 预先创建页面列表以便索引pages = list(PDFPage.create_pages(document))outlines = []def resolve(obj):"""解析PDF对象引用"""if isinstance(obj, PDFObjRef):return document.getobj(obj.objid)return objdef decode_pdf_string(s):"""专门处理PDF字符串解码"""if isinstance(s, (bytes, bytearray)):# 检测编码try:# 尝试UTF-16-BE(PDF标准编码)return s.decode('utf-16-be')except UnicodeDecodeError:try:# 尝试自动检测detected = chardet.detect(s)if detected['confidence'] > 0.7:return s.decode(detected['encoding'])except:pass# 最终回退方案return s.decode('latin1')  # 最宽松的解码elif isinstance(s, PSLiteral):return s.namereturn str(s)def process_outline_item(item, level=0):"""递归处理大纲项"""item = resolve(item)if not item:returnif isinstance(item, dict):# 处理书签项title = item.get('Title')if title:# 解码标题title = decode_pdf_string(title).strip()# 获取目标页面dest = item.get('Dest')page_num = Noneif dest:if isinstance(dest, (bytes, str, PSLiteral)):# 命名目标dest = decode_pdf_string(dest)if 'Dests' in document.catalog:named_dests = resolve(document.catalog['Dests'])if named_dests and dest in named_dests:dest_obj = named_dests[dest]if isinstance(dest_obj, list):page_ref = dest_obj[0]try:page_num = pages.index(page_ref) + 1except ValueError:passelif isinstance(dest, list):# 直接目标page_ref = dest[0]try:page_num = pages.index(page_ref) + 1except ValueError:passoutlines.append({'title': title,'page': page_num,'level': level})# 处理子项和同级项if 'First' in item:process_outline_item(item['First'], level + 1)if 'Next' in item:process_outline_item(item['Next'], level)elif isinstance(item, list):# 处理大纲项列表for child in item:process_outline_item(child, level)# 从根大纲开始处理root_outline = resolve(document.catalog['Outlines'])process_outline_item(root_outline)return outlines# 使用示例
pdf_path = 'C:/Users/Administrator/Desktop/1219917147.pdf'
outline = extract_pdf_outline(pdf_path)# 打印大纲(带缩进层级)
for bookmark in outline:indent = '  ' * bookmark['level']page_info = f" (Page {bookmark['page']})" if bookmark['page'] else ''print(f"{indent}- {bookmark['title']}{page_info}")

✨ 核心功能解析

  1. PDF解析引擎

    parser = PDFParser(file)
    document = PDFDocument(parser)
  2. 递归处理大纲

    def process_outline_item(item, level=0):# 处理当前项if 'First' in item:  # 处理子项if 'Next' in item:   # 处理同级项
  3. 智能编码处理

    def decode_pdf_string(s):# 尝试UTF-16-BE → 自动检测 → Latin1回退

🎯 四、使用效果

控制台输出示例

- 第一节 重要提示、目录和释义- 第二节 公司简介和主要财务指标- 一、公司信息- 二、联系人和联系方式- 三、信息披露及备置地点- 四、注册变更情况- 五、其他有关资料- 六、主要会计数据和财务指标- 七、境内外会计准则下会计数据差异- 1、同时按照国际会计准则与按照中国会计准则披露的财务报告中净利润和净资产差异情况- 2、同时按照境外会计准则与按照中国会计准则披露的财务报告中净利润和净资产差异情况- 八、分季度主要财务指标- 九、非经常性损益项目及金额- 第三节 管理层讨论与分析- 一、报告期内公司所处行业情况- 二、报告期内公司从事的主要业务- 三、核心竞争力分析- 四、主营业务分析- 1、概述- 2、收入与成本- (1) 营业收入构成- (2) 占公司营业收入或营业利润10%以上的行业、产品、地区、销售模式的情况- (3) 公司实物销售收入是否大于劳务收入- (4) 公司已签订的重大销售合同、重大采购合同截至本报告期的履行情况- (5) 营业成本构成- (6) 报告期内合并范围是否发生变动- (7) 公司报告期内业务、产品或服务发生重大变化或调整有关情况- (8) 主要销售客户和主要供应商情况- 3、费用- 4、研发投入- 5、现金流- 五、非主营业务分析- 六、资产及负债状况分析- 1、资产构成重大变动情况- 2、以公允价值计量的资产和负债- 3、截至报告期末的资产权利受限情况- 七、投资状况分析- 1、总体情况- 2、报告期内获取的重大的股权投资情况- 3、报告期内正在进行的重大的非股权投资情况- 4、金融资产投资- (1) 证券投资情况- (2) 衍生品投资情况- 1) 报告期内以套期保值为目的的衍生品投资- 2) 报告期内以投机为目的的衍生品投资- 5、募集资金使用情况- (1) 募集资金总体使用情况- (2) 募集资金承诺项目情况- (3) 募集资金变更项目情况- 八、重大资产和股权出售- 1、出售重大资产情况- 2、出售重大股权情况- 九、主要控股参股公司分析- 十、公司控制的结构化主体情况- 十一、公司未来发展的展望- 十二、报告期内接待调研、沟通、采访等活动- 十三、“质量回报双提升”行动方案贯彻落实情况- 第四节 公司治理- 一、公司治理的基本状况- 二、公司相对于控股股东、实际控制人在保证公司资产、人员、财务、机构、业务等方面的独立情况- 三、同业竞争情况- 四、报告期内召开的年度股东大会和临时股东大会的有关情况- 1、本报告期股东大会情况- 2、表决权恢复的优先股股东请求召开临时股东大会- 五、董事、监事和高级管理人员情况- 1、基本情况- 2、任职情况- 3、董事、监事、高级管理人员报酬情况- 六、报告期内董事履行职责的情况- 1、本报告期董事会情况- 2、董事出席董事会及股东大会的情况- 3、董事对公司有关事项提出异议的情况- 4、董事履行职责的其他说明- 七、董事会下设专门委员会在报告期内的情况- 八、监事会工作情况- 九、公司员工情况- 1、员工数量、专业构成及教育程度- 2、薪酬政策- 3、培训计划- 4、劳务外包情况- 十、公司利润分配及资本公积金转增股本情况- 十一、公司股权激励计划、员工持股计划或其他员工激励措施的实施情况- 1、股权激励- 2、员工持股计划的实施情况- 3、其他员工激励措施- 十二、报告期内的内部控制制度建设及实施情况- 1、内部控制建设及实施情况- 2、报告期内发现的内部控制重大缺陷的具体情况- 十三、公司报告期内对子公司的管理控制情况- 十四、内部控制评价报告或内部控制审计报告- 1、内控评价报告- 2、内部控制审计报告- 十五、上市公司治理专项行动自查问题整改情况- 第五节 环境和社会责任- 一、重大环保问题- 二、社会责任情况- 三、巩固拓展脱贫攻坚成果、乡村振兴的情况- 第六节 重要事项- 一、承诺事项履行情况- 1、公司实际控制人、股东、关联方、收购人以及公司等承诺相关方在报告期内履行完毕及截至报告期末尚未履行完毕的承诺事项- 2、公司资产或项目存在盈利预测,且报告期仍处在盈利预测期间,公司就资产或项目达到原盈利预测及其原因做出说明- 二、控股股东及其他关联方对上市公司的非经营性占用资金情况- 三、违规对外担保情况- 四、董事会对最近一期“非标准审计报告”相关情况的说明- 五、董事会、监事会、独立董事(如有)对会计师事务所本报告期“非标准审计报告”的说明- 六、与上年度财务报告相比,会计政策、会计估计变更或重大会计差错更正的情况说明- 七、与上年度财务报告相比,合并报表范围发生变化的情况说明- 八、聘任、解聘会计师事务所情况- 九、年度报告披露后面临退市情况- 十、破产重整相关事项- 十一、重大诉讼、仲裁事项- 十二、处罚及整改情况- 十三、公司及其控股股东、实际控制人的诚信状况- 十四、重大关联交易- 1、与日常经营相关的关联交易- 2、资产或股权收购、出售发生的关联交易- 3、共同对外投资的关联交易- 4、关联债权债务往来- 5、与存在关联关系的财务公司的往来情况- 6、公司控股的财务公司与关联方的往来情况- 7、其他重大关联交易- 十五、重大合同及其履行情况- 1、托管、承包、租赁事项情况- (1) 托管情况- (2) 承包情况- (3) 租赁情况- 2、重大担保- 3、委托他人进行现金资产管理情况- (1) 委托理财情况- (2) 委托贷款情况- 4、其他重大合同- 十六、其他重大事项的说明- 十七、公司子公司重大事项- 第七节 股份变动及股东情况- 一、股份变动情况- 1、股份变动情况- 2、限售股份变动情况- 二、证券发行与上市情况- 1、报告期内证券发行(不含优先股)情况- 2、公司股份总数及股东结构的变动、公司资产和负债结构的变动情况说明- 3、现存的内部职工股情况- 三、股东和实际控制人情况- 1、公司股东数量及持股情况- 2、公司控股股东情况- 3、公司实际控制人及其一致行动人- 4、公司控股股东或第一大股东及其一致行动人累计质押股份数量占其所持公司股份数量比例达到80%- 5、其他持股在10%以上的法人股东- 6、控股股东、实际控制人、重组方及其他承诺主体股份限制减持情况- 四、股份回购在报告期的具体实施情况- 第八节 优先股相关情况- 第九节 债券相关情况- 一、企业债券- 二、公司债券- 三、非金融企业债务融资工具- 四、可转换公司债券- 1、转股价格历次调整情况- 2、累计转股情况- 3、前十名可转债持有人情况- 4、担保人盈利能力、资产状况和信用状况发生重大变化的情况- 5、报告期末公司的负债情况、资信变化情况以及在未来年度还债的现金安排- 五、报告期内合并报表范围亏损超过上年末净资产10%- 六、报告期末除债券外的有息债务逾期情况- 七、报告期内是否有违反规章制度的情况- 八、截至报告期末公司近两年的主要会计数据和财务指标- 第十节 财务报告- 一、审计报告- 二、财务报表- 1、合并资产负债表- 2、母公司资产负债表- 3、合并利润表- 4、母公司利润表- 5、合并现金流量表- 6、母公司现金流量表- 7、合并所有者权益变动表- 8、母公司所有者权益变动表- 三、公司基本情况- 四、财务报表的编制基础- 1、编制基础- 2、持续经营- 五、重要会计政策及会计估计- 1、遵循企业会计准则的声明- 2、会计期间- 3、营业周期- 4、记账本位币- 5、重要性标准确定方法和选择依据- 6、同一控制下和非同一控制下企业合并的会计处理方法- 7、控制的判断标准和合并财务报表的编制方法- 8、现金及现金等价物的确定标准- 9、外币业务和外币报表折算- 10、金融工具- 11、合同资产和合同负债- 12、存货- 13、持有待售资产- 14、长期股权投资- 15、投资性房地产- 16、固定资产- (1) 确认条件- (2) 折旧方法- (3) 固定资产处置- 17、在建工程- 18、借款费用- 19、无形资产- (1) 使用寿命及其确定依据、估计情况、摊销方法或复核程序- (2) 研发支出的归集范围及相关会计处理方法- 20、长期资产减值- 21、长期待摊费用- 22、职工薪酬- (1) 短期薪酬的会计处理方法- (2) 离职后福利的会计处理方法- (3) 辞退福利的会计处理方法- 23、预计负债- 24、股份支付- 25、收入- 26、合同成本- 27、政府补助- 28、递延所得税资产/递延所得税负债- 29、租赁- (1) 作为承租方租赁的会计处理方法- (2) 作为出租方租赁的会计处理方法- 30、其他重要的会计政策和会计估计- 31、重要会计政策和会计估计变更- (1) 重要会计政策变更- (2) 重要会计估计变更- (3) 2023年起首次执行新会计准则调整首次执行当年年初财务报表相关项目情况- 六、税项- 1、主要税种及税率- 2、税收优惠- 七、合并财务报表项目注释- 1、货币资金- 2、衍生金融资产- 3、应收票据- (1) 应收票据分类列示- (2) 按坏账计提方法分类披露- (3) 本期计提、收回或转回的坏账准备情况- (4) 期末公司已背书或贴现且在资产负债表日尚未到期的应收票据- 4、应收账款- (1) 按账龄披露- (2) 按坏账计提方法分类披露- (3) 本期计提、收回或转回的坏账准备情况- (4) 本期实际核销的应收账款情况- (5) 按欠款方归集的期末余额前五名的应收账款和合同资产情况- 5、合同资产- (1) 合同资产情况- (2) 按坏账计提方法分类披露- (3) 本期计提、收回或转回的坏账准备情况- 6、应收款项融资- (1) 应收款项融资分类列示- (2) 期末公司已质押的应收款项融资- (3) 期末公司已背书或贴现且在资产负债表日尚未到期的应收款项融资- (4) 本期实际核销的应收款项融资情况- 核销说明:- (5) 其他说明- 7、其他应收款- (1) 应收股利- 1) 应收股利分类- 2) 按坏账计提方法分类披露- (2) 其他应收款- 1) 其他应收款按款项性质分类情况- 2) 按账龄披露- 3) 按坏账计提方法分类披露- 4) 本期计提、收回或转回的坏账准备情况- 5) 按欠款方归集的期末余额前五名的其他应收款情况- 8、预付款项- (1) 预付款项按账龄列示- (2) 按预付对象归集的期末余额前五名的预付款情况- 9、存货- (1) 存货分类- (2) 存货跌价准备和合同履约成本减值准备- 10、一年内到期的非流动资产- (1) 一年内到期的债权投资- (2) 一年内到期的其他债权投资- 11、其他流动资产- 12、其他权益工具投资- 13、长期应收款- (1) 长期应收款情况- (2) 按坏账计提方法分类披露- (3) 本期计提、收回或转回的坏账准备的情况- 14、长期股权投资- 15、固定资产- (1) 固定资产情况- (2) 暂时闲置的固定资产情况- (3) 通过经营租赁租出的固定资产- (4) 未办妥产权证书的固定资产情况- (5) 固定资产的减值测试情况- (6) 固定资产清理- 16、在建工程- (1) 在建工程情况- (2) 重要在建工程项目本期变动情况- (3) 在建工程的减值测试情况- (4) 工程物资- 17、使用权资产- (1) 使用权资产情况- (2) 使用权资产的减值测试情况- 18、无形资产- (1) 无形资产情况- (2) 未办妥产权证书的土地使用权情况- (3) 无形资产的减值测试情况- 19、长期待摊费用- 20、递延所得税资产/递延所得税负债- (1) 未经抵销的递延所得税资产- (2) 未经抵销的递延所得税负债- (3) 以抵销后净额列示的递延所得税资产或负债- (4) 未确认递延所得税资产明细- (5) 未确认递延所得税资产的可抵扣亏损将于以下年度到期- 21、其他非流动资产- 22、所有权或使用权受到限制的资产- 23、短期借款- (1) 短期借款分类- 24、衍生金融负债- 25、应付票据- 26、应付账款- (1) 应付账款列示- 27、其他应付款- (1) 应付股利- (2) 其他应付款- 按款项性质列示其他应付款- 28、合同负债- 29、应付职工薪酬- (1) 应付职工薪酬列示- (2) 短期薪酬列示- (3) 设定提存计划列示- 30、应交税费- 31、一年内到期的非流动负债- 32、其他流动负债- 33、长期借款- (1) 长期借款分类- 34、应付债券- (1) 应付债券- (2) 应付债券的增减变动(不包括划分为金融负债的优先股、永续债等其他金融工具)- (3) 可转换公司债券的说明- 35、租赁负债- 36、长期应付款- 37、预计负债- 38、递延收益- 39、其他非流动负债- 40、股本- 41、其他权益工具- (1) 期末发行在外的优先股、永续债等其他金融工具基本情况- (2) 期末发行在外的优先股、永续债等金融工具变动情况表- 42、资本公积- 43、库存股- 44、其他综合收益- 45、专项储备- 46、盈余公积- 47、未分配利润- 48、营业收入和营业成本- 49、税金及附加- 50、管理费用- 51、销售费用- 52、研发费用- 53、财务费用- 54、其他收益- 55、公允价值变动收益- 56、投资收益- 57、信用减值损失- 58、资产减值损失- 59、资产处置收益- 60、营业外收入- 61、营业外支出- 62、所得税费用- (1) 所得税费用表- (2) 会计利润与所得税费用调整过程- 63、现金流量表项目- (1) 与经营活动有关的现金- (2) 与投资活动有关的现金- (3) 与筹资活动有关的现金- 64、现金流量表补充资料- (1) 现金流量表补充资料- (2) 本期收到的处置子公司的现金净额- (3) 现金和现金等价物的构成- 65、外币货币性项目- (1) 外币货币性项目- (2) 境外经营实体说明,包括对于重要的境外经营实体,应披露其境外主要经营地、记账本位币及选择依据,记账本位币发生变化的还应披露原因。- 66、租赁- (1) 本公司作为承租方- (2) 本公司作为出租方- 八、研发支出- 九、合并范围的变更- 1、同一控制下企业合并- (1) 本期发生的同一控制下企业合并- (2) 合并成本- (3) 合并日被合并方资产、负债的账面价值- 2、处置子公司- 3、其他原因的合并范围变动- 十、在其他主体中的权益- 1、在子公司中的权益- (1) 企业集团的构成- (2)重要的非全资子公司- (3)重要非全资子公司的主要财务信息- 2、在子公司的所有者权益份额发生变化且仍控制子公司的交易- (1)在子公司所有者权益份额发生变化的情况说明- (2)交易对于少数股东权益及归属于母公司所有者权益的影响- 3、在合营安排或联营企业中的权益- (1)重要的合营企业或联营企业- (2)重要联营企业的主要财务信息- (3)不重要的合营企业和联营企业的汇总财务信息- (4)合营企业或联营企业发生的超额亏损- 十一、政府补助- 1、报告期末按应收金额确认的政府补助- 2、涉及政府补助的负债项目- 3、计入当期损益的政府补助- 十二、与金融工具相关的风险- 1、金融工具产生的各类风险- 十三、公允价值的披露- 1、以公允价值计量的资产和负债的期末公允价值- 2、持续和非持续第二层次公允价值计量项目,采用的估值技术和重要参数的定性及定量信息- 3、持续和非持续第三层次公允价值计量项目,采用的估值技术和重要参数的定性及定量信息- 4、本期内发生的估值技术变更及变更原因- 十四、关联方及关联交易- 1、本企业的母公司情况- 2、本企业的子公司情况- 3、本企业合营和联营企业情况- 4、其他关联方情况- 5、关联交易情况- (1)购销商品、提供和接受劳务的关联交易- (2) 关联租赁情况- (3) 关联担保情况- (4) 关联方资金拆借- (5) 支付关联方资金占用费及担保费情况- (6) 关联方资产转让、债务重组情况- (7) 关键管理人员报酬- 6、关联方应收应付款项- (1) 应收项目- (2) 应付项目- 7、关联方承诺- 十五、股份支付- 1、股份支付总体情况- 2、以权益结算的股份支付情况- 3、以现金结算的股份支付情况- 4、本期股份支付费用- 十六、承诺及或有事项- 1、重要承诺事项- 十七、资产负债表日后事项- 1、重要的非调整事项- 2、利润分配情况- 十八、其他重要事项- 1、分部信息- (1) 报告分部的确定依据与会计政策- (2) 报告分部的财务信息- 十九、母公司财务报表主要项目注释- 1、应收账款- (1) 按账龄披露- (2) 按坏账计提方法分类披露- (3) 本期计提、收回或转回的坏账准备情况- (4) 按欠款方归集的期末余额前五名的应收账款和合同资产情况- 2、其他应收款- (1) 应收股利- (1) 应收股利- (1) 应收股利- (1) 应收股利- 1) 应收股利分类- (1) 应收股利- 1) 应收股利分类- (1) 应收股利- 1) 应收股利分类- (2) 其他应收款- 1) 其他应收款按款项性质分类情况- 2) 按账龄披露- 3) 按欠款方归集的期末余额前五名的其他应收款情况- 3、长期股权投资- (1) 对子公司投资- (2) 对联营、合营企业投资- 4、营业收入和营业成本- 5、投资收益- 二十、补充资料- 1、当期非经常性损益明细表- 2、净资产收益率及每股收益- 3、境内外会计准则下会计数据差异- (1) 同时按照国际会计准则与按中国会计准则披露的财务报告中净利润和净资产差异情况- (2) 同时按照境外会计准则与按中国会计准则披露的财务报告中净利润和净资产差异情况- (3) 境内外会计准则下会计数据差异原因说明,对已经境外审计机构审计的数据进行差异调节的,应注明该境外机构的名称

🌟 输出特点

  • ✅ 完整保留层级关系
  • ✅ 自动关联页码
  • ✅ 支持复杂编码

🧠 五、代码深度解析

关键技术点

技术点实现方案图标
递归处理DFS算法遍历树结构🌳
页面定位解析Dest和NamedDest📑
编码处理三级降级策略🔠
对象解析PDFObjRef解引用🔗

流程图

graph TDA[开始解析PDF] --> B{是否有Outlines?}B -->|是| C[解析根节点]B -->|否| D[返回空列表]C --> E[递归处理First/Next]E --> F[提取标题和页码]F --> G[生成结构化数据]

❓ 六、常见问题解答

Q1: 提取结果为空?

🔧 可能原因:

  • PDF本身无大纲结构
  • 大纲被加密
  • 非常规大纲实现

Q2: 中文乱码怎么办?

🔄 解决方案:

  1. 检查chardet检测结果
  2. 尝试添加GBK编码
  3. 手动指定编码参数

🚀 七、扩展应用场景

实用案例

  • 📑 自动生成文档目录
  • 🌐 转换为HTML导航菜单
  • 📊 文档结构分析报表
  • 🔗 与OCR结合实现智能检索

📝 八、总结

本文介绍了使用pdfminer库提取PDF大纲的完整方法,包括PDF解析、递归处理大纲结构、编码处理和页面定位等关键技术点。这种方法可以处理大多数包含大纲的PDF文档,并保留层级结构信息。

希望这篇文章对你有所帮助!如果有任何问题,欢迎在评论区留言讨论。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/94855.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/94855.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第39周——训练自己的数据集

目录 1. 下载数据 2. 配置开发环境 3. 预处理数据 🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 1. 下载数据 百度网盘:百度网盘 请输入提取码 压缩文件中有两个文件夹,分别是Annot…

CentOS7中Docker的安装与卸载

CentOS7 从零开始:Docker 安装与卸载全指南(新手友好版) 作为一名刚接触 Linux 和容器技术的新手,你是否曾在安装 Docker 时被各种命令和报错搞得一头雾水?比如执行 yum install docker 时提示 “仓库不存在”,或者启动 Docker 后用 docker version 只显示 client 不显示…

解决MinIO上传图片后返回URL无法访问的问题

一、问题现象 上传接口返回了文件的访问路径,比如: http://127.0.0.1:9005/lease/20250808/xxx-uuid.png但是用浏览器直接打开该地址却显示权限拒绝,前端也访问不到:二、问题原因分析 桶权限设置不正确: MinIO默认桶权限是私有的,即使浏览器能…

系统网络端口安全扫描脚本及详解

#!/bin/bash # 系统服务端口安全扫描 - 修正版echo " 系统服务端口安全扫描报告 "# 1. 高风险端口识别 echo "⚠️ 对外开放的高风险端口:" awk /0.0.0.0:21/ {print " 端口 21 - FTP (明文传输)\n 🚨 严重安全风险,建议…

DAY 39 图像数据与显存

知识点回顾 图像数据的格式:灰度和彩色数据模型的定义显存占用的4种地方 模型参数梯度参数优化器参数数据批量所占显存神经元输出中间状态 batchisize和训练的关系 一、 图像数据的介绍 1.1 灰度图像 从这里开始我们进入到了图像数据相关的部分,也是默认…

从大数据视角理解时序数据库选型:为何选择 Apache IoTDB?

目录一、什么是时序数据库?为什么你需要它?🔧典型应用场景:二、时序数据库选型维度有哪些?三、为什么推荐 Apache IoTDB?🧠 Apache 顶级项目,工业 IoT 场景原生支持🚀 性…

[ MySQL 数据库 ] 环境安装配置和使用

目录 一. 数据库(DataBase) 1.定义: 2. 常见的数据库产品: 3. MySQL数据库 (1). 介绍 : (2). cmd命令行方式连接 MySQL (3). MySQL的常用命令 二. MySQL数据库 环境安装及配置 三. SQL 1.定义 : 2. DDL (1)数据库 (2)数据表 1. 字段(列)和记录(行) 2. 表特征 3.…

Numpy科学计算与数据分析:Numpy布尔索引与花式索引实战

Numpy高级索引 学习目标 通过本课程,学员将掌握Numpy中布尔索引和花式索引的使用方法,能够灵活运用这些高级索引技术进行复杂的数据操作和处理。 相关知识点 Numpy高级索引 学习内容 1 Numpy高级索引 1.1 布尔索引 布尔索引是Numpy中一种非常强大…

【Linux】patch补丁的生成与使用方法总结

引言 在 Linux 和开源世界中,patch 是一个极其强大且常用的工具。它允许开发者和系统管理员以增量方式修改文件,特别适用于源代码的更新、错误修复、功能补丁的分发与应用。 目录 引言 一、patch介绍 二、生成补丁文件 三、补丁文件内容解析 四、p…

杂谈 001 · VScode / Copilot 25.08 更新

原文链接https://www.castamerego.com/blog/talk-001 2025.08.08 , VS code 发布八月更新,同一天 Copilot 也更新了 GPT-5, 浅体验一下 VS code 更新 发行说明更新页面内跳转显示 AI 比例页面内跳转 Copilot 更新 对话回溯 checkpoints页面内跳转进度列表页面内…

微软发布Project Ire项目:可自主检测恶意软件的人工智能系统

微软Project Ire项目利用AI自主逆向工程并分类软件性质微软近日公布了Project Ire项目,这是一个能够自主进行逆向工程并分类软件性质的人工智能(AI)系统。该系统由大型语言模型(LLM)驱动,通过使用反编译器等…

k8s核心组件——kubelet详解

🚀Kubernetes 核心组件解析:什么是 Kubelet?它的作用是什么? 在 Kubernetes(K8s)集群中,Kubelet 是最重要的 Node 组件之一,它负责管理和维护 Pod 的生命周期,确保容器在…

C++ 部署LSTM(.onnx)

0、 背景 在工业自动化控制领域,预测某些变量是否关键。根据工厂的数据,训练好模型之后,将其转我通用的onnx 模型,并实现高效的推理。 模型训练 import numpy as np from para import * from data_utils import MyDataset from da…

深度学习-卷积神经网络CNN-1×1卷积层

1x1卷积核,又称为网中网(Network in Network):NIN卷积的本质是有效提取相邻像素间的相关特征,而11的卷积显然没有此作用。它失去了卷积层的特有能力——在高度和宽度维度上,识别相邻元素间相互作用的能力。…

使用 Python 异步爬虫抓取豆瓣电影Top250排行榜

导读 在现代网络爬虫开发中,面对 海量网页数据、慢速响应的网络接口,传统的同步爬虫方式已经不能满足高效抓取需求。本文将手把手带你构建一个 基于 aiohttp + asyncio 的异步爬虫系统,实战目标是抓取豆瓣电影 Top250 排行榜中的电影名称、评分和详情页地址。 目录 导读 …

云原生开发全面解析:从核心理念到实践挑战与解决方案

1. 云原生开发的核心理念与定义 云原生(Cloud Native)是一种基于云计算环境设计和运行应用程序的方法论,其三大技术支柱为容器化、微服务和声明式API。根据CNCF定义,云原生技术通过标准化接口和自动化管理,使应用具备…

WebForms 实例

WebForms 实例 引言 WebForms 是 ASP.NET 技术中的一种重要技术,它允许开发者以表单的形式创建动态网页。本文将通过具体的实例,深入探讨 WebForms 的基本概念、实现方法以及在实际项目中的应用。 WebForms 简介 WebForms 是一种用于创建动态网页的框架,它允许开发者以类…

Java 之 多态

一、多态 多态故名思义,多种状态。比如Animal 这个类中,eat 方法是 公共的方法,但是当 People,Dog , Cat,继承时,我们知道人要吃的是米饭,狗要吃的是狗粮,猫要吃的是猫粮。所以当不同类型的引用…

文件结构树的├、└、─ 符号

目录一、├、└、─符号的背景二、├、└、─ 符号的含义2.1 ├ 带竖线的分支符号2.2 └不带竖线的分支符号2.3 ─横线符号三、Windows系统中生成目录树一、├、└、─符号的背景 我们在编程中,可能会经常遇到一些特殊符号├、└、─。这并非偶然,二十由…

微软XBOX游戏部门大裁员

近日有报道称,微软正计划对Xbox游戏部门进行另外一次裁员,影响的将是整个团队,而不是特定岗位或者部门,大概10%至20%的Xbox团队成员受到影响,这是微软这次对Xbox业务重组的一部分。 据报道,微软已经开始新…