HCrwl
En liten växande crawler.
TODO
- Effektivare datastrukturer.
- Set för 'visited'.
- Hantera DNS timeout snyggare
- Kanske göra ett nytt försök senare
- Gör färdigt parsing av hCard och lägg till fler microformats.
- Skriv en modul som givet en record kan skapa ett index på ett (eller flera) fält för effektiv sökning.
- Säg till så att bara rätt (html, xml, ..) sorts filer hämtas
- Gör det effektivt, ingen HEAD om vi tror att det är en html fil (extension), ev backa tillbaka om filändelsen inte stämde med mime typen
- Undersök om det går att lägga till en handler för varje mime type (titta på en web server tex). På så sätt kan sidor läggas i crawlkön när en html sida hämtas men inte när en bild hämtas.
- Gör rate-limiting:en effektivare, dvs "busy-wait:a" inte när kön är kort.
- Parsa Crawl-delay från robots.txt (icke standard extension som accepteras av de flesta stora crawlers)
- Om crawlern startas om titta först i redan hämtade sidor innan nya hämtas (i.e. caching).
- QuickCheck tests
- Timeout om en sida tar för lång tid, ev lägg längst bak i kön.
- Fånga exception vid tappad uppkoppling och avsluta snyggt så att filen som skrivs för tillfället inte förloras. Logga fel.
- Alternativt, vänta och försök igen om X sekunder.
Fluffiga idéer
- Konfigurera crawlern med HXT liknande filter för att bestämma vilka sidor som ska crawlas