Twitter backup 1

Люблю я вести различные блоги и твиттеры. Вот выйду на пенсию и буду перечитывать свои записи о делах минувших дней:)
Чтобы подстраховаться решил набросать небольшой скрипт резервного копирования своих твиттов. Заодно все они будут лежать в базе данных и по ним будет удобно делать выборку.

Twitter backup

Создаем базу данных, добавляем скрипт к cron и указываем твитты из какого акканта резервировать.
Скрипт работает только с публичными аккаунтами, для приватных необходимо использовать Twitter API.

< ?
$data = file_get_contents('http://api.twitter.com/1/statuses/user_timeline.rss?screen_name=mihavxc');

// Удаляем ненужное
$data = str_replace("Twitter updates from Mikhail Chukhlomin / mihavxc.", "", $data);

// Получаем информацию
$pattern = "/(.*?)<\/guid>/ims";
preg_match_all($pattern, $data, $id);

$pattern = "/(.*?)< \/description>/ims";
preg_match_all($pattern, $data, $text);

$pattern = "/(.*?)< \/pubDate>/ims";
preg_match_all($pattern, $data, $time);

$pattern = "/(.*?)< \/twitter:source>/ims";
preg_match_all($pattern, $data, $via);

// Подключаемся к БД
@$connect = mysql_connect("localhost","user","pass") or die("Data Base is busy now. I am so sorry! Please try again later.");  //подключение к БД
mysql_select_db ("db");  // выбор БД

// Правим кодировку
function re_replace_cyr($path){
$search = array ("'Ё'", "'А'", "'Б'", "'В'", "'Г'", "'Д'", "'Е'", "'Ж'", "'З'", "'И'", "'Й'", "'К'", "'Л'", "'М'", "'Н'", "'О'", "'П'", "'Р'", "'С'", "'Т'", "'У'", "'Ф'", "'Х'", "'Ц'", "'Ч'", "'Ш'", "'Щ'", "'Ъ'", "'Ы'", "'Ь'", "'Э'", "'Ю'", "'Я'", "'а'", "'б'", "'в'", "'г'", "'д'", "'е'", "'ж'", "'з'", "'и'", "'й'", "'к'", "'л'", "'м'", "'н'", "'о'", "'п'", "'р'", "'с'", "'т'", "'у'", "'ф'", "'х'", "'ц'", "'ч'", "'ш'", "'щ'", "'ъ'", "'ы'", "'ь'", "'э'", "'ю'", "'я'", "'ё'", "'0'e");
$replace= array ('Ё', 'А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ь', 'Э', 'Ю', 'Я', 'а', 'б', 'в', 'г', 'д', 'е', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я', 'ё', '0');
return preg_replace ($search,$replace,$path);
	}

$i=0;
$count=count($id[1]);
while($i< $count)     {         $id_array=split('/',$id&#91;1&#93;&#91;$i&#93;);         $id_item=$id_array&#91;5&#93;;             $text_item = substr($text&#91;1&#93;&#91;$i&#93;, 9);         $text_item = re_replace_cyr($text_item); 		$text_item = trim($text_item); 		$text_item = iconv("UTF-8", "Windows-1251//IGNORE", $text_item);	 		 		$time_item=trim(mysql_escape_string($time&#91;1&#93;&#91;$i&#93;));         $time2 = $time_item;                  $timestamp = strtotime($time_item);         $time_item = date('d.m.Y H:i', $timestamp);                 $via3=$via&#91;1&#93;&#91;$i&#93;;             if($via3!='web')                 { 					$pattern = "/gt;(.*?)</ims"; 					preg_match($pattern, $via3, $via2); 					$via_f=$via2&#91;1&#93;; 					$via_f=trim($via_f);                 }             else {$via_f='web';}                if(substr($text_item, 0, 1)=='@') {$replay=1; }             else { $replay=0; }         #проверяем - вдруг уже есть.     $in_db    = mysql_query("SELECT COUNT(id) FROM twitter Where timestamp='".$timestamp."' ");     $in_db = mysql_fetch_row($in_db);         if($in_db&#91;0&#93;==0)             {                 $query = "INSERT INTO twitter VALUES ('','$id_item','$text_item','$time_item','$timestamp','$via_f','$replay' )";                 mysql_query ($query);             }             $i++;     } 
?>

One comment on “Twitter backup

  1. Pingback: Twitter backup API v1.1

Leave a Reply