Задался целью подсчитать количество определенных слов на сайте.
Накидал код
import requests
from bs4 import BeautifulSoup
import re
word = 'Pitton'
url = 'https://en.wikipedia.org/wiki/Joseph_Pitton_de_Tournefort'
count = 0
r = requests.get(url)
soup = BeautifulSoup(r.content, 'lxml')
# убираю теги html
w = re.sub(r'<[^>]+>', '', str(soup))
# отделяю не буквы от слов для корректного сплита
w = re.sub(r'\W', ' ', w)
for i in w.split():
if i.lower() == word.lower():
count += 1
print(count)
Но такой код не учитывает текст, который остался в script
Конечно можно было бы написать еще одно регулярное выражение, но может есть библиотека, которая сама уберёт всё лишнее из html и превратить его в красивую строку?