среда, 22 сентября 2010 г.

Бот для Твиттера

Привет всем! Сегодня мы займемся созданием бота для твиттера.
Наш бот должен уметь делать две вещи:
  1. Находить пользователей за которыми фоловятся(следуют) те, за кем следуем мы, и записывать их имена в текстовый файл. По 1000 пользователей в один файл.
  2. Заходить под нашим логином и фоловить(следовать) за теми пользователями, имена которых находятся в указанном нашем текстовом файле.
Запустим терминал и в домашнем каталоге создадим папку temp/twitterbot
mkdir temp/twitterbot/
Перейдем в созданный каталок
cd temp/twitterbot
Отсюда http://peak.telecommunity.com/dist/ez_setup.py качаем ez_setup.py и сохраняем в ~/temp/twitterbot
в терминале:
sudo python ez_setup.py
далее, снова в терминале
sudo easy_install twitter
теперь создаем файлик fd
nano fg
Следующего содержания

#!/bin/bash
#
#
# | _) | | |
# | | | / -_) | _| _` | _ _| _ _| _` |
# _| _| _,_| __ ___| _| __| __,_| ___/ __| ___/ _| __, |
# ____/
http://nukeit.org
#
#
#Grab your followers' followers and send them to 1k line lists for use with my autofollow script.
#
#Set your username and password here.
USER=""
PASS=""
#Grab first 50 pages of your follower list to avoid the limits
for (( a=1; a<=49; a++ )); do curl http://twitter.com/statuses/followers.xml?page=$a -u$USER:$PASS >> myfollowers.xml; done
#Jack all the screen names
cat myfollowers.xml |grep screen_name > followers2
#Clean up the output
cat followers2 | sed -e 's///g' | sed -e 's///g' | sed -e 's/ allfollowers
#Do it again but only keep the first 50 lines to avoid the limits
cat followers2 | sed -e 's///g' | sed -e 's///g' | sed -e 's/ followers3
#Grab your followers followers
for tweeps in $(cat followers3); do curl http://twitter.com/statuses/friends/${tweeps}.xml -u$USER:$PASS >> followfollow; done
#Jack all the screen names
cat followfollow |grep screen_name > followfollow2
#Clean up the output
cat followfollow2 | sed -e 's///g' | sed -e 's///g' | sed -e 's/ followfollow3
#Dupecheck
comm -1 -2 allfollowers followfollow3 > dupe
cat followfollow3 | grep -v -f dupe > followfollow4
#Split into files with 1k each
split -l 1000 followfollow4 finallistpart
#cleanup
rm -rf follow*
Там где
USER=""
PASS=""
между кавычками пишем свое имя пользователя и пароль.
Делаем этот файл исполняемым
chmod +x fg
И, наконец запускаем его
./fg
После того, как он отработает, в нашем каталоге появиться пару текстовых файликов. Это и есть списки имен пользователей твиттера за которыми следуют те, за кем следуем мы. Первая часть нашего задания выполнена. перейдем ко второй.Как и раньше, с помощью команды nano, создадим файлик t, следующего содержания. Не забываем вместо слова email и password вписать свое мыло и пароль к твиттеру
#!/bin/bash
FILE="newfollows"
exec < $FILE
while read LINE
do
#twitter follow $LINE -e email -p password
twitter follow $LINE -e email -p password
sleep 37
done
сделаем его исполняемым
chmod +x t
Теперь скопируем содержание файлика finallistpartaa в newfollows, удалив пустые строки, и запустим вторую часть нашего бота
./t
Теперь, если все сделано верно наблюдаем как мы начинаем следовать за пользователями из нашего текстового файла
Наше задание выполнено успешно. При подготовке материалов были использованы статьи с таких сайтов http://mike.verdone.ca/twitter/#about иhttp://nukeit.org/stupid-bash-scripts-twitter-autofollower/

Комментариев нет:

Отправить комментарий