Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/29: Рейтинг темы: голосов - 29, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 15.11.2021
Сообщений: 22

Анализ тегов Твиттера

12.12.2021, 01:07. Показов 5638. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В текстовом файле находится выгрузка постов из Твиттера, за некоторый период, в которых встречаются теги. Выясните, какие теги являлись более популярными, а какие менее, подсчитав количество употреблений каждого.

ФОРМАТ ВВОДА

Текстовый файл tweets.txt, в котором записана подборка постов из Твиттера, размеченных тегами. Тегом считается любое слово, начинающееся с символа '#'. Гарантируется, что все теги записаны маленькими буквами, и в них не встречаются знаки препинания.
ФОРМАТ ВЫВОДА

Текстовый файл tags.txt в кодировке utf-8, где каждый твит, использованный в файле tweets.txt, записан в формате "тег: <тег>, упоминаний: <кол-во упоминаний>". Каждый тег должен быть записан на отдельной строке, теги нужно отсортировать по количеству упоминаний от самого большого к самому маленькому

ЧТО ИСПОЛЬЗУЕМ:
def, return, with open(), for, if/else, sorted(), print() или .write()

ЧТО ДЕЛАЕМ:
1. Создаем пустой словарь для тегов и количества их упоминаний (теги будут ключами, количество их упоминаний — значениями).
2. Определяем функцию которая принимает один параметр — ключ словаря, а возвращает значение этого ключа из словаря из п.1. Мы будем позже использовать ее для сортировки по ключу.
3. Открываем файл tweets.txt. Реализуем цикл for для строк файла — для каждой строки запускаем еще один цикл for по строке, разбитой на слова по пробелам:
Проверяем каждое слово: если это тег (т.е. если первый символ слова #) и его еще нет среди ключей из п.1, то этот тег записывается в словарь и ему присваивается значение 1.
Если это тег и он уже есть в словаре из п.1, то обновляем значение этого ключа — прибавляем к нему 1 (увеличиваем на 1 количество упоминаний).
4. По завершении работа цикла открываем файл tags.txt в режиме записи с нужной кодировкой. Внутри конструкции with open() запускаем цикл for по отсортированному словарю из п.1. Не забудьте добавить ключ сортировки (key=) равный названию функции из п.2, а также добавить параметр для сортировки по убыванию. Каждый ключ словаря и его значение печатаем в файле tags.txt на новой строке в заданном формате.

Результат:
FILE: тег: #lorem, упоминаний: 7
тег: #dolor, упоминаний: 6
тег: #hendrerit, упоминаний: 5
тег: #risus, упоминаний: 4
тег: #ipsum, упоминаний: 3
тег: #diam, упоминаний: 2
тег: #felis, упоминаний: 1

Python
1
2
3
4
5
6
7
8
9
10
11
12
dictionary= {}
def fun(dictionary):
    return dictionary[i]
with open('tweets.txt') as infile:
    for line in infile:
        for word in line:
            word = line.strip().split(' ')
            if word[0][0] == '#' and word[0] not in dictionary:
                dictionary[word[0]] = 1
            if word[0][0] == '#' and word[0] in dictionary:
                dictionary[word[0]] += 1
with open('tags.txt', 'a', encoding='UTF-8') as outfile:
Не понимаю инструкцию, как 4 пункт сделать и до этого правильно ли
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.12.2021, 01:07
Ответы с готовыми решениями:

Анализ тегов Твиттера
Анализ тегов Твиттера В текстовом файле находится выгрузка постов из Твиттера, за некоторый период, в которых встречаются теги. Выясните,...

анализ h1 тегов
проверял тут http://promolab.ru/free/parser.php Ключевые слова (keywords): (выделено красным) Ключевые слова на странице не найдены...

Как при наведении на ul менять свойства (к примеру, изменить у тегов h и p цвет текста) у тегов, которые находятся в li?
Сайт в архиве, если нужно. Ссылка на видео-демонстрацию, т.к. оно &gt; 2мб: https://disk.yandex.ru/i/kxN1JK4vMK6l6g

3
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,736
Записей в блоге: 14
12.12.2021, 07:18
Python
1
2
def fun(dictionary):
    return dictionary[i]
Это - двойная глупость! Во-первых, переменная i не определена, поэтому эта функция работать не будет. Во-вторых, даже если ввести i в список параметров:

Python
1
2
def fun(dictionary,i):
    return dictionary[i]
то эта функция бесполезна, ибо вызов fun(d,k) делает ровно то же самое, что d[k] (без лишнего расхода на передачу параметров).

Тебе рано браться за такие задачи. Решай что-то более простое.
2
0 / 0 / 0
Регистрация: 27.11.2024
Сообщений: 1
27.11.2024, 09:35
Без заведения новой функции:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
slov_tag = {}
with open('tweets.txt', encoding = 'utf-8') as f:
    for line in f:
        spisok_line = line.split()
        for i in spisok_line:
            if '#' in i:
                if i not in slov_tag:
                    slov_tag[i] = 1
                else:
                    slov_tag[i] += 1
j = sorted(slov_tag.items(), key = lambda k: k[1], reverse = True)
stroka_j = map(str,(j))
with open('tags.txt', 'w', encoding = 'utf-8') as nf:
    for i in stroka_j:
        spisok_j = i.replace("'", '').strip('()').split(',')
        print(f'тег: {spisok_j[0]}, упоминаний:{spisok_j[1]}', file = nf)
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
27.11.2024, 13:55
Цитата Сообщение от levC Посмотреть сообщение
if '#' in i:
Садись, два
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.11.2024, 13:55
Помогаю со студенческими работами здесь

Проверка тегов XML на наличие дочерних тегов
Доброго времени суток. Вот часть файлика которого мне нужно считать... &lt;?xml version=&quot;1.0&quot;...

Подскажите по плагинам Твиттера
Как мне сделать что бы лента твиттера отображалась как на скрине который я сюда вставил( она в левой части). Может есть какой-нибудь модуль...

Парсер твиттера. Selenium
Всем привет. Использую связку селениум + питон. Стоит задача спарсить определенные твиты, отбирая их по тексту. При выполнении возник...

Счетчик фолловеров Твиттера
Здраствуйте. В пхп я почти ничего не понимаю, но очень понадобилось вывести количество фолловеров из твиттера. В гугле перерыл наверное...

виджет твиттера горизонтально
здравствуйте возник довольно непростой вопрос, я не знаю в этом ли разделе можно создавать тему или нет. Я хочу поместить на сайте...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru