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

6

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

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

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

    
задан Strapakowsky 01.11.2012 в 08:55
источник

4 ответа

4

С момента закрытия, 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 можно найти на странице Ссылка

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

Ссылка
Ссылка
Ссылка
Ссылка

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

    
ответ дан user91091 03.11.2012 в 06:29
источник
2

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

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

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

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

    
ответ дан jokerdino 03.11.2012 в 06:15
1

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

#!/bin/bash

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

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

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

echo
    
ответ дан tworec 29.03.2017 в 13:36
0

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

$ twitter-screen-scrape -u slang800 | underscore pluck text --outfmt text > outputfile
    
ответ дан slang 02.04.2015 в 19:03