Замените различные типы HTML-тегов из текста соответствующими выражениями в Python - PullRequest
0 голосов
/ 12 марта 2019

Я очищаю необработанный текст, взятый с веб-сайта, чтобы его можно было разбить на четкие предложения для обучения встраиванию слов. Возьмем один пример:

Xét xử ông Đinh La Thăng và đồng phạm: Luật sư nói tránh thành án lệ</h4></li></ul></div></div><p>Ngày 14-1, tại phiên tòa xét xử sơ thẩm ông <b>Đinh La Thăng</b>, nguyên chủ tịch Hội đồng Quản trị

Я хочу заменить </h4></li></ul></div></div><p> на '.' и <b> на пробел '' , поэтому приведенная выше строка станет такой:

Xét xử ông Đinh La Thăng và đồng phạm: Luật sư nói tránh thành án lệ. Ngày 14-1, tại phiên tòa xét xử sơ thẩm ông Đinh La Thăng, nguyên chủ tịch Hội đồng Quản trị 

Я пытался использовать красивый суп, но я не знаю, как заменить каждый тип по-разному и эффективно.

Ответы [ 2 ]

0 голосов
/ 12 марта 2019

Ответ babatto является чистым, если вы хотите удалить все заголовки из необработанного HTML-файла, но если вы хотите replace их, как описано в вашем вопросе, вы можете попробовать это:

var = """Xét xử ông Đinh La Thăng và đồng phạm: Luật sư nói tránh thành án lệ</h4></li></ul></div></div><p>Ngày 14-1, tại phiên tòa xét xử sơ thẩm ông <b>Đinh La Thăng</b>, nguyên chủ tịch Hội đồng Quản trị"""

replacements = {
"</h4></li></ul></div></div><p>": ".",
"</b>": ""
}

for key in replacements.keys():
    if key in var:
        var = var.replace(key,replacements[key])

print(var)
0 голосов
/ 12 марта 2019

Попробуйте:

var =  'Xét xử ông Đinh La Thăng và đồng phạm: Luật sư nói tránh thành án lệ</li><p>Ngày 14-1, tại phiên tòa xét xử sơ thẩm ông <b>Đinh La Thăng</b>, nguyên chủ tịch Hội đồng Quản trị' 

soup = BeautifulSoup (var, 'html.parser')
print soup.get_text ()

В этомтак, как вы получаете чистый текст, без необходимости больше заменять.

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