Just nu i M3-nätverket
Jump to content

Söka fram pris


Dahlgren

Recommended Posts

Hej!

 

Jag undrar hur man gör för att söka fram priset på en vara. Som pricerunner.se, där kan man ju söka fram det billigaste priset på en vara, det dyraste med om man nu vill det.

 

Pricerunner kan väl knappast gå in på företagens sidor och kontrollera om priset på en produkt har ändrat sig eller hur?

 

Ett annat exempel är bokpris.nu, där kan man söka fram billigaste boken.

 

Hur gör man egentligen?

Någon som vet?

 

Tack på förhand.

 

Med Vänliga Hälsningar:

Micke

Link to comment
Share on other sites

Johan Knape

Tja du sparar värdet på varan i databasen och söker fram de varor som finns.

 

Pricerunner däremot söker sig antingen in på företagens sidor och registrerar priset eller så gör de detta manuellt.

 

Vill du skapa en funktion som lägger in billigaste priserna i databasen automatiskt eller vill du plocka fram de billigaste varorna som finns i databasen????

 

/Johan

 

Link to comment
Share on other sites

Nej, jag tror inte det är så det går till riktigt. Kolla på denna länken:

 

http://www.adlibris.se/shop/productagent.asp?isbn=9113009745

 

Där är priset på en bok. Källkoden den filen genererar följande HTML-kod till klienten:

 

<html>

165 kr

</html>

 

Borde det inte finnas något sätt att få ur det priset ur källkoden och föra in det i en databas?

 

 

Med Vänliga Hälsningar:

Micke

 

Link to comment
Share on other sites

Det är klart det går och ännu enklare om sidan hade varit en XML sida.

 

Tyvärr är det inte så lätt eftersom sidans format kan ändras närsomhelst och då står du där.

 

Som tidigare sagts i tråden så läggs nog priserna in manuellt i en databas när de söker reda på det billigaste priset.

 

Om sedan företagen rapporterar in till pricerunner eller om de själva surfar runt får du fråga dem om men att det skulle ske automatiskt är nog osannolikt.

 

Kanske blir möjligt den dagen vi har riktiga artificiella intelligenser i datorn ;-)

 

 

Link to comment
Share on other sites

Hej Xyzz!

 

Jag tror inte att pricerunner.se eller bokpris.com söker fram priserna manuellt. I en internatbokhandel finns det typ ca. 120 000 böcker, och hur skulle du pricerunner.se då kunna kontrollera sina priser, de ängnar ju sig åt mer än böcker.

 

Dessutom så finns det så man kan klicka på nåt i stil med: "Hämta realtidspriser" på bokpris.com och detta måste ju innebära att priserna söks upp automatiskt.

 

Link to comment
Share on other sites

Nu tror ju inte jag att ALLA produkter finns hos pricerunner.

 

Men visst, vissa sajter kan de nog hämta upp priserna från automatiskt men då har de nog gjort en deal med det företaget så de hämtar direkt från databasen.

 

Problemet med att parsa en html sida efter dylik information är ju att så fort sidan ändras det minsta måste det ju ändras i koden för att rätt pris ska hämtas upp.

 

Men visst går det, finns till och med i Excel att du kan importera en html sida som då (om den innehåller en table ) lägger sig i olika celler.

 

[inlägget ändrat 2002-07-10 17:18:17 av Xyzz]

Link to comment
Share on other sites

Jag var inne och läste lite på Pricerunner och där stod det att de uppdaterar vissa priser manuellt.

 

Men det orkar inte jag hålla på med :). Det måste ju ändå vara lättare att hålla koll på om företagen ändrar källkoden än att hålla koll på en helsikes massa priser.

 

Sedan vet jag att t.ex bokpris.com inte har någon kontakt med Adlibris.ses databas. Jag mejlade nämligen och frågade Adlibris för ett tag sedan. I samma veva nämde dom på Adlibris att det bästa sättet att söka fram priset var genom länken som jag skickade tidigare och sedan byta ut ISBN.

 

Jag tror för den delen inte att t.ex. Adlibris skulle ändra källkod, med tanke på att det finns siter som bokpris.com och internetbokhandlarna tjänar ju pengar på dem. Det borde med andra ord finnas någon standard.

 

 

Med Vänliga Hälsningar:

Micke

 

Link to comment
Share on other sites

Det borde med andra ord finnas någon standard.

 

Nja, standard för just priser på nätet det finns inte men som i länken du gav har de ju gjort en sida specifikt för att spotta ut priser och då är det ju inget större problem att hämta informationen.

 

Det blir betydligt värre om man ska parsa en vanlig html sida som kan se ut hur som helst och försöka få fram priser ur den.

 

Men det går som sagt om sidan inte ändras så ofta.

 

 

 

 

Link to comment
Share on other sites

Just den sidan går att parsa rätt lätt:

 

<%
Dim objRequest, pris, text

pris = 0

Set objRequest = Server.CreateObject("MSXML2.ServerXMLHTTP")
objRequest.OnReadyStateChange = GetRef( "HttpReadyStateChange" )

objRequest.Open "GET", "http://www.adlibris.se/shop/productagent.asp?isbn=9113009745", False
objRequest.Send

Sub HttpReadyStateChange

IF objRequest.readyState = 4 Then

	' Texten från sidan
	text = objRequest.responseText

	' Ta bort <html> och </html>
	text = Replace( text, "<html>", "" )
	text = Replace( text, "</html>", "" )

	pris = Ccur( Trim( text ) )

End IF

End Sub

Set objRequest = Nothing

' Skriv ut priset
Response.Write pris

%>

 

 

 

 

