Denne tråd er over 6 måneder gammel
Er du sikker på, at du har noget relevant at tilføje?
Jeg har lavet et Python program, som giver et over...Af Gigabruger peterlravn | 04-12-2020 15:18 | 3009 visninger | 33 svar, hop til seneste
Jeg sidder nogle gange og tænker, om et sytem med en I5-10600k ville være billigere end et system med en 5600x. Og jeg er også ret træt af at gå igennem computerdele på Pricerunner for at sammenligne prisen. Derfor lavede jeg et lille program, hvor man indtaster computerdele, og hvor programmet så spytter priser ud på de enkelte dele. Her ses, hvordan det virker: https://www.youtube.com[...]
Koden kan downloades her: https://github.com[...]
Det kræver, at man mindst har Python 3.7 installeret, installeret 'requirements.txt', samt at man har installeret Chromedriver: https://chromedriver.chromium.org[...]
Er ret ny til Python, så programmet er nok ikke super optimeret, but whatever. Tænker stadig folk herinde kan drage nytte af programmet :) Har prøvet at lave det rimeligt Error-free, men bugs kan nok stadig godt dukke op...
Hvis der er andre, som har lavet små brugbare Python-programmer, så skal I være velkommen til at dele dem herinde! --
Det virker lidt random. Er det ikke bedre at gøre brug af listerne ved pricerunner? -- Damn, det er rimeligt nice! :D -- PC-o11 | Ryzen 3700x | Aorus Master 3080 | Arctic Liquid Freezer II 360 | B550-F | 16 GB 3200MHz CL 16 | Corsair RM750x | 1x Crucial P1 1TB --
Sidst redigeret 04-12-2020 15:23 Må indrømme at det er rimelig cool. Kan faktisk godt se mig selv bruge det! -- Intet mindre end GENIALT! -- - Indsæt signatur - --
Sidst redigeret 04-12-2020 15:30 Næste du skal lave er et standalone program der kan spytte data ud direkte i dit program og hvor det ikke er nødvendigt at bruge browseren.
Blev ved med programmering ;) -- #1 Tjoe, måske lidt. Lavede det også mest for at øve mig, det var SLET IKKE tiden værd, haha. Men det gode er, at man ikke manuelt skal søge på et produkt, vælge en god men billig variant, notere sig af prisen, skrive den ind og summerer prisen på alle 6 produkter. Synes ofte jeg bruger 5-10 minutter, hvis jeg vil komme med et forslag til et build under XXX antal kroner. Nu tager det kun 1 minut :)
Btw programmet tager automatisk outputtet til clip-board, så man skal bare trykke ctrl+v og man er done -- Sidst redigeret 04-12-2020 15:35 #5 Ville gerne slippe for at bruge browseren, men kan simpelthen ikke wrappe mit hoved om, hvordan man gør det. Det må bliver version 2.0 :) -- #7 undersøg om pricerunner har et api du kan benytte dig af. mere kan jeg desvære ikke hjælpe med. -- Overclocked Broadwell-E/Pascal Inside! #8 Kunne kun finde API's til de store udenlandske pris-hjemmesider, så det blev lidt alternativt det her :/ -- Fin fin, men føj dag ikke chrome så hellere firefox https://github.com[...] -- if ( $life( $me ) == $null ) { getLife( $me ) | halt }
#6 - Jeg tror faktisk Pricerunner har et API du kan pulle fra, i stedet for at scrape websitet. -- #11 det har de os.
-- if ( $life( $me ) == $null ) { getLife( $me ) | halt }
Du kunne starte med at kigge på browserens netværkssniffer. Her kan du se søge-forespørgslen, som sender json-data retur. -- Gæstebruger, opret dit eget login og få din egen signatur. Det er desværre forkerte priser du får frem og derfor er ikke skide smart.
B460 havner på 889kr, jeg kan finde tons til mindre end 700kr
Jeg synes idéen er god, og du burde kunne lave det bedre med tiden og have stor potentiale :) -- Du kan sætte headless = True, så slipper du for at se browseren imens -- #14 Jeg er ikke helt sikker på, hvad jeg ser. Det er vist en smule over mit niveau. Har du et eksempel på, hvordan man bruger endpoints, eller måske et link til, hvordan man bruger det?
#15 Ahahaha, kan godt se, at lige den pris ikke er så repræsentativ. Scriptet kigger på de 5 varer med flest stjerne (ikke inklusiv 5 stjerner, da de ofte kun havde en enkelt rating) og tager derfra den billigste af dem. Det sikrede mig, at Scriptet ikke endte op med at tage en vare, som ingen alligevel køber (nogle b460 boards er virkelig skrald). Måske jeg i stedet skulle tage et gennemsnit af de 5-10 billigste varer og så adde prisen til listen? Hmm.... -- #17
Det du ser i linket i #14 er resultatet af en søgning, men sendt til dig i JSON format.
Det er struktureret tekst ligesom fx. XML.
Du kan så løbe det igennem og finde reultaterne. Nu har jeg ikke set dokumentationen for deres endpoint, men du kan formentlig specificere alverdens parametre i din forspørgsel.
Fx. en søgning på 10600k
https://www.pricerunner.dk[...]
Et lille udsnit af, hvordan reelt ser ud. (Starten af det JSON der kommer ud af det)
https://hamdenkloge.dk[...]
Der ligger garanteret en masse biblioteker til Python der kan bruges til at arbejde med JSON -- https://onsdagssnegl.dk[...]
"Held er noget, der indtræffer, når grundige forberedelser mødes med gunstig lejlighed" #17 Endpoints er urler som returnere ren data i stedet for html sider. I dette tilfælde får vi dataformattet json.
har lavet en gist du kan se her med et eksempel. https://gist.github.com[...] -- keep up the good work!! -- Det eneste tidspunkt en borgerlig tænker på andre end dem selv, er når de onanere.. Ved ikke hvad formålet er for dig(tænker det bliver meget mere dyrt på shops med fragt du skal betale til og mere bøvlet med 40 forskellige kvitteringer, men kig på arrays nu :) -- if ( $life( $me ) == $null ) { getLife( $me ) | halt }
#23
Nu linkede du til deres endpoint i #14
Det skulle vel aldrig være sådan, at du havde mere information om mulighederne for brug? -- https://onsdagssnegl.dk[...]
"Held er noget, der indtræffer, når grundige forberedelser mødes med gunstig lejlighed" #24 Stallemanden det er i mod deres terms for at ville udnytte pricerunner, det er imod deres regler, hvis du vil lege med dem så kontakt og få en handel i hus :)
https://i.imgur.com[...]
https://www.pricerunner.dk[...] -- if ( $life( $me ) == $null ) { getLife( $me ) | halt }
#25
Tak for dit velmenende indlæg.
Jeg ser ikke umiddelbart en beskrivelse af, at deres public endpoint ikke må benyttes.
Skulle du ellers have noget brugbart at tilføre i forhold til mit oprindelige spørgsmål, imødekommer jeg det gerne. -- https://onsdagssnegl.dk[...]
"Held er noget, der indtræffer, når grundige forberedelser mødes med gunstig lejlighed" #26 Selvfølgelig gælder det også https://www.pricerunner.dk[...]
Det er ikke ens betydning med det er til fribenyttelse væk fra deres side af -- if ( $life( $me ) == $null ) { getLife( $me ) | halt }
#27
Endnu en gang tak for din velmenende, men irrelevante kommentar til mit spørgsmål.
I det tilfælde du har noget at bidrage med til det oprindelige spørgsmål, er du selvfølgelig velkommen til at bidrage.
Antagelser og henvisninger til betingelser for brug, er ikke relevant. -- https://onsdagssnegl.dk[...]
"Held er noget, der indtræffer, når grundige forberedelser mødes med gunstig lejlighed" Hyggeligt lille projekt.
Jeg sidder dagligt og arbejder i bl.a. powershell, så jeg skrev en 2 små funktioner der er en lidt mere generisk tilgang til det som OP lavede.
Her er det bare general søgning på et emne, og så en liste med resultat derfra, og en funktion der så kan starte default browser op og henvise til præcis det produkt man ønsker at kigge nærmere på.
Nedenfor er koden
https://pastebin.com[...]
Hvis man ønsker at bruge det i daglig dagen er der flere måder at gøre det på, det nemmest er at åbne powershell og paste følgende linie
new-item $profile -ErrorAction SilentlyContinue; notepad $profile
Derefter kopier de 2 funktioner ind i den fil og så gem filen, så kan det bruges efter en genstart af powershell. --
#28 Du er MOD, så vis dig fra den side af i stedet for det der BS, der er en grund til der ikke er andre funktioner tilgængelig end hvad du kan se når du selv besøger siden og tjekker din konsol igennem.
Du opfordrer andre til at gøre det samme.
De samme regler gælder for dig som alle andre, du efterspørger noget som ikke skal ud til alm mennesker, skal vi have pricerunner mere ødelagt end den endnu gang er i forhold til hvad den har været.
Hvordan det kan være irrelevant?
Det kan jo kun være fordi du er irriteret over jeg påpeger dette også skal du skabe dig med din nedlandet tone med et snært af noget ikke kontinuerligt intellektuelt tekst, vi sidder på et forum, LOL.
Det ville være det samme at sige som jeg kender til en fejl i hol's system og dens søgefunktion skal resten af verden vide dette så det kan blive ødelagt og ligge siden ned? nej tværtimod. -- if ( $life( $me ) == $null ) { getLife( $me ) | halt }
#28 Jeg prøvede lige med en 24k linjer wordlist, den gav kun udslag på q, så tror ikke der er så meget åbent.
https://imgur.com[...]
Skal nok sige til hvis jeg falder over noget. -- 5950X|Crosshair VIII Formula|32GB RAM
Gainward3090-GS|PG279Q
Samsung970 EVO+ 1TB+2TB|Samsung 860 PRO 2TB
Samsung860 QVO 2TB|Corsair AX860i #21 Havde egentligt bare tænkt mig, at det skulle bruges, når nogen herinde spørger efter et build til fx 6000 kroner, og man så lige hurtigt kan sætte et build sammen med priser :) Hvad tænker du på med arrays?
Og er mit program egentligt imod Pricerunners Terms of Service, selvom det er helt uskadeligt? -- #0
Så din nyeste opdatering. Super fedt :-) --
Grundet øget spam aktivitet fra gæstebrugere, er det desværre ikke længere muligt, at oprette svar som gæst.
Hvis du ønsker at deltage i debatten, skal du oprette en brugerprofil.
Opret bruger | Login
|
Du skal være logget ind for at tilmelde dig nyhedsbrev.
Hvilken udbyder har du til internet? 424 personer har stemt - Mit energiselskab (Ewii f.eks) 11%
|