chm 转化为 html 转化为 txt

1 篇文章 0 订阅
1 篇文章 0 订阅

 

 

# -*- coding: utf-8 -*-
# @Time    : 2020/10/16 14:09 PM
# @Author  : yangkaitong
# @FileName: preprocessing.py

######################################################################
##    win下bat运行该命令,会将chm转化为txt,部分会转化成html            ##
##      hh -decompile   D:\Desktop\  123.chm                        ##
##    遗憾的是部分会是html,所以该脚本旨在转化html为excel              ##
######################################################################

import re
import os
import pandas as pd


def normalizing(text:str):
    new_text = []
    line = text.split("\n")
    drop_line_flag = ["Top&nbsp"," ","Previous ","body","Next"]
    replace_line_flag = ["?"]
    def drop_flag(cur_line):
        for flag in drop_line_flag:
            if flag in cur_line:
                return True
        return False
    for cur_line in line:
        cur_line = cur_line.strip()
        if cur_line == "":
            continue
        elif drop_flag(cur_line):
            continue
        elif len(new_text)>0 and cur_line in new_text[-1]:
            continue
        else:
            for flag in replace_line_flag:
                cur_line = cur_line.replace(flag,"")
            new_text.append(cur_line)
    return "".join(new_text)


def html_tag_rm(content: str):
    dr = re.compile(r'<[^>]+>',re.S)
    return dr.sub('',content)


def read_htm(file):
    htmlf = open(file,'r')
    htmlcont = htmlf.read()
    return htmlcont

    
def get_text(file):
    html = read_htm(file)
    text = html_tag_rm(html)
    text = normalizing(text)
    return text


def htm2csv(path,save_path):
    #path html总目录
    #最后保存的excel文件路径
    temp_list_text = []
    temp_list_filename = []
    for file in os.listdir(path):
        file_path = os.path.join(path, file)
        if os.path.isfile(file_path):
            text = get_text(file_path)
            if text!="":
                temp_list_text.append(text)
                temp_list_filename.append(file)
        else:
            print("%s 不存在"%file_path)
    temp_dict = {'file_name': temp_list_filename,'text': temp_list_text}
    df = pd.DataFrame(temp_dict)
    df.to_excel(save_path)


if __name__ == '__main__':
    path = "data_dir"
    save_path = r"result.xlsx"
    htm2csv(path,save_path)

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 HTM(HTML)转TXT 所需软件:HTML2TXT.exe 说明:启动软件,单击“添加文件”按钮找到需要转换的HTML文件;选择一个输出文件夹,然后单击“开始”按钮即可得到反编译后的HTM文件。 2 CHMTXT 所需软件:CHM Encoder 说明:启动软件,单击“打开”按钮,找到需要转换的CHM文件;选择一个输出文件夹,然后单击“开始”按钮,即可得到反编译后的HTM文件。接下来执行上面讲过的HTM(HTML)转TXT的步骤,即可得到TXT文件。 3 PDF转TXT 所需软件:PDF Text Converter 说明:启动软件后,先在左上方的浏览器窗口内找到PDF文件所在的文件夹,此时左下方的文件列表窗口中会显示出该文件夹中的PDF文件,选中欲转换的文件,单击工具栏上的“添加文件”按钮,即会在右上方的窗口中列出等待转换的文件,添加完成后,单击齿轮形状的“转换”按钮,即可完成转换,转换好的TXT文件保存在源文件所在文件夹内。 4 JAR转TXT 所需软件:WinRAR 说明:只要你的电脑上安装了WinRAR,即可右击JAR文件,直接将其解压缩。此时你需要做的,就是将这些没有扩展名的文件加上TXT的扩展名并合并(快捷的方法下面会有介绍)。 5 UMD转TXT 所需软件:XBookMaker 说明:启动软件后,单击左上方的“Open folder”按钮,定位到包含UMD电子书的文件夹,此时会在左边的的“Files”窗口列出该文件夹内包含的所有UMD格式的电子书,点击一个UMD文件,左下方的“Chapters”窗口中即会显示该电子书中所包含的章节。单击任意一个章节,即可在右边的窗口中看到该章节的内容。现在你只需将其复制并将其粘贴到记事本中,保存为TXT即可, 6 EXE转TXT 所需软件:miniKillEBook 说明:先打开想要转换的EXE电子书,再启动miniKillEBook,勾选“以文本方式保存”复选框,拖动图中的图标到电子书窗口中,单击“开始”按钮,软件即会自动将电子书“逐页翻过”并将每一页的内容存为TXT文本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值