Как удалить командные строки XML или HTML и получить фактические текстовые данные с помощью Python? - PullRequest
1 голос
/ 24 июня 2019

Как удалить командные строки html или xml с загруженной веб-страницы, чтобы получать только текстовые данные во время предварительной обработки текста с использованием python-3.x

Я пытался сначала удалить специальные символы и числа с помощью 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 голосов
/ 24 июня 2019

Вы пробовали регулярное выражение?

Если вы включите следующее в свой код, он удалит URL-адреса и ваши специальные символы из строки


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)


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...