Program/hemsida, hålla koll på priser från olika butiker, vilket språk?

Permalänk
Medlem

Program/hemsida, hålla koll på priser från olika butiker, vilket språk?

Hej sweC,

hade lite svårt att komma på en bra titel till tråden.

I alla fall, nu när sommaren kommer så tänkte jag att jag skulle roa mig med ett litet projekt. Då jag är en film nörd så sitter jag hela tiden på diverse butikers hemsidor och letar efter reor på filmer, men detta börjar bli lite små segt. Då fick jag iden att försöka göra en hemsida/program där jag har filmerna jag vill håll koll på listade och där hemsidan/programmet sedan hämtar priset från de olika hemsidorna, i detta fall, prisjakt, amazon, zavvi, play för att nämna några.

Problemet är att jag är väldigt osäker på vilket språk jag ska skriva detta i om det ens är möjligt att genomföra. Jag har erfarenhet av HTML och har läst tre kurser C++ på gymnasienivå (A-C), så det är ett språk som inte borde vara för svårt att få tillbaka. Men skulle helst göra en hemsida av det då det känns enklast och jag känner mig mest hemma där.

Så är det genomförbart och i vilket språk?

Visa signatur

CMHHHMC

Permalänk
Medlem

PHP och ASP.Net är väl dom två HTML språken som är vanligast. Eftersom du har erfarenhet med C++ borde PHP ligga nära till hjärtat.
Det finns fler språk att välja mellan dock och egentligen finns det inga begränsningar alls på språkval och hur man går tillväga.

Skall du göra ett program som skimmar sidor kan jag rekommendera ett högnivå språk som t.ex C#, Python eller Java. (osv)
Själv rekommenderar jag C# då det är det språket jag trivs med men spelar ingen större roll vilket du riktar dig mot.

Visa signatur

Chassi: Svart, PSU: 230 volt, Moderkort: Stort, CPU: Med fläkt, Minne: Tappat, GPU: Klarar MsPaint jättebra, Hårddiskar: Stor och liten, Mus: Med rullhjul, Tangentbord: Svenskt, Skärm: Platt

Permalänk
Medlem
Skrivet av TheCadde:

PHP och ASP.Net är väl dom två HTML språken som är vanligast. Eftersom du har erfarenhet med C++ borde PHP ligga nära till hjärtat.
Det finns fler språk att välja mellan dock och egentligen finns det inga begränsningar alls på språkval och hur man går tillväga.

Skall du göra ett program som skimmar sidor kan jag rekommendera ett högnivå språk som t.ex C#, Python eller Java. (osv)
Själv rekommenderar jag C# då det är det språket jag trivs med men spelar ingen större roll vilket du riktar dig mot.

PHP & ASP är ju inga HTML språk för den delen men ja du kan använda PHP, ASP, Python, Ruby eller liknande för att skapa en sida med interaktion med en databas.

Visa signatur
Permalänk
Medlem
Skrivet av Drager:

PHP & ASP är ju inga HTML språk för den delen men ja du kan använda PHP, ASP, Python, Ruby eller liknande för att skapa en sida med interaktion med en databas.

Ja du har såklart rätt. Men du och TS vet väl vad jag menade ändå?

Visa signatur

Chassi: Svart, PSU: 230 volt, Moderkort: Stort, CPU: Med fläkt, Minne: Tappat, GPU: Klarar MsPaint jättebra, Hårddiskar: Stor och liten, Mus: Med rullhjul, Tangentbord: Svenskt, Skärm: Platt

Permalänk
Medlem
Skrivet av TheCadde:

Ja du har såklart rätt. Men du och TS vet väl vad jag menade ändå?

Jag förstod så klart vad du menade men TS kanske inte gjorde och kanske inte heller annat folk som läser tråden, kan bli något missförstånd så att säga men nu har vi rätt ut det i alla fall.

Visa signatur
Permalänk
Hedersmedlem

De sidor som har ett snällt API du kan använda är enkla att inkorporera: då kan du enkelt t ex be om data för en viss titel och få priserna i entydiga datastrukturer.

Om de inte har detta så får du köra web scraping med något verktyg. Jag hade personligen valt att göra det i Python med modulen Beautiful Soup som gör saker så gudomligt enkelt jämfört med alternativen, men var medveten om att det är en del pill trots allt, samt att om/när sidorna ändrar sin layout så behöver lösningen troligen revideras.

Pythonprogrammet hade då t ex kunnat köras periodiskt (en gång om dagen, kanske) och fylla en databas med uppgifter, och webgränssnittet sedan läsa ur just denna databas.

Tiden för att få ihop en funktionell lösning borde främst gå åt till att lyckas med web scraping (gärna någorlunda modulärt så att du kan lägga till/ta bort externa sidor att söka på) och att sätta upp databasen på ett smart sätt. I databasen behöver du lagra titlar, sök-ID för varje separat extern sida (de har troligen olika varunummer på olika sidor, och enbart fritextsökning är nog kört på förhand (flera versioner/format av samma film, uppföljare, etc.)) samt de priser du hittar (med datumangivelse; skriv inte över gamla priser, utan lagra det som en ny rad för att kunna hålla historik). Sökningen för varje extern sida skulle kunna implementeras med t ex separata skript i en viss katalog som tar sök-ID som input och ger pris och andra önskade variabler som output (de enklaste sidorna kräver som sagt kanske bara ett API-anrop; bökigare sidor kräver mer komplicerad scraping). Du skulle kunna ha en global konfigurationsfil där "aktiva externa sidor" angavs som sedan antog att det fanns en fil med motsvarande namn i skriptkatalogen, samt en en kolumn med motsvarande namn i databasen.

Det känns som en lärorik uppgift som går att skala upp en bra bit i svårighet och tid genom att utöka funktionalitet. Del 1 i lösningen borde vara att öht lyckas få ut information från externa sidor; del 2 att bygga upp databasen och dynamiskt kunna söka efter titlar beroende på dess innehåll och kunna populera den genom de metoder du utvecklade i del 1; del 3 att göra ett webgränssnitt.

Har du ingen erfarenhet av databaser eller webprogrammering i allmänhet så skulle jag dock friskt räkna med att det skulle ta bra tid att komma fram till en full lösning (månader med sporadiskt kodande och, troligen framför allt, läsande). Men som sagt: säkerligen mycket lärorikt, och skalbart till månen (användarkonton med speciella filmbevakningar, möjlighet för just användare att lägga till titlar, RSS-sammanställning, IMDB-koppling, etc.).

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk
Medlem

Tackar för alla superbra svar, nu har jag mycket mer kött på benen än innan, ska söka runt lite på de alternativ ni har listat. Speciellt det du, phz skrev om i phyton. Har inget emot att börja lära mig ett nytt språk, det ser jag bara som en kul utmaning och en god erfarenhet för framtida projekt.

Amazon vet jag har ett API så jag ska ta och titta in det i alla fall, de andra butikerna är jag osäker på. Har sökt lite men inte hittat något om det direkt.

Än en gång, tack för alla svar som kommit i tråden.

Visa signatur

CMHHHMC