@walkyrieZ251

Как получить и заменить текст в HTML?

Здравствуйте, необходимо пройтись по локальному html файлу, который я открываю с помощью with open..as file и заменить весь текст на другой, пытался через bs4 циклом добраться до всех данных, но что-то не додумался как правильней. Как такие вещи делают обычно?
  • Вопрос задан
  • 360 просмотров
Решения вопроса 1
@Akshin17
Пайтон програмист
1. Записать в переменную html код если он в блокноте и далее через регулярное выражение найти места с текстами и заменить через цикл
2. если исходник есть на сайте то через bs4 типо
soup = bs(url.content,'lxml')
find = soup.find_all(дальше теги и атрибуты)
#ну и через цикл фор далее заменяем 
#хотя как я понял вам надо разные данные вставлять тогда это будет чуть сложнее
#тогда надо будет заготовить текст по очередности который будете менять и опять же через цикл фор менять
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
apeks
@apeks
Очень серьезный человек
Не понятно, что Вы понимаете под словами "весь текст". Это всё содержимое документа включая теги? Тогда наверное проще создать новый файл на основе имеющихся данных. Если нужно менять определённый текст, то тут нужно понимать какой именно. В общем случае я бы пробовал решить через таблицу хешей. Если есть время на подготовку хеш-таблицы и мы ищем слово хабр в строке хабрахабр то хешируем её 6 раз. т.е. O(длина строки - длина искомого слова + 1) а потом за O(1) сравниваем полученные хеши с искомым.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы