Я слежу за разработчиком в Твиттере и хочу сделать очень простой вызов их API в режиме реального времени. Код ниже почти привел меня туда:
curl -s -u twitterusername:twitterpassword https://stream.twitter.com/1/statuses/sample.json -o "somefile.txt"
Я надеюсь, что динамически назовите файл так, чтобы почасовые журналы данных захватывались.
РЕДАКТИРОВАТЬ: Я ничего не стою, что я надеюсь, что эта команда остается открытой, и что данные, которые я получаю, являются непрерывными. Я рассчитываю перенаправлять вывод каждый час в разные файлы.
Я совершенно новичок в командной строке и Ubuntu, поэтому я даже не знаю, с чего начать. Любая помощь будет высоко ценится.
curl -s -u twitterusername:twitterpassword https://stream.twitter.com/1/statuses/sample.json -o "somefile $(date + format).txt"
Где, format
может быть любое из следующего:
%a : Abbreviated weekday name (Sun..Sat)
%b : Abbreviated month name (Jan..Dec)
%B : Full month name, variable length (January..December)
%d : Day of month (01..31)
%e : Day of month, blank padded ( 1..31)
%m : Month (01..12)
%Y : Year
%d : Day of month (e.g, 01)
%H : 24 hour format (00..23)
%I : 12 hour format (01..12)
%M : Minutes of the current time (00...59)
%j : day of year (001..366)
%D : date; same as %m/%d/%y
%F : full date; same as %Y-%m-%d
Так, для Вас это сохранит файл и динамично добавит час (%H) и минуты (%M) текущего времени
curl -s -u twitterusername:twitterpassword https://stream.twitter.com/1/statuses/sample.json -o "somefile $(date +\"%H:%M\").txt"
Поскольку Вы хотите curl
чтобы получить данные в течение 1 часа и сохранить те данные в файл, возобновляющий снова операции, необходимо, по крайней мере, использовать маленький сценарий, это сделает задание:
#! /bin/bash
while true; do
curl -s -m 3600 -u twitterusername:twitterpassword https://stream.twitter.com/1/statuses/sample.json -o "somefile $(date +%H:%M).txt"
done
Оно при отъезде выполнения сценария выполнит команду, каждые 3600 секунд (1 час, -m 3600
параметр) завихрение закроется, и команда будет выполняемым усилением.
Обратите внимание, что это только разрежет поток в длину, он на самом деле закроет завихрение и вновь откроет его, не думайте, что его возможное разрезает поток в длину, в то время как завихрение работает.
Вам нужен к тому же сценарий где-нибудь, т.е. ~/curl_script.sh
и сделайте это исполняемым файлом с chmod 755 ~/curl_script.sh
перед использованием его на терминале, для использования его перемещают папку, где сценарий был сохранен и просто тип ./curl_script.sh
.
Для прерывания сценария нажимают Ctrl+c.
Если Вы прервете сценарий и возобновите его на той же минуте, то это будет значением по умолчанию перезаписывать предыдущие собранные данные, поэтому остерегайтесь.
Сообщите мне, хотите ли Вы сделать некоторые другие модификации к сценарию. Для дальнейших вихревых параметров я рекомендую чтение вихревой страницы справочника (man curl
на терминале).
Весело провести время.