Эй, монголы!
Недавно я имел удовольствие присоединиться к команде MongoLab . Я делюсь этим с вами по двум причинам: во-первых, вы тоже можете! (Мы нанимаем !). Но также потому, что я помню, когда услышал о MongoDB, я создал учетную запись на MongoLab и подумал … что теперь?
Twitter-Harvest
С распространением технологий с открытым исходным кодом, когда «большие данные» и аналитика стремительно растут, мы подумали, что было бы полезно позволить нашим пользователям и друзьям использовать сценарий, который заботится о мельчайших деталях и позволяет им исследовать то, что делает MongoDB великим. Мы рады представить Twitter-Harvest, скрипт Python, который использует Twitter REST API v1.1 для извлечения твитов из временной шкалы пользователя и их вставки в базу данных MongoDB.
Quick Demo
Подробная информация об установке и запуске приложения находится в этом репозитории GitHub . Для нетерпеливых, я сочувствую… мы предоставили некоторые учетные данные Twitter и команду «из коробки», которую вы можете запустить, чтобы убедиться, что все работает. После того, как вы загрузили / распаковали репо, запустите:
Прямо из коробки вы заметите, что скрипт напечатает на вашей консоли все твиты, которые он собирает. Просматривайте справочные документы и передавайте аргументы соответствующим образом. В первую очередь вы захотите добавить URI MongoDB с помощью флага –db, чтобы вы могли хранить твиты в своей базе данных. Также имейте в виду, что если вы хотите использовать этот скрипт более одного раза, вы должны получить свои собственные учетные данные Twitter по соображениям безопасности и ограничения скорости.
Дайвинг в
После того, как вы настроите необходимые модули, вы заметите, что у скрипта запуска есть довольно много опций. * Требуются учетные данные Twitter OAuth. Чтобы помочь вам сохранить собранные твиты, вы можете создать бесплатную базу данных Sandbox вместе с нами! Мы включили следующие опции, которые, по нашему мнению, будут популярны среди пользователей:
- сбор местных ретвитов (-r)
- при печати каждого твита программа повторяется (-v)
- URI MongoDB, разрешить вставку в MongoDB (–db)
- установка количества твитов, которые нужно собрать (–numtweets)
- пользовательская временная шкала, из которой вы хотите извлечь * значение по умолчанию — mongolab (–user)
Итак, допустим, я хочу собрать и распечатать 100
твитов @mongolab (и ретвитов). Команда и аргументы будут:
python twitter-harvest.py --db mongodb-uri --consumer-key consumer-key --consumer-secret consumer-secret --access-token access-token --access-secret access-secret -r --numtweets 100
Точно так же у нас есть 100 твитов в коллекции под названием «mongolab».
Чтобы помочь вам в этом, у нас также есть справочная документация:
% python twitter-harvest.py -h optional arguments: -h, --help help -r, --retweet include native retweets -v, --verbose print harvested tweets in shell --numtweets NUMTWEETS set harvest number --user USER choose twitter user timeline --db DB MongoDB URI --consumer-key CONSUMER_KEY Twitter Consumer Key --consumer-secret CONSUMER_SECRET Twitter Consumer Secret --access-token ACCESS_TOKEN Twitter Access Token --access-secret ACCESS_SECRET Twitter Access Token Secret
Теперь о забавных вещах. Давайте посмотрим, какие интересные данные или проекты вы можете придумать, используя этот инструмент!
Мы бросаем вам вызов!
В случае, если вы озадачены, вот несколько проблем, которые мы придумали, которые действительно выделяют как огромный массив информации Twitter, так и функции MongoDB.
1. Составьте список «успешных» — ретвитированных и / или избранных твитов и верните только несколько полей. Подсказка: структура агрегации
2. Собирайте урожай у разных пользователей (друзей, родственников, спортсменов) и смотрите, кто твитнул рядом с вами и с какой частотой. Подсказка: геопространственные индексы
3. Поэкспериментируйте с текстовыми индексами — в конце концов, твиты являются текстовыми — и изучите ваши запросы. Вы можете сделать их быстрее? Подсказка: Поиск текста + Курсор Объяснить
4. Используйте это в качестве примера для настройки общественного потока — отлично подходит для интеллектуального анализа данных! Подсказка: Twitter Публичные потоки
Удачного написания кода, и обязательно оставляйте нас в курсе ваших проектов. Мы всегда здесь, чтобы помочь!
С уважением,
Крис @ MongoLab
* отдельная благодарность нашему шведскому другу Густаву Арнгардену @arngarden в @aitellu за идею сбора урожая!