- Lekérjük az URL-eket a publikus API segítségével:
% curl 'https://endre:xxxxxxxxxxxx@api.del.icio.us/v1/posts/all?tag=irc' --compressed -o irc-bookmarks.xml % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 12.3M 0 12.3M 0 0 156k 0 --:--:-- 0:01:21 --:--:-- 158k
Szép darab 12 megás XML lett belőle.
- Perl script írása, ami ezeket egyenként letörli, szintén az API-n keresztül. Követelmény a részletes LOGolás és cli-n is értelmsen kinéző progress/státusz megjelenítés kumulált hibaszámolással.
#!/usr/bin/perl use strict; use warnings; require LWP::UserAgent; my $total=undef; my $error=0; my $current; my $api='api.del.icio.us'; my $username='endre'; my $password='xxxxxxxxxxxxx'; my $response; my $sleepint=2; my %lwpSettings=( 'agent' => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.17) Gecko/20080829 Firefox/2.0.0.17', 'protocolls_allowed' => [ 'http', 'https' ], 'max-size' => 2048000, 'timeout' => 3 ); $|=1; open(LOG, ">> removebookmarks.txt"); my $lwp = LWP::UserAgent -> new(%lwpSettings); $lwp->credentials("${api}:443", "del.icio.us API", $username, $password); while(<>) { if (/total="(.*)">/) { $total=$1; printf ("removing a total of %d bookmarks...\n",$total); } if (/href="(.+?)"/) { $current++; my $hash=$1; printf ("\r...current progress: removing bookmark %d out of %d total (%0.2f%%), errors so far: %d", $current,$total, ($current/$total)*100,$error); my $request="https://${api}/v1/posts/delete?url=".$1; my $response=$lwp->get($request); if ($response->is_success) { printf(LOG "+++ %s url '%s' removed successfully\n", scalar localtime, $hash); } else { printf(LOG "--- %s url '%s' Request failed\nUri: %s\nStatus: %s, Content: %s\n--- end of report on url '%s'\n", scalar localtime(), $hash, $request, $response->status_line, $response->content, $hash); $error++; } sleep $sleepint; } }
Kimenete így néz ki futásidőben:
% perl ./massdeliciousbookmarksremover.pl < ../irc-bookmarks.xml
removing a total of 43153 bookmarks...
...current progress: removing bookmark 245 out of 43153 total (0.57%), errors so far: 2
Logja pediglen:
--- Sun Sep 27 22:48:42 2009 url 'http://fukung.net/v/9063/image_out_of_my_head.jpg' Request failed
Uri: https://api.del.icio.us/v1/posts/delete?url=http://fukung.net/v/9063/image_out_of_my_head.jpg
Status: 500 SSL read timeout: , Content: 500 SSL read timeout:
--- end of report on url 'http://fukung.net/v/9063/image_out_of_my_head.jpg'
+++ Sun Sep 27 22:48:46 2009 url 'http://pastebin.com/f35f200af' removed successfully
- snitt_ blogja
- A hozzászóláshoz be kell jelentkezni
- 828 megtekintés
Hozzászólások
Nem egyszerubb torolni az acc-ot, majd ujra letrehozni?
Egyebkent en is toroltem tegnap a linkjeimet. Kar, hogy nem tegnap irtad le ezt a megoldast :).
- A hozzászóláshoz be kell jelentkezni
abban nincs kihivas :)
meg macera is restoralni a regi linkeket. Egyebkent tok jol megy, csak lassan persze:
...current progress: removing bookmark 35641 out of 43153 total (82.59%), errors so far: 129
- A hozzászóláshoz be kell jelentkezni
meglehet kerdezni h mi vitt ra, hogy torolj innen? :D
- A hozzászóláshoz be kell jelentkezni
Ja, keveredik az irces szenny a sajat bukmarkokkal. Masik accal kellett volna kiposztolgatni. :|
- A hozzászóláshoz be kell jelentkezni