html怎么做查询网站吗/护肤品推广软文

html怎么做查询网站吗,护肤品推广软文,自己的ip做网站,在哪个网站可以做酒店预定单一、使用pdfminer提取 import os import re from pdfminer.high_level import extract_text import docx2txt import jiebadef read_pdf(file_path):"""读取 PDF 文件内容:param file_path: PDF 文件路径:return: 文件内容文本"""try:text ext…

一、使用pdfminer提取

import os
import re
from pdfminer.high_level import extract_text
import docx2txt
import jiebadef read_pdf(file_path):"""读取 PDF 文件内容:param file_path: PDF 文件路径:return: 文件内容文本"""try:text = extract_text(file_path)return textexcept Exception as e:print(f"读取 PDF 文件 {file_path} 时出错: {e}")return Nonedef read_docx(file_path):"""读取 Word 文件内容:param file_path: Word 文件路径:return: 文件内容文本"""try:text = docx2txt.process(file_path)return textexcept Exception as e:print(f"读取 Word 文件 {file_path} 时出错: {e}")return Nonedef clean_text(text):"""清理文本,去除无关字符和空白行:param text: 原始文本:return: 清理后的文本"""if text is None:return None# 去除特殊字符text = re.sub(r'[^\u4e00-\u9fa5a-zA-Z0-9\s]', '', text)# 去除多余的空白行text = re.sub(r'\n+', '\n', text).strip()return textdef tokenize_text(text):"""对文本进行分词:param text: 输入文本:return: 分词后的字符串,以空格分隔"""if text is None:return ""return " ".join(jieba.lcut(text))def preprocess_files(folder_path, output_folder):"""对指定文件夹中的 PDF 和 Word 文件进行预处理,并保存处理后的结果:param folder_path: 包含原始文件的文件夹路径:param output_folder: 保存处理后文件的文件夹路径"""if not os.path.exists(output_folder):os.makedirs(output_folder)for root, dirs, files in os.walk(folder_path):for file in files:file_path = os.path.join(root, file)if file.endswith('.pdf'):text = read_pdf(file_path)elif file.endswith('.docx'):text = read_docx(file_path)else:continuecleaned_text = clean_text(text)tokenized_text = tokenize_text(cleaned_text)# 生成输出文件名file_name, _ = os.path.splitext(file)output_file_path = os.path.join(output_folder, f"{file_name}_processed.txt")# 保存处理后的文本到文件with open(output_file_path, 'w', encoding='utf-8') as f:f.write(tokenized_text)print(f"处理并保存文件: {output_file_path}")# 示例使用
if __name__ == "__main__":input_folder = 'your_input_folder_path'  # 替换为实际包含 PDF 和 Word 文件的文件夹路径output_folder = 'your_output_folder_path'  # 替换为实际保存处理后文件的文件夹路径preprocess_files(input_folder, output_folder)

代码解释

  1. tokenize_text 函数修改:此函数将分词后的结果用空格连接成字符串,方便后续保存到文件。

  2. preprocess_files 函数扩展

    • 增加了 output_folder 参数,用于指定保存处理后文件的文件夹路径。
    • 检查输出文件夹是否存在,如果不存在则创建。
    • 对于每个处理后的文件,生成对应的输出文件名,格式为原文件名加上 _processed.txt
    • 使用 with open 语句将处理后的文本写入到对应的输出文件中。
  3. 主程序调用:需要将 your_input_folder_path 替换为实际包含 PDF 和 Word 文件的文件夹路径,将 your_output_folder_path 替换为实际保存处理后文件的文件夹路径。运行代码后,处理后的文本将保存到指定的输出文件夹中。

  4. 测试相对路径

    # 打印绝对路径#使用os.path.exists 函数检查输入和输出路径是否存在abs_input_folder = os.path.abspath(input_folder)abs_output_folder = os.path.abspath(output_folder)print(f"输入文件夹的绝对路径: {abs_input_folder}")print(f"输出文件夹的绝对路径: {abs_output_folder}")# 检查路径是否存在if os.path.exists(abs_input_folder):print("输入文件夹路径存在。")else:print("输入文件夹路径不存在。")preprocess_files(input_folder, output_folder)

二、其他库和软件

除了 pdfminer 外,还有许多其他可以提取 PDF 文本的工具:

Python 库

1. PyPDF2
  • 特点:一个纯 Python 编写的库,用于处理 PDF 文件,功能较为基础,能够实现简单的文本提取、合并、分割等操作,使用起来比较简单。
  • 示例代码
import PyPDF2def extract_text_pypdf2(pdf_path):text = ""with open(pdf_path, 'rb') as file:pdf_reader = PyPDF2.PdfReader(file)num_pages = len(pdf_reader.pages)for page_num in range(num_pages):page = pdf_reader.pages[page_num]text += page.extract_text()return textpdf_path = 'your_pdf_file.pdf'
extracted_text = extract_text_pypdf2(pdf_path)
print(extracted_text)
2. pdfplumber
  • 特点:基于 pdfminer 开发,提供了更高级、更方便的 API,能够处理更复杂的 PDF 布局,支持表格提取、页面分析等功能,对于具有结构化数据的 PDF 文件处理效果较好。
  • 示例代码
import pdfplumberdef extract_text_pdfplumber(pdf_path):text = ""with pdfplumber.open(pdf_path) as pdf:for page in pdf.pages:text += page.extract_text()return textpdf_path = 'your_pdf_file.pdf'
extracted_text = extract_text_pdfplumber(pdf_path)
print(extracted_text)
3. tika
  • 特点:是基于 Apache Tika 的 Python 封装,Tika 是一个强大的内容分析工具,支持多种文件格式的解析,包括 PDF。它可以处理各种复杂的 PDF 文件,并且能够自动检测文件类型和编码。
  • 示例代码
from tika import parserdef extract_text_tika(pdf_path):parsed = parser.from_file(pdf_path)return parsed['content']pdf_path = 'your_pdf_file.pdf'
extracted_text = extract_text_tika(pdf_path)
print(extracted_text)

独立软件工具

1. Adobe Acrobat Pro DC
  • 特点:Adobe 公司开发的专业 PDF 编辑软件,功能强大,除了文本提取外,还支持 PDF 的创建、编辑、注释、签名等多种操作。可以通过复制粘贴或导出为其他格式(如文本、Word 等)来提取 PDF 中的文本。
  • 操作步骤:打开 PDF 文件,选择“文件” - “另存为”,在保存类型中选择“纯文本”,然后指定保存路径和文件名即可。
2. Smallpdf
  • 特点:一款在线 PDF 处理工具,提供了多种 PDF 处理功能,包括文本提取。无需安装软件,只需在浏览器中访问其网站,上传 PDF 文件,即可快速提取文本。支持免费使用,但对文件大小和处理次数有一定限制。
  • 操作步骤:访问 Smallpdf 网站,选择“PDF 转 TXT”功能,上传 PDF 文件,等待处理完成后下载提取的文本文件。
3. Nitro Pro
  • 特点:一款功能丰富的 PDF 处理软件,支持文本提取、编辑、转换等多种操作。具有直观的用户界面和高效的处理速度,适合个人和企业用户使用。
  • 操作步骤:打开 PDF 文件,选择“转换” - “导出为”,在导出格式中选择“文本”,然后设置相关参数并保存文件。

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

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

相关文章

嵌入式八股文(五)硬件电路篇

一、名词概念 1. 整流和逆变 (1)整流:整流是将交流电(AC)转变为直流电(DC)。常见的整流电路包括单向整流(二极管)、桥式整流等。 半波整流:只使用交流电的正…

精选案例展 | 智己汽车—全栈可观测驱动智能化运营与成本优化

本案例为“观测先锋 2024 可观测平台创新应用案例大赛”精选案例,同时荣获IT168“2024技术卓越奖评选-年度创新解决方案”奖。 项目背景 近年来,中国汽车行业进入转型升级阶段,智能网联技术成为行业发展的核心。车联网、自动驾驶等技术的加速…

速通HTML

目录 HTML基础 1.快捷键 2.标签 HTML进阶 1.列表 a.无序列表 b.有序列表 c.定义列表 2.表格 a.内容 b.合并单元格 3.表单 a.input标签 b.单选框 c.上传文件 4.下拉菜单 5.文本域标签 6.label标签 7.按钮标签 8.无语义的布局标签div与span 9.字符实体 HTML…

IP离线库助力破解网络反诈难题

毫秒级响应识别异常访问 IP离线库集成全球全量IP地址的详细信息,包括地理地址查询、运营商、经纬度、代理识别等多种维度数据。例如: 当用户账号频繁从北京、越南等多地IP登录时,系统将自动触发风险预警; 检测到访问IP为已知机…

lattice hdl实现spi接口

在lattice工具链中实现SPI接口通常涉及以下步骤: 定义硬件SPI接口的管脚。配置SPI时钟和模式。编写SPI主机或从机的控制逻辑。 展示了如何在Lattice工具链中使用HDL语言(例如Verilog)来配置SPI接口: lattice工程 顶层:spi_slave_top.v `timescale 1ns/ 1ps module spi_…

Cesium@1.126.0,创建3D瓦片,修改样式

第一步:添加3D建筑 Cesium.createOsmBuildingsAsync()这是一个异步方法,所以要写在一个异步函数里 创建一个函数 const create3DBuilding async (viewer) > {try {// 添加3D建筑const tileset await Cesium.createOsmBuildingsAsync();viewer.scen…

基于 C++ Qt 的 Fluent Design 组件库 QFluentWidgets

简介 QFluentWidgets 是一个基于 Qt 的 Fluent Designer 组件库,内置超过 150 个开箱即用的 Fluent Designer 组件,支持亮暗主题无缝切换和自定义主题色。 编译示例 以 Qt5 为例(Qt6 也支持),将 libQFluentWidgets.d…

React 源码揭秘 | 更新队列

前面几篇遇到updateQueue的时候,我们把它先简单的当成了一个队列处理,这篇我们来详细讨论一下这个更新队列。 有关updateQueue中的部分,可以见源码 UpdateQueue实现 Update对象 我们先来看一下UpdateQueue中的内容,Update对象&…

[SQL] 事务的四大特性(ACID)

🎄事务的四大特性 以下就是事务的四大特性,简称ACID。 原子性📢事务时不可分割的最小操作单元,要么全部成功,要么全部失败。一致性📢事务完成后,必须使所有的数据都保持一致隔离性&#x1f4e2…

DeepSeek 提示词:基础结构

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…

Apache DolphinScheduler系列1-单节点部署及测试报告

文章目录 整体说明一、部署环境二、版本号三、部署方案四、部署步骤4.1、上传部署包4.2、创建外部数据库4.3、修改元数据库配置4.4、上传MySQLl驱动程序4.5、初始化外部数据库4.6、启停服务4.7、访问页面五、常见问题及解决方式5.1、时间不一致5.2、异常终止5.3、大量日志5.4、…

LLM之论文阅读——Context Size对RAG的影响

前言 RAG 系统已经在多个行业中得到广泛应用,尤其是在企业内部文档查询等场景中。尽管 RAG 系统的应用日益广泛,关于其最佳配置的研究却相对缺乏,特别是在上下文大小、基础 LLM 选择以及检索方法等方面。 论文原文: On the Influence of Co…

LLaMA-Factory|微调大语言模型初探索(4),64G显存微调13b模型

上篇文章记录了使用lora微调deepseek-7b,微调成功,但是微调llama3-8b显存爆炸,这次尝试使用qlora微调HQQ方式量化,微调更大参数体量的大语言模型,记录下来微调过程,仅供参考。 对过程不感兴趣的兄弟们可以直…

详解Redis如何持久化

引言 本文介绍了 Redis 的两种持久化方式:RDB 和 AOF。RDB 按时间间隔快照存储,AOF 记录写操作。阐述了它们的配置、工作原理、恢复数据的方法、性能与实践建议,如降低 fork 频率、控制内存等,还提到二者可配合使用,最…

HarmonyOS Design 介绍

HarmonyOS Design 介绍 文章目录 HarmonyOS Design 介绍一、HarmonyOS Design 是什么?1. 设计系统(Design System)2. UI 框架的支持3. 设计工具和资源4. 开发指南5. 与其他设计系统的对比总结 二、HarmonyOS Design 特点 | 应用场景1. Harmon…

Java 大视界 -- 基于 Java 的大数据机器学习模型压缩与部署优化(99)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

算法-图-数据结构(邻接矩阵)-BFS广度优先遍历

邻接矩阵广度优先遍历(BFS)是一种用于遍历或搜索图的算法,以下是具体介绍: 1. 基本概念 图是一种非线性的数据结构,由顶点和边组成,可分为无向图、有向图、加权图、无权图等。邻接矩阵是表示图的一种数…

ARM Cortex-M3 技术解析:核寄存器R1-R15介绍及使用

ARM Cortex-M3 技术解析:核寄存器R1-R15介绍及使用 作为嵌入式开发领域的经典处理器内核,ARM Cortex-M3(CM3)凭借其高效能、低功耗和丰富特性,在工业控制、物联网、消费电子等领域广泛应用。而内核寄存器是我们调试代…

DeepSeek+Kimi生成高质量PPT

DeepSeek与Kimi生成PPT全流程解析 一、工具分工原理 DeepSeek核心作用:生成结构化PPT大纲(擅长逻辑构建与内容优化)Kimi核心作用:将文本转换为视觉化PPT(提供模板库与排版引擎) 二、操作步骤详解 1. 通…

Redis|持久化

文章目录 总体介绍RDB(Redis DataBase)官网介绍案例演示优势劣势如何检查修复 dump.rdb 文件哪些情况下会触发 RDB 快照如何禁用快照RDB 优化配置项详解小总结 AOF(Append Only File)官网介绍是什么能干嘛AOF 持久化工作流程AOF 缓…