Delicious Link Checker -- delicious_checker.pl
Introduction
del.icio.us is an amazing service that has become the preferred bookmark repository of the 'Net savvy. Unfortunately, while adding URLs is simple, checking that they are still accessible isn't quite as easy.
The Delicious Link Checker perl script is intended to help with this, with the correct credentials it will retrieve all of the users links and check them (with HEAD by default to save bandwidth), reporting if they are still accessible, or the error code (and slightly more helpful message) if not.
Anyone with minor Perl skills or previous exposure to the language can easily change the display routines to output in any desired format, CSV, XML etc.
Notes and optional configuration
- By default redirects are followed and the status of the final URL is given.
- Net::Delicious creates a file in your home directory called .del.icio.us.username each time you run a full sweep of your tags in order to prevent a denial of service (DoS) I agree with this and so I've left it in place.
- To switch from from using HEAD to GET change this line snippet (in get_status_codes) from '$browser->head($p->href());' to '$browser->get($p->href());'
- URLs marked as odd returned 1** status codes.
- The default timeout is 30 seconds per link. This can be modified in the create_lwp_browser function by changing this value $browser->timeout(30);
TODO List
The following items are the next ones on my list to implement.
- Add the ability to auto-fix broken links by pointing to google cache version
- Make an online version that doesn't require a local perl install
- Make the checks run in parallel to speed the script up
- Clarify the behaviour of timed out URL's (timeout is 30 seconds.)
This script is licensed under the GPL and you are free to do with it as you please.
The
Delicious Link Checker perl script can be found here. The compressed
archive (tgz) contains the script, a README, a CHANGELOG and a TODO
list. Thank you for reading this page and I hope the software proves
useful.
  -- Dean Wilson

