Парсинг и замена текста в html (python3)

Узнай цену своей работы

Формулировка задачи:

Приветствую Друзья, если не затруднит, подскажите решение для python3. Есть некий html файл, вполне себе стандартный, в нем среди прочего, есть конкретный блок span, выглядит примерно так:
Листинг программы
  1. ...
  2. <span itemname="source">параграф 1</br>
    параграф 2</br>
    параграф 3</span>
  3. ...
Возможно-ли как-то взять текст параграфов, заменить его (в моем случае будет перевод), сохранив при этом структуру разметки, то есть что-бы получилось
Листинг программы
  1. ...
  2. <span itemname="source">new paragraph 1</br>
    new paragraph 2</br>
    new paragraph 3</span>
  3. ...
перекопал кучу документации, но как-то пока без толку, да еще сбивает с толку что как я понял задачу можно решить кучей способов, всякие там lxml, soup или может вообще через regexp. Заранее спасибо

Решение задачи: «Парсинг и замена текста в html (python3)»

textual
Листинг программы
  1. >>> from lxml import etree
  2. >>> doc='''<html><body><span id="1">text1</span><span id="2">text2</span></body></html>'''
  3. >>> tree = etree.fromstring(doc)
  4. >>> path = tree.xpath("//span[@id='1']")
  5. >>> for i in path: i.text = 'new text'
  6.  
  7. >>> s = etree.tostring(tree,pretty_print=True).decode()
  8. >>> print(s)
  9. <html>
  10.   <body>
  11.     <span id="1">new text</span>
  12.     <span id="2">text2</span>
  13.   </body>
  14. </html>
  15. >>>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут