Mostrando entradas con la etiqueta Twitter. Mostrar todas las entradas
Mostrando entradas con la etiqueta Twitter. Mostrar todas las entradas

¿Cuándo se debe enviar un tweet?

d
Nombre: when_to_tweet.sh
Autor:@orvtech
Descripción:
Inicializa archivos temporales a usar y declara cual es el Twitter Handle (nick) de la cuenta a analizar.
Pide un listado de los IDs de todos los seguidores de esa cuenta.
Busca el numero de seguidores que tiene cada uno de tus seguidores.
Ordena tus seguidores en base a la cantidad de seguidores que estos tengan y toma los top doscientos.
Busca en el timeline de cada uno de estos seguidores por fechas y horas de actualización de estados.
Traduce la fecha a formato POSIX o epoch.
Hace un ajuste de horario basado en segundos, como estoy en la costa oeste de Estados Unidos y estamos en daylight savings time, la diferencia son -7 horas, lo que se traduce a -25.200 segundos.
Redondea la hora en base a 20 minutos.
Determina si la actividad fue un día de semana o un fin de semana y registra la hora en el archivo correspondiente.
Analiza los dos archivos y determina que hora se repite mas asignando a cada uno un porcentaje en base a cuantas veces se repiten.
Presenta el resultado en la consola.
Visto en orvtech
#!/bin/bash
# Tenemos un limite de 150 peticiones por hora
echo > /tmp/TweetsOnWeekends.txt
echo > /tmp/TweetsOnWeekdays.txt
echo > /tmp/WhenToTweet.txt
MyHandle="orvtech"
curl -s "http://api.twitter.com/1/followers/ids.xml?screen_name=$MyHandle" | grep -E '\]*>//g;/ /tmp/followers_ids.txt
echo "Got the list of your followers, lets wait a minute before proceeding"
sleep 25
for IDFollowers in `grep -E '[0-9]' /tmp/followers_ids.txt`
do echo $IDFollowers | tr '\n' ','
curl -s "https://api.twitter.com/1/users/lookup.xml?user_id=$IDFollowers&include_entities=true" | \
grep -E '\|followers_count\>' -m 2 | \
sed -e :a -e 's/<[^>]*>//g;/ /tmp/followers_followed.txt
echo "Now I know how many followers they have, I will take a sample of the top 200 of them based on the amount of followers. Lets find out when they are more active."
for follower_timelines in `grep [0-9] /tmp/followers_followed.txt | sort -t \, -k3 -n -r | awk -F\, '{print $1}' | head -n 200`
do sleep 25
curl -s "https://api.twitter.com/1/statuses/user_timeline.xml?include_entities=true&include_rts=true&user_id=$follower_timelines" | \
grep \ | grep `date +%Y`|sort | uniq -c | grep " 1 " | cut -f2- -d '1' | sed -e :a -e 's/<[^>]*>//g;/ /tmp/WhenToTweet.txt
ls -lah /tmp/WhenToTweet.txt
echo "Now, lets separate weekends from weekdays."
cat /tmp/WhenToTweet.txt | while read WhenToTweet
do
if [[ "$WhenToTweet" =~ .*Sat.* ]]
then echo $WhenToTweet >> /tmp/TweetsOnWeekends.txt
else
if [[ "$WhenToTweet" =~ .*Sun.* ]]
then echo $WhenToTweet >> /tmp/TweetsOnWeekends.txt
else
echo $WhenToTweet >> /tmp/TweetsOnWeekdays.txt
fi
fi
done
echo -e "\nDuring the week is best to tweet at:"
cat /tmp/TweetsOnWeekdays.txt | awk '{print $2}' | grep [0-9]0:00 | sort | uniq -c | sort -n -r | awk '{a[NR] = $1; sum+= $1; b[NR]=$2 } END { for (i = 1; i <= NR; i++) printf "\t %2.2f% Activity at %s \n ", (100 * a[i])/sum, b[i] } ' | head -n 10
echo "------------------------------------"
echo
echo "Weekends is best at:"
cat /tmp/TweetsOnWeekends.txt | awk '{print $2}' | grep [0-9]0:00 | sort | uniq -c | sort -n -r | awk '{a[NR] = $1; sum+= $1; b[NR]=$2 } END { for (i = 1; i <= NR; i++) printf "\t %2.2f% Activity at %s \n ", (100 * a[i])/sum, b[i] } ' | head -n 10
echo "------------------------------------"
Leer más...

Ver información básica de una cuenta de Twitter usando BASH

d
Nombre: twitter-creado.sh
Autor: @orvtech
Descripción: Este script muestra cuando fue creada la cuenta además de cuantas personas sigue, cuantos lo siguen y cuantos tweets ha publicado.
Visto en: Orvtech
#!/bin/bash
if [ $# -ne 1 ]; then
 echo "Falta un parámetro"
 echo "Uso $0 handle"
 exit 1
fi
curl -s "https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=true&screen_name=$1&count=0" | tr ',' '\n' | grep \"created_at\" | tail -n 1
curl -s "https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=true&screen_name=$1&count=0" | tr ',' '\n' | grep -m2 -E 'friends_count|statuses_count|followers_count'
Permisos: chmod 700 twitter-creado.sh 
Ejecución: ./twitter-creado.sh orvtech
Lo que veremos en la terminal será información sobre el handle:
"created_at":"Thu Apr 12 21:35:06 +0000 2007"
"friends_count":236
"statuses_count":5065
"followers_count":251
Leer más...

CLI Twitter Search

d
Autor: @hecky


Descripción: Script Creado en Bash que al ejecutarlo permite hacer uso del buscador de Twitter desde la comodidad de tu consola.

Algunos acentos no se muestran correctamente por la decodificación del UNICODE. Puede hacer una búsqueda máxima de 1500 tweets por consulta,en promedio Cada 10 segundos.

Fuente: http://Neobits.org



 Para la ejecución se necesita:


  • curl
  • php 
  • uni2ascii


#CLI Twitter Search
#@hecky hecky@neobits.org
#http://Neobits.org
clear && echo -n "Ingresa Palabra a buscar en Twitter.com: " && read parametro && echo "" && for tweet in {1..15};do curl search.twitter.com/search.json?q=$parametro\&rpp=100\&lang=es\&page=$tweet 2> /dev/null | grep text | php -r 'error_reporting(0); $c=""; $a=file_get_contents("php://STDIN"); for($i=100;$i>=1;$i--){$b=explode("text\":\"",$a); $c=explode("\",\"to_user",$b[$i]); echo html_entity_decode($c[0]).((strlen($c[0]) > 2) ? "\n" : "");}';done | nl | ascii2uni -q -a U | php -r 'echo stripslashes(file_get_contents("php://STDIN"));'


Leer más...

Tweet desde la terminal

d
Autor: Luka Pusic [ pusic93[at]gmail.com ]
Descripción: Twitter status update bot by http://360percents.com
Uso: ./twitterbot.bash [ aqui va el tweet a publicar ]
#!/bin/bash

#Twitter status update bot by http://360percents.com
#Author: Luka Pusic 

#REQUIRED PARAMS
username=" [tu usuario de twitter ]"
password=" [ tu password de twitter ]"
tweet="$*" #must be less than 140 chars

#EXTRA OPTIONS
uagent="Mozilla/5.0" #user agent (fake a browser)
sleeptime=0 #add pause between requests

if [ $(echo "${tweet}" | wc -c) -gt 140 ]; then
 echo "[FAIL] Tweet must not be longer than 140 chars!" && exit 1
fi


if [ "$tweet" == "" ]; then
echo "[ERROR] Nothing to do / missing text."
exit 1;
fi

touch "cookie.txt" #create a temp. cookie file

#INITIAL PAGE
echo "[+] Fetching twitter.com..." && sleep $sleeptime
initpage=`curl -s -b "cookie.txt" -c "cookie.txt" -L --sslv3 -A "$uagent" "https://mobile.twitter.com/session/new"`
token=`echo "$initpage" | grep "authenticity_token" | sed -e 's/.*value="//' | sed -e 's/" \/>.*//'`

#LOGIN
echo "[+] Submitting the login form..." && sleep $sleeptime
loginpage=`curl -s -b "cookie.txt" -c "cookie.txt" -L --sslv3 -A "$uagent" -d "authenticity_token=$token&username=$username&password=$password" "https://mobile.twitter.com/session"`

#HOME PAGE
echo "[+] Getting your twitter home page..." && sleep $sleeptime
homepage=`curl -s -b "cookie.txt" -c "cookie.txt" -L -A "$uagent" "http://mobile.twitter.com/"`

#TWEET
echo "[+] Posting a new tweet..." && sleep $sleeptime
tweettoken=`echo "$homepage" | grep "authenticity_token" | sed -e 's/.*value="//' | sed -e 's/" \/>.*//' | tail -n 1`
update=`curl -s -b "cookie.txt" -c "cookie.txt" -L -A "$uagent" -d "authenticity_token=$tweettoken&tweet[text]=$tweet&tweet[display_coordinates]=false" "http://mobile.twitter.com/"`

#LOGOUT
echo "[+] Logging out..."
logout=`curl -s -b "cookie.txt" -c "cookie.txt" -L -A "$uagent" "http://mobile.twitter.com/session/destroy"`

rm "cookie.txt"
Leer más...