Link to comment
Share on other sites

Xyzz.

Det blir fel i din kod:

Teknisk information (för supportpersonal)

 

Feltyp:

Körningsfel i Microsoft VBScript (0x800A000D)

Inkompatibla typer: 'Ccur'

/asp/xyzz.asp, line 23

 

Undrar vilka supportpersonalen är ?

 

 

/TN 869, precis börjat med ASP :)

 

Link to comment
Share on other sites

Funkade bra på min dator med IIS 5.1 (XP) men testa parsa bort "kr" ochså.

 

Dvs en till replace rad:

 

' Texten från sidan
text = Lcase( objRequest.responseText )

' Ta bort <html> och </html> och "kr"
text = Replace( text, "<html>", "" )
text = Replace( text, "</html>", "" )
text = Replace( text, "kr","" )

pris = Ccur( Trim( text ) )

 

[inlägget ändrat 2002-07-10 19:34:45 av Xyzz]

Link to comment
Share on other sites

Hehe, jag får visst tillbaka texten 'The page cannot be found osv...'

 

Jag fattar ingenting, helt plötsligt fungerade det !

 

Det kanske är nåt när man klipper ur kod från ett inlägg, det blir något underligt %20 istoppat ibland i adresser.

 

 

/TN 869

 

Link to comment
Share on other sites

Det fungerar utmärkt det. Jag såg att du hade skrivit "parsa", vad menas med det? Är det så det heter, när man gör så?

 

Link to comment
Share on other sites

Finns ju inget riktigt bra ord på svenska som det ofta tycks vara när det gäller programmering.

 

"parsa" är en slarvig svengelsk översättning av "parse" som betyder analysera, bearbeta.

 

 

 

 

Link to comment
Share on other sites

Tack för hjälpen då Xyzz. Då återstår bara för mig att gå igenom scriptet och försöka förstå allt. Jag har svårt att lägga in ett script på min sida som jag inte förstår själv :).

 

Link to comment
Share on other sites

Ok, du kan lägga till två saker ochså, dels en error hantering om du inte får ett korrekt pris tillbaka och sedan hämta in isbn nummeret från ett formulär.

 

 

 

 

Link to comment
Share on other sites

Ja, ISBN-nummret måste ju kunna ändras eftersom användaren väljer bok så att säga. Men det kan man ju lösa ganska enkelt typ:

 

strISBN = Request.Form("isbn")

 

objRequest.Open "GET", "http://www.adlibris.se/shop/productagent.asp?isbn="& strISBN, False

objRequest.Send

 

Svårare borde ju inte det vara. Sen det här med felmeddelande är jag inte så insatt i men det kan man ju läsa om.

 

Link to comment
Share on other sites

Svårare borde ju inte det vara.

 

Nej det ska funka bra att göra så, kanske en Trim på formulär värdet ochså.

 

Sen det här med felmeddelande är jag inte så insatt i men det kan man ju läsa om.

 

Enklast kan du ju till exempel kolla text med IsNumeric innan du försöker konvertera samt kolla om pris är 0 (inget hämtades från sidan).

 

Man kan göra mer avancerad error hantering ochså naturligtvis.

 

Link to comment
Share on other sites

Xyzz, eftersom du verkar kunna ganska mycket om ASP så undrar jag om du har något bra tips på ASP-böcker man kan läsa. Just nu har jag en ASP-bok som heter "Lär dig ASP 3.0 på 3 veckor". Den boken är bra men jag gillar inte titeln riktigt, men kan ju knappast lära sig ASP så snabbt.

 

Vad använder du för böcker / har använt???

 

Link to comment
Share on other sites

Vad använder du för böcker / har använt???

 

Ärligt talat har jag inte läst så många ASP böcker, läste väl nån för ett par år sedan ( "ASP in a nutshell" tror jag ) men sen har jag lärt mig genom att hålla på.

 

Dessutom är webben en outsinlig källa för inspiration, jag använder ofta google när jag söker efter lösningar och lär mig på det sättet.

 

Bästa sättet att lära sig är nog "trial and error" men det skadar ju inte att ha en liten grund att stå på först.

 

[inlägget ändrat 2002-07-10 22:10:12 av Xyzz]

Link to comment
Share on other sites

Ja man kan ju söka på felkodsnummret, brukar jag också göra. Ibland kan man komma fram till en lösning på det sättet.

 

Men nu kommer ju ASP.NET också och då bör man kanske skaffa en bok om det om man ska lära sig det.

 

Link to comment
Share on other sites

Men nu kommer ju ASP.NET också och då bör man kanske skaffa en bok om det om man ska lära sig det.

 

Ja jag har faktiskt en bok om både ASP.NET och C# ;-)

 

Det är "Professional ASP.NET" och "Professional C#" från Wrox

 

Link to comment
Share on other sites

"Professional ASP.NET", den kanske är mer för de som kan ASP väldigt bra innan och jag är ju ingen ASP-gud precis.

 

Det kanske är så med all ASP.NET, att man bör lära sig ASP ganska bra innan.

 

Egentligen vet jag inte om jag kan så mycket ASP, man sitter ju och gör i stort sett samma saker hela tiden, man lär sig inte så aktivt.

 

Link to comment
Share on other sites

Det kanske är så med all ASP.NET, att man bör lära sig ASP ganska bra innan.

 

Svårt att säga generellt om det hjälper att kunna gamla ASP eller inte men det är ju så att börjar man med någon form av programmering (inte bara på webben) så har man generellt lättare att lära sig nya saker sedan, även andra programmerings språk.

 

[inlägget ändrat 2002-07-10 22:33:03 av Xyzz]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...