Твиттер бот Часть 5 UnFollow bot

Ну вот мы и нафолловили первые 2 тысячи фолловеров. Если читали мой предыдущий пост, то пока это предел. Выхода два - создать новый акк или начинать разфолловливать. Разфолловливать процесс нудный и требует автоматизации. Так как на запрос, зафрендил нас юзер или нет, тоже наложено ограничение, то обратный процесс займет в два раза больше времени, чем при фолловинге. Для сокращения этого времени, воспользуемся уже известным нам сервисом Friendorfollow.com. Сохраняем в CSV результаты following.csv и friends.csv, кидаем их в папку, где будет у нас лежать следующий парсер:

mysql_connect("localhost", "root", "") or die('Could not connect to database');
mysql_select_db("twitterbot") or die('Could not select database');
mysql_query("CREATE TABLE IF NOT EXISTS unfollowbot (id INT(11) NOT NULL AUTO_INCREMENT, screenname TEXT DEFAULT NULL, PRIMARY KEY (id))")
or die ("MySQL error:".mysql_error());
mysql_query("CREATE TABLE IF NOT EXISTS twitterbotopt (id INT(11) NOT NULL AUTO_INCREMENT, optname TEXT DEFAULT NULL, optpar1 TEXT DEFAULT NULL, optpar2 TEXT DEFAULT NULL,PRIMARY KEY (id))")
or die ("MySQL error:".mysql_error());
set_time_limit(300);
$handle = fopen("ВАШ-ЛОГИН-following.csv", "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
if ( $data[0] <> ’screen_name’ ){
$dresult = mysql_query(”SELECT * FROM unfollowbot WHERE screenname=’”.$data[0].”‘”);
$mresult = mysql_fetch_array($dresult);
if (!$mresult)
mysql_query(”INSERT INTO unfollowbot SET screenname=’”.$data[0].”‘”);
}
}
$handle = fopen(”ВАШ-ЛОГИН-friends.csv”, “r”);
while (($data = fgetcsv($handle, 1000, “,”)) !== FALSE) {
if ( $data[0] <> ’screen_name’ ){
$dresult = mysql_query(”SELECT * FROM unfollowbot WHERE screenname=’”.$data[0].”‘”);
$mresult = mysql_fetch_array($dresult);
if ($mresult)
mysql_query(”DELETE FROM `unfollowbot` WHERE screenname=’”.$data[0].”‘”);
}
}
mysql_query(”INSERT INTO twitterbotopt SET optname = ‘unfollowerkol’, optpar1 = ‘1′”);

Парсер внесет всех фолловеров в БД и удалит из нее наших френдов. Далее по этой базе будет работать скрипт и разфолловливать юзеров. Вот он:

mysql_connect("localhost", "root", "") or die('Could not connect to database');
mysql_select_db("twitterbot") or die('Could not select database');
$resul = mysql_query ("SELECT * FROM twitterbotopt WHERE optname = 'unfollowerkol'");
$tnumber = mysql_fetch_array($resul);
$tnum = $tnumber['optpar1'];
echo $tnum;
$result = mysql_query (”SELECT * FROM unfollowbot WHERE id = ‘”.$tnum.”‘”);
$twname = mysql_fetch_array($result);
$twiname = $twname['screenname'];
echo $twiname;
$username = ‘ВАШ_ЛОГИН’;
$password = ‘ВАШ_ПАРОЛЬ’;
$url = ‘http://twitter.com/friendships/destroy/’.$twiname.’.xml’;
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, “$url”);
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_POST, 1);
curl_setopt($curl_handle, CURLOPT_USERPWD, “$username:$password”);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
if (empty($buffer)) {
echo ‘fail’;
} else {
print_r($buffer);
}
$tnum = $tnum + 1;
mysql_query(”UPDATE twitterbotopt SET optpar1 = ‘”.$tnum.”‘ WHERE optname = ‘unfollowerkol’”);
mysql_close();
die();
?>

При поддержке:

Токарно-револьверные станки позволяют сократить машинное и вспомогательное время обработки за счет применения многорезцовых наладок. Все про станки и сопутствующие технологии.

Задумали сделать свой проект системы канализации? На этом сайте Вы можете найти всю информацию по этой тематике.