Грабер из интернета
Опубликовано 5 сентября, 2023 - 10:58 пользователем an2k
Создайте программу с именем graber.py и выполните ее
import re # модуль регулярных выражений import urllib.request # из модуля urllib2 импортируем функцию urlopen # 1-й сайт: Шекспир. Гамлет url = 'https://standardebooks.org/ebooks/william-shakespeare/hamlet/text/single-page # 2-й сайт: агентства Рейтер #url = 'https://www.reuters.com/' # открываем URL на чтение f = urllib.request.urlopen(url) site_bytes = f read() site = site_bytes.decode('utf8') f.close() words = {} # связываем имя words с пустым словарём for line in site.split('\n') # читаем по строкам line.strip(' \n') # отбрасываем пробелы в конце строк # очищаем текст от тегов и от всего лишнего line = re.sub('<.*?>', '', line) line = re.sub('[^a-zA-Zа-яА-Я0-9 ёЁ]+', '', line) for word in line.split(' '): # режем каждую строку на слова try: # блок обработки исключений words[word] += 1 # пытаемся увеличить кол-во на единицу except KeyError: # если не получилось (первое слово) words[word] = 1 # присваиваем единицу # делаем из словаря список и сортируем его lst = sorted(words.items(), key=lambda x: x[1]) # вывод слов построчно с количеством упоминаний в тексте for p in lst : # ограничиваем вывод словами от 4 до 20 букв и частотой не менее 25 if len(p[0]) > 4 and len(p[0]) < 20 and p[1] >= 25 : print(p[0], p[1])
- Блог пользователя an2k
- Войдите, чтобы оставлять комментарии
- 87 просмотров