Как получить твиты из командной строки?

Есть ли простой способ получить чьи-то твиты из командной строки?

Учетная запись будет общедоступной, а команда - или сценарий, если необходимо - будет получать все или указанное количество самых последних твитов. в текстовый файл, один твит на строку, без метаданных, самый новый в первой строке.

Без использования API, только bash.

11
задан 3 November 2012 в 08:53

6 ответов

Если вы не хотите использовать API Twitter, вы можете получить RSS-канал профиля Twitter, используя скрипт bash, а затем приступить к его форматированию.

С API Twitter устарел RSS-канал, вы можете обойти это, создав RSS-канал с использованием результатов поиска.

Вот RSS-лента моих твитов .


Хотя вам придется собрать необходимый скрипт bash. От загрузки RSS-канала до форматирования твитов в соответствии с вашими требованиями.

0
ответ дан 3 November 2012 в 08:53

Я создал инструмент, который должен делать почти то же, что вы описали: twitter-screen-scrape . По умолчанию он выводит в формате JSON с метаданными, но тривиально направить вывод через что-то вроде underscore-cli , чтобы вычеркнуть все, что вам не нужно.

$ twitter-screen-scrape -u slang800 | underscore pluck text --outfmt text > outputfile
0
ответ дан 3 November 2012 в 08:53

Вы можете использовать twarc , чтобы привести пример, если вы хотите архивировать твиты Нассима Николаса Талеба, которые вы используете.

twarc timeline nntaleb --format csv> taleb.csv 

Вы также можете использовать другие форматы: --format {json,csv,csv-excel}

Как настроить twarc: Единственный способ получить полные твиты - использовать [ 115] к сожалению, даже если приложение прозрачное, вам необходимо выполнить начальную настройку и настройку, вам также необходимо подать заявку на API (

По состоянию на июль 2018 года вы должны подать заявку на Twitter Создайте аккаунт и получите одобрение, прежде чем создавать новые приложения.

)

Как только у вас есть ключи приложения , вы можете сказать twarc, что они с командой configure.

twarc configure

Это сохранит ваши учетные данные в файле с именем .twarc в вашем домашнем каталоге, поэтому вам не нужно будет их вводить. Если вы предпочитаете предоставлять их напрямую, вы можете установить их в среде ([ 119], CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET) или с использованием параметров командной строки (--consumer_key, --consumer_secret, --access_token, --access_token_secret).

0
ответ дан 3 November 2012 в 08:53

Вы можете пройти путь python + tweepy следующим образом:

  1. Создание собственного приложения Twitter (для получения ключей API)
  2. Создание токенов доступа для вас аккаунт в твиттере
  3. Используйте такой скрипт вместе с вашими учетными данными: https://gist.github.com/yanofsky/5436496

Я только что протестировал это и прекрасно работает. Однако есть пользователи, которые защищают свои твиты, поэтому он может не позволить вам загрузить все. Но это особенность твиттера.

Ограничение по-прежнему составляет 3200, и вы получите файл CSV.

0
ответ дан 3 November 2012 в 08:53

Начиная с ближайшей даты, Twitter не позволит вам войти в их API, не имея ключа OAuth. Но в качестве обходного пути вы можете использовать Search API. Это RESTful, поэтому вы можете использовать curl для получения результатов поиска в формате JSON. Например, если вы хотите получить твиты @ java и сохранить их в файле ~/.tweets, можно использовать эту строку кода:

curl http://search.twitter.com/search.json?q=from:java&page=1&rpp=10&callback=? >> $HOME/.tweets

И вы можете проанализировать файл, используя любой анализатор JSON.


Параметр rpp - это число твитов, которые нужно получить. callback - это функция javascript, которая должна выполняться в результирующем JSON. Если вы не используете JavaScript с API, вы можете оставить его?, Но не удаляйте его. Я вызову ошибку. Дополнительные рекомендации по поиску API можно найти на https://dev.twitter.com/docs/api/1/get/search

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

И в качестве небольшой заметки, быстрее использовать некоторые Python или Ruby (или другие).

0
ответ дан 3 November 2012 в 08:53

Это мой скрипт, созданный для использования в качестве заставки

#!/bin/bash

user="$1"
user="${user:=pontifex_pl}"

last_status_url=$(lynx -dump https://twitter.com/$user \
    | grep -i "$user/status/" \
    | head -1 \
    | awk '{print $2}')

lynx -dump "$last_status_url" \
    | grep 'Twitter:' -m1 -A4 \
    | tr -d '\n' \
    | sed -e 's/[^"]*"//' -e 's/".*//' \
    | tr -s ' '

echo
0
ответ дан 3 November 2012 в 08:53

Другие вопросы по тегам:

Похожие вопросы: