Чудовий суп

Для початку встановимо бібліотеку Beautiful Soup

1
$ pip install beautifulsoup4

Вона дозволяє здійснювати навігацію, пошук та зміну html-дерева. З її допомогою можна з легкістю розпарсити потрібний документ.

Отож, завдання: потрібно знайти весь код всередині pre-code блоку, який має клас language-html і екранувати всі символи. Це потрібно для того, щоб у тексті статті блок html-коду відображався як текст, а не як дійсний елемент. Зробити це дуже просто (використовуємо css-селектор)

1
2
3
4
5
6
7
8
9
10
import cgi
from bs4 import BeautifulSoup

soup = BeautifulSoup(html)

for elem in soup.select('pre > code.language-html'):
new_content = cgi.escape(elem.renderContents())
elem.string = new_content

print(soup)

І далі кожен знайдений елемент замінюємо на його екранований вміст за допомогою модуля cgi

Ресурси