Ah, ett ämne jag har en del insikt i.
Prisuppgifter hämtas precis som du hört antingen via prislistor som företaget tillhandahåller eller genom att man skickar en spindel/crawler/agent (kärt barn...) att läsa av sidor i företagets webshop. För att få med så många företag som möjligt så måste man antagligen använda båda metoderna, fördelningen för de olika metoderna är för Buggys del ungefär 50-50.
Större företag är vanligen bra på skapa och ge tillgång till prislistor som är enkla att läsa av automatiskt. Mindre företag saknar tyvärr ofta teknisk kompetens för detta, eller har så dålig struktur på sina databaser att de data man kan plocka ur dem är oanvändbar. Skräckexemplet är företag som inte använder någon databas, utan har använt Word för att skapa sidor till sina webshoppar. Den "html" som Word genererar kan man bli blind av...
Det finns en hel del att läsa om agentteknik, men det mesta är av helt akademisk natur. En agent är ett program som vilket annat som helst och inte särskilt märkvärdigt. De går att koda i vilket språk som helst, men vissa språk är givetvis bättre lämpade än andra. Agenter måste specialkodas för sitt syfte. En all-in-one agent som kan hantera allt från begagnade bilar till väderprognoser finns inte. Någon egentlig intelligens har de givetvis inte, utan reagerar bara på de data de behandlar utifrån villkor man ställer upp. Vissa menar att en agent ska ta egna initiativ för att vara en "egentlig" agent. Om du till exempel startar ditt mailprogram och kollar din mail varje vardag under lunchen så skulle en agent kunna notera det och fråga om du vill automatisera det.
En crawlers/agents datainhämtning är enkel att beskriva med lite pseudo-kod. Kan givetvis göras på tusen andra sätt.
[Start]
Definiera en startadress.
Definiera vad som utgör intressant data (ofta med hjälp av regexp, precis som Jawn skriver i sitt inlägg).
Definiera hur länkar att följa ska se ut (regexp även här).
[Inledning]
Sidan på startadressen hämtas.
Identifiera och spara intressant data.
Identifiera och spara länkar att besöka härnäst.
[Loop]
Hämta sida från lista över adresser.
Identifiera och spara intressant data.
Identifiera och spara länkar att besöka härnäst.
[/Loop]
[Slut]
Avsluta när listan över adresser att besöka är tom eller något annat villkor är sant.
Det var grundkursen i alla fall.