python 将html文件转化为txt文件

python 将html文件转化为txt文件

①需求:一千多篇乌云知识库的文章,收集下来后是html文件,需要将它们都转化为txt文件。由于本人又菜又懒,找了很久代码想要ctrl+c和ctrl+v大佬的,然后收工,然而没有找到好使的代码。下了一个转化工具,但是转化效果不太好,只好苦逼的研究一下代码了(害无非就是循环读取html文件,再进行编码转化,再保存到txt文件罢了),文件的编码格式真是博大精深,菜鸡不想深入苦海,以下的代码仅供参考哦~欢迎大佬指点。

②目的:将一个文件夹下的所有html文件转化为txt文件,并放入另外一个文件夹下(也就是一个漏漏的文件转化器),在可爱的jupyter上运行。

(1)开始转化

# -*- coding:utf-8 -*-
import os
import nltk
from bs4 import BeautifulSoup

# root_dir为要读取文件的根目录
root_dir = r"C:\\Users\\z\\Desktop\\drops_html版"

# 依次读取根目录下的每一个文件
for file in os.listdir(root_dir):
    file_name = root_dir + "\\" + file
    filein = open(file_name, "rb")
        
    #将html转化为txt,用变量bb来暂时保存转化后的txt文本
    bb = BeautifulSoup(filein).get_text()
    
    
    with open("C:\\Users\\z\\Desktop\\temp\\{0}.txt".format(file),"a",encoding="gb18030") as file_handle:   # .txt可以不自己新建,代码会自动新建
        file_handle.write(bb)     #将txt文本依次写入文件夹中
        file_handle.write('\n')    

(2)删除txt文本的空行

转化后的txt文件太太太多空行了,将其删除

import sys
import os

# root_dir为要读取文件的根目录
root_dir = r"C:\\Users\\z\\Desktop\\temp"

# 依次读取根目录下的每一个文件
for file in os.listdir(root_dir):
    file_name = root_dir + "\\" + file
    filein = open(file_name, "r",encoding="gb18030")

    # txt可以不自己新建,代码会自动新建
    with open("C:\\Users\\z\\Desktop\\txt\\{0}".format(file),"a",encoding="gb18030") as fnew: 
        #对每一行先删除空格,\n等无用的字符,再检查此行是否长度为0
        for line in filein.readlines():                                  
            data=line.strip()
            if len(data)!=0:
                fnew.write(data)
                fnew.write('\n')
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值