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

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

12.12.2021, 01:07. Показов 5586. Ответов 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
38173 / 21108 / 4307
Регистрация: 12.02.2012
Сообщений: 34,707
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru