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 2.0) 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';
// zde dejte své přihlašovací údaje
$twitter = new Twitter($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret);
// naráz lze načíst maximálně 200 twittů, tož budeme stránkovat
$page = 1;
$retry = 0;
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 "Ulozena stranka c. $page\n";
$page++;
$retry = 0;
sleep(1);
} catch (TwitterException $e) {
echo "Error: {$e->getMessage()}\n";
if ($retry > 3) break; // chyby s občas stávají, dáme 3 pokusy
$retry++;
}
} 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.
Komentáře
Keff #1
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 https://web.archive.org/…url-decoding – s disclaimerem Works on my machine :)).
Roman #2
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.
Keff #3
#2 Romane, viz #1 Keff :))
Roman #4
#3 Keffe, Sakra, len som to preletel bez toho, že by som si to poriadne prečítal. Dík. Pozriem na to zajtra. (resp. dnes)
Tento článek byl uzavřen. Už není možné k němu přidávat komentáře.