HCrwl

From Slackopedia

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