Seneste forumindlæg
Køb / Salg
 * Uofficiel Black/White liste V2
Login / opret bruger

Forum \ Software \ Generel software

Jeg har lavet et Python program, som giver et over...

Af Gigabruger peterlravn | 04-12-2020 15:18 | 1977 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!
--
#1
vaff
Elitebruger
04-12-2020 15:22

Rapporter til Admin
Det virker lidt random. Er det ikke bedre at gøre brug af listerne ved pricerunner?
--
#2
Wildmann
Mega Supporter
04-12-2020 15:23

Rapporter til Admin
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
#3
Toltov
Ny på siden
04-12-2020 15:27

Rapporter til Admin
Må indrømme at det er rimelig cool. Kan faktisk godt se mig selv bruge det!
--
#4
ToFFo
Guru
04-12-2020 15:29

Rapporter til Admin
Intet mindre end GENIALT!
--
- Indsæt signatur -
--
Sidst redigeret 04-12-2020 15:30
#5
ilmep
Supporter Aspirant
04-12-2020 15:30

Rapporter til Admin
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 ;)
--
#6
peterlravn
Gigabruger
04-12-2020 15:33

Rapporter til Admin
#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
#7
peterlravn
Gigabruger
04-12-2020 15:34

Rapporter til Admin
#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 :)
--
#8
InFerNo
Guru
04-12-2020 16:01

Rapporter til Admin
#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!
#9
peterlravn
Gigabruger
04-12-2020 16:10

Rapporter til Admin
#8 Kunne kun finde API's til de store udenlandske pris-hjemmesider, så det blev lidt alternativt det her :/
--
#10
wazer^
Nørd
04-12-2020 16:15

Rapporter til Admin
Fin fin, men føj dag ikke chrome så hellere firefox https://github.com[...]
--
if ( $life( $me ) == $null ) { getLife( $me ) | halt }
#11
vaff
Elitebruger
04-12-2020 16:17

Rapporter til Admin
#6 - Jeg tror faktisk Pricerunner har et API du kan pulle fra, i stedet for at scrape websitet.
--
#12
wazer^
Nørd
04-12-2020 16:17

Rapporter til Admin
#11 det har de os.
--
if ( $life( $me ) == $null ) { getLife( $me ) | halt }
#13
palle
Gæst
04-12-2020 16:51

Rapporter til Admin
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.
#14
GenoC
Supporter
04-12-2020 17:43

Rapporter til Admin
https://www.pricerunner.dk[...] Det er endpointet du skal prøve at kalde imod. Så er du fri for browsere
--
Sidst redigeret 04-12-2020 17:43
#15
thechillum
Mega Supporter
04-12-2020 18:44

Rapporter til Admin
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 :)
--
#16
Sykezlol
Supporter Aspirant
04-12-2020 18:47

Rapporter til Admin
Du kan sætte headless = True, så slipper du for at se browseren imens
--
#17
peterlravn
Gigabruger
04-12-2020 19:46

Rapporter til Admin
#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....
--
#18
stallemanden
HOL Moderator
04-12-2020 20:10

Rapporter til Admin
#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"
#19
GenoC
Supporter
04-12-2020 20:10

Rapporter til Admin
#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[...]
--
#20
Roy Munson
Mega Supporter
04-12-2020 20:43

Rapporter til Admin
keep up the good work!!
--
Det eneste tidspunkt en borgerlig tænker på andre end dem selv, er når de onanere..
#21
peterlravn
Gigabruger
05-12-2020 11:47

Rapporter til Admin
Nu bruger programmet sgu Json og virker cirka 100 gange hurtigere. Det begynder faktisk at være ret brugbart: https://www.youtube.com[...] Link til download: https://github.com[...] Json er jo sindssygt brugbart.
--
#22
wazer^
Nørd
05-12-2020 13:57

Rapporter til Admin
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
GenoC
Supporter
05-12-2020 13:58

Rapporter til Admin
#21 Dank
--
#24
stallemanden
HOL Moderator
05-12-2020 15:10

Rapporter til Admin
#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"
#25
wazer^
Nørd
05-12-2020 15:15

Rapporter til Admin
#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 }
#26
stallemanden
HOL Moderator
05-12-2020 15:25

Rapporter til Admin
#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"
#27
wazer^
Nørd
05-12-2020 15:28

Rapporter til Admin
#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 }
#28
stallemanden
HOL Moderator
05-12-2020 19:58

Rapporter til Admin
#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"
#29
upz
Monsterbruger
05-12-2020 20:10

Rapporter til Admin
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.
--
#30
wazer^
Nørd
05-12-2020 20:11

Rapporter til Admin
#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 }
#31
SShadowS
Guru
05-12-2020 20:42

Rapporter til Admin
#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
#32
peterlravn
Gigabruger
06-12-2020 19:29

Rapporter til Admin
#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?
--
#33
ilmep
Supporter Aspirant
06-12-2020 19:37

Rapporter til Admin
#0 Så din nyeste opdatering. Super fedt :-)
--

Opret svar til indlægget: Jeg har lavet et Python program, som giver et over...

Grundet øget spam aktivitet fra udlandet, er det desværre ikke muligt for dig, at oprette svar som gæst.

Hvis du ønsker at deltage i debatten, skal du oprette en brugerprofil.

Opret bruger | Login
NYHEDSBREV
Afstemning