Анализ текста сайта в тегах body
После парсинга,нужно найти все строки, содержащиеся между тегами и и найти те строки, которые встречаются чаще всего и вывести их в алфавитном порядке, разделяя пробелами?
from urllib.request import urlopen
html=urlopen("https://stepik.org/media/attachments/lesson/209719/2.html").read().decode('utf-8')
пробовал делать так:
s = str(html) print(s.count("<code>(.*?)</code>"))
Ответы (1 шт):
Автор решения: becouse
→ Ссылка
Предлагаю вот такой вариант:
from bs4 import BeautifulSoup
import requests
#Читаем страницу
url = "https://stepik.org/media/attachments/lesson/209719/2.html"
page = requests.get(url)
#парсим тег
soup = BeautifulSoup(page.text, "html.parser")
tags = soup.findAll('code')
#создаем словарь: ключ - содержимое тега, значение - количество повторений
dd={}
for x in tags:
if x.text not in dd.keys():
dd[x.text]=1
else:
dd[x.text]+=1
#максимум количества повторений
zmax=max(dd.values())
#вывод строк с максимальным количеством повторений
for k in dd.keys():
if dd[k]==zmax:
print(k,end=" ")