如何使用python删除xml或html命令行并检索实际文本数据?

时间:2019-06-24 09:56:05

标签: python python-3.x nlp

如何在使用python-3.x进行文本预处理期间从下载的网页中删除html或xml命令行,以仅获取文本数据

我尝试过先使用str.translate删除特殊字符和数字,然后从英语词典中对标记进行交叉检查,但仍然包含一些html命令。

def rmpunctuation(text):

    chars_to_remove = "!\"·—#$%&'–()*+,-.•−⟨⟩/:;<=>? 
    @[\]^_`{|}~0123456789"

    tr = str.maketrans("", "", chars_to_remove)

    return text.translate(tr)


def dictcheck(text):

    a = []

    for i in range(0,len(text)):

        if(d.check(text[i]) == True):

            a.append(text[i])

    return a

我希望输出是所有单词的列表,这些单词是网页上的实际文本,而不是一些xml或html代码。

1 个答案:

答案 0 :(得分:0)

您尝试过正则表达式吗?

如果您在代码中包含以下内容,则会从字符串中删除网址和特殊字符


import re

clean_string= re.sub(r'http\S+', ' ', orginal_string)

#To remove the other characters that you have mentioned you could do the following:

clean_string= re.sub("!\"·—#$%&'–()*+,-.•−⟨⟩/:;<=>? 
    @[\]^_`{|}~0123456789", ' ', orginal_string)