@FewSeconds

Алгоритм вместо текста тега съедает внутренние теги?

Здравствуйте. Имеется следующий алгоритм:

from bs4 import BeautifulSoup
from word2word import Word2word
from tqdm import tqdm
import nltk

tr = Word2word("en", "ru")
soup = BeautifulSoup(html, "lxml")

for tag in tqdm(soup.find_all()):
    if tag.string:
        try:
            batch = nltk.word_tokenize(tag.string) # разделяем строку на слова

            # переводим каждое слово, составляя полноценное предложение, и вписываем в тег
            str_to_paste = ""
            for i in batch:
                str_to_paste += tr(i)[0] + " "
            tag.string = str_to_paste
        except:
            continue

with open("index.html", "w", encoding = "utf-8") as file:
    file.write(soup.prettify())


Проблема в том, что он съедает теги ссылок, в которых и должен быть текст.

Пример оригинальной html страницы(до перевода):
https://jsfiddle.net/7hnm2kwq/

Пример переведенной страницы html(после перевода):
https://jsfiddle.net/5ubnqw9L/
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы