Since nobody else has commented, I will add mine.
I've got a few ideas for this, and it actually is very close to the spider I've been working on for Plucker in my spare time. Bear with me while I brain-dump these out:
- LWP::Parallel::UserAgent to fetch content asynchronously.
- HTTP::Cookies for storing client-side cookies into the "jar"
- Link rewrite rules, so gathering/spidering the content locally after fetching can be done with relative/absolute links, without breaking anything. (URI::URL can help here)
- Ability to forge Referer and UserAgent strings through the use of --referer and --useragent. Trivial to add.
- More verbose progress reporting (use LWP::Debug qw(+);)
- Options for staying on the same host, same domain, or staying below a certain fragment of the URI. Something like:
# url http://www.domain.com/foo/bar/blort/quux
- Ability to update the "cache" on multiple runs. Compare the remote file with the local file, and fetch if newer.
Expect some patches from me to come flying in within the next few weeks on this one. Great work!
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||