Jak zazálohovat všechny své twíty
Pokud máte dojem, že ty 140 znakové kravinky, co píšete na Twitter, je nutné zálohovat pro příští generace, ať už z důvodu, že Twitter má občas výpadky doprovázené ztrátou dat, nebo vám někdo může účet ukrást a smazat, nebo se blížíte k limitu 3200 štěbetnutí, po kterém se (prý) nejstarší kusy odmazávají, nebo prostě chcete mít vše na disku kvůli lepšímu vyhledávání, je tento článek pro vás.
Protože jsme na blogu o PHP, nebudu zde popisovat online služby určené k zálohování, ale rovnou vypustím z klávesnice kus kvalitního objektového kódu ;)
Nejprve si stáhněte knihovničku Twitter for
PHP (verzi 1.2) od stejnojmenného autora s autorem blogu. A pak si
vytvořte zálohovač twitter-backup.php:
<?php
set_time_limit(0);
require 'twitter.class.php';
$twitter = new Twitter('davidgrudl', '......'); // zde dejte své přihlašovací údaje
// naráz lze načíst maximálně 200 twittů, tož budeme stránkovat
$page = 1;
do {
try {
$channel = $twitter->load(Twitter::ME, 200, $page);
if (empty($channel->status)) { // prázdný výstup? narazili jsme na konec
break;
}
file_put_contents("twitter-backup.$page.xml", $channel->asXml());
echo "Uložena stránka č.$page<br>";
$page++;
} catch (TwitterException $e) {
echo 'Error: ', $e->getMessage();
exit;
}
} while (TRUE);
Po spuštění se vytvoří soubory twitter-backup.1.xml,
twitter-backup.2.xml atd., podle toho, jak jste aktivní
štěbetal. XML obsahuje skutečně vše, včetně informací, na koho zpráva
reaguje, z jakého zařízení byla poslána nebo jaké máte barvičky
v profilu.

#1 marek nový
OT: zabavne je umistit kursor do prostoru kodu, nechat ho rozvinout a posunout se uplne k pravemu okraji ;)
#2 v6ak http://v6ak.profitux.cz/ nový
Co to je? Myslím to
catch(Exception $e).#3 Keff http://blog.tomaskafka.com nový
Ahoj, všem kterým kód vytvoří hromadu xml souborů se stejným obsahem sděluju, že nesmí udělat stejnou chybu jako já, ale musí si stáhnout latest verzi Twitter for PHP ze SVN – ve verzi 1.0 odkazované z článku je metoda load jen s jedním parametrem.
#4 David Grudl http://davidgrudl.com nový
#3 Keff: ajaj, pardon, opraveno
#5 David Grudl http://davidgrudl.com nový
#2 v6ak: to měla být úplně triviální knihovna a ukázka
Ale dobře, ukecali jste mě, udělal jsem tam lepší
error-handling a článek (i Twitter for PHP) aktualizoval.
#6 Keff http://blog.tomaskafka.com nový
Ahoj Davide, díky za skript i za opravu.
Upravil jsem backup script aby zálohoval do jednoho souboru a doplnil dekódování zkrácených URL (neboť jsem nerad když relevantnost mých dat závisí na přechodných a chybových třetích stranách), výsledek lze stáhnout na http://blog.tomaskafka.com/…url-decoding – s disclaimerem Works on my machine :)).
#7 Roman http://www.c64.sk nový
Toto sa mi zíde. Klientka aktívne používa twitter a nebude na zahodenie tento obsah prásknuť priamo na nejakú zo stránok ako archív, keďže každý content je dobrý. Ešte by sa možno zišlo si k tomu prirobiť prekladač skracovačov adries aby nebol archív závislý od „pominuteľnosti“ daných služieb.
#8 Keff keff85@gmail.com nový
#7 Roman: viz #6 Keff: :))
#9 Roman http://www.c64.sk nový
#8 Keff: Sakra, len som to preletel bez toho, že by som si to poriadne prečítal. Dík. Pozriem na to zajtra. (resp. dnes)