Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  Price checker märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale. Teata moderaatorile
otsing:  
tulema
HV kasutaja

liitunud: 23.04.2003



Autoriseeritud ID-kaardiga

sõnum 27.10.2021 17:22:26 Price checker vasta tsitaadiga

Script, mis võtab Amazon lehelt tootehinna. Script töötab vahelduva eduga, kord saab hinna kätte ja kord mitte. Suurem ajast ei saa.

Mingit moodi peaks saama kätte puhta HTMLi, et mida mu server näeb?
Server - planet.ee
<?php

$doc = new DOMDocument;
$doc->loadHTMLFile('https://www.amazon.de/-/en/dp/B07SNPKX5Y/ref=pav_d_fromAsin_B08KH2MTSS_toAsin_B07SNPKX5Y');
$doc->preserveWhiteSpace = false;
$doc->strictErrorChecking = false;
$doc->recover = false;

$xpath = new DOMXPath($doc);
$priceBlock = $xpath->query('//span[@id="price_inside_buybox"]');
$priceContent = $priceBlock->item(0)->textContent;

echo 'Hind: ' . $priceContent;
?>
Kommentaarid: 58 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 52
tagasi üles
vaata kasutaja infot saada privaatsõnum
LKits
HV Guru
LKits

liitunud: 06.09.2007




sõnum 27.10.2021 20:47:03 vasta tsitaadiga

Võib-olla mobiiliversioonist saad paremini hinna kätte, peaks olema mõnevõrra kompaktsem ka:
http://www.amazon.de/gp/aw/d/B07SNPKX5Y

_________________
itLahendused - Arvutite remont ja hooldus, veebilehtede loomine, soodne veebimajutus. Võta ühendust! Tel: +372 555 268 97 ja e-post info@itlahendused.ee
Kommentaarid: 13 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 13
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
tulema
HV kasutaja

liitunud: 23.04.2003



Autoriseeritud ID-kaardiga

sõnum 28.10.2021 08:48:00 vasta tsitaadiga

Ei tööta 100%
Kummaline
Kommentaarid: 58 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 52
tagasi üles
vaata kasutaja infot saada privaatsõnum
LKits
HV Guru
LKits

liitunud: 06.09.2007




sõnum 28.10.2021 10:51:56 vasta tsitaadiga

Tõenäoliselt on mingisuguse HTML täägi leidmine probleem. Võib-olla SPAN pole alati leitav, mingi teine tääg või price_inside_buybox pole alati sama.
Võrdle "toorest HTML"-i millistel juhtudel leiab ja millisel ei leia.

_________________
itLahendused - Arvutite remont ja hooldus, veebilehtede loomine, soodne veebimajutus. Võta ühendust! Tel: +372 555 268 97 ja e-post info@itlahendused.ee
Kommentaarid: 13 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 13
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
tulema
HV kasutaja

liitunud: 23.04.2003



Autoriseeritud ID-kaardiga

sõnum 28.10.2021 13:59:52 vasta tsitaadiga

Testisin sama scripti jooksutada teises serveris ja seal töötab 100%.
Kommentaarid: 58 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 52
tagasi üles
vaata kasutaja infot saada privaatsõnum
LKits
HV Guru
LKits

liitunud: 06.09.2007




sõnum 28.10.2021 14:04:01 vasta tsitaadiga

Oeh... jätkuvalt, kas HTML-i saad loetud või mitte? Hakka otsast debuggima ning selgita välja, mis etapis asi katki läheb.
_________________
itLahendused - Arvutite remont ja hooldus, veebilehtede loomine, soodne veebimajutus. Võta ühendust! Tel: +372 555 268 97 ja e-post info@itlahendused.ee
Kommentaarid: 13 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 13
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
napoleon
Unknown virus
napoleon

liitunud: 08.12.2008



Autoriseeritud ID-kaardiga

sõnum 28.10.2021 15:58:04 vasta tsitaadiga

kõige lihtsam ja lollikindlam on debugimist alustada nii:
$html = file_get_contents('https://www.amazon.de/-/en/dp/B07SNPKX5Y/ref=pav_d_fromAsin_B08KH2MTSS_toAsin_B07SNPKX5Y');
$doc = new DOMDocument;
$doc->loadHTML($html);
...
ja kui hinda ei leia, siis
echo $html;
ja uuri mis reaalselt kätte saadi.
Kui vahel töötab ja vahel mitte, siis ma esimese asjana kahtlustaks, et amazonile eriti ei meeldi kui bot-d pärimas käivad ja on selle vastu mingi kaitse tehtud. Aga seda peaksid siis tulemusest nägema mis sealt reaalselt kätte saadi.
Kommentaarid: 76 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 59
tagasi üles
vaata kasutaja infot saada privaatsõnum
tulema
HV kasutaja

liitunud: 23.04.2003



Autoriseeritud ID-kaardiga

sõnum 28.10.2021 16:58:23 vasta tsitaadiga

Vastu vaatab:


Nojah, pekkis.
Captcha kood, just selliste scriptide vastu icon_cool.gif

napoleon, aitäh!
Kommentaarid: 58 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 52
tagasi üles
vaata kasutaja infot saada privaatsõnum
napoleon
Unknown virus
napoleon

liitunud: 08.12.2008



Autoriseeritud ID-kaardiga

sõnum 28.10.2021 17:07:27 vasta tsitaadiga

Eks sa hakka neid google tulemusi närima
https://www.google.com/search?client=opera&q=php+curl+set+user+agent&sourceid=opera&ie=UTF-8&oe=UTF-8
põhimõtteliselt võib proovida see html curl funktsioonide abil kätte saada, seal saad user agent, referrer, cookie jms. fake-da ehk valetada nagu tuleksid tavalise browseriga. See võib aga ei pruugi aidata olenevalt sellest kui nutikalt amazon selle bot kontrolli on teinud. Hetkel ise ei viitsi konkreetseid näiteid tegema hakata ehk saad õnge mitte kala icon_wink.gif
Ja kui sa neid päringuid mitmeid teed, siis pead neile mingi mõistliku vahe jätma et paistaks nagu päris inimene klikib st. seal peaks olema mingi konstant ehk näiteks mitte vähem kui 5 sek pluss mingi random, et see alati täpselt 5 ei oleks.
Kommentaarid: 76 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 59
tagasi üles
vaata kasutaja infot saada privaatsõnum
LKits
HV Guru
LKits

liitunud: 06.09.2007




sõnum 28.10.2021 17:12:16 vasta tsitaadiga

Random user agent, lehitseja, resolutsioon, pead tõenäoliselt mingeid proxysid kasutama, et oleksid erinevad IP-d jne.
_________________
itLahendused - Arvutite remont ja hooldus, veebilehtede loomine, soodne veebimajutus. Võta ühendust! Tel: +372 555 268 97 ja e-post info@itlahendused.ee
Kommentaarid: 13 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 13
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
napoleon
Unknown virus
napoleon

liitunud: 08.12.2008



Autoriseeritud ID-kaardiga

sõnum 28.10.2021 17:16:30 vasta tsitaadiga

Resolutsiooni ma pole kindel et vaadatakse. Seda ei saa HTTP headeritest ju kätte vaid alles javasciptiga siis kui leht on laetud.
Kommentaarid: 76 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 59
tagasi üles
vaata kasutaja infot saada privaatsõnum
LKits
HV Guru
LKits

liitunud: 06.09.2007




sõnum 28.10.2021 17:20:39 vasta tsitaadiga

Küll kõike vaadatakse ja kui midagi on puudu, siis ka see on kahtlane märk.
_________________
itLahendused - Arvutite remont ja hooldus, veebilehtede loomine, soodne veebimajutus. Võta ühendust! Tel: +372 555 268 97 ja e-post info@itlahendused.ee
Kommentaarid: 13 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 13
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
napoleon
Unknown virus
napoleon

liitunud: 08.12.2008



Autoriseeritud ID-kaardiga

sõnum 28.10.2021 17:30:18 vasta tsitaadiga

LKits, ok ma siis natuke põhjendan miks arvan et ei vaadata.
Leht laetakse alla. Kui seda Bot-ga teha, siis ei pruugi javascript üldse käivituda. Enamasti ei käivitugi kuna bot pole täisfunktsionaalne browser. Aga isegi kui on, siis mida see javascript teeks? Ilmselt lihtsalt redirecti captcha lehele. Aga selle redirecti võib bot vabalt kurele saata kuna lehe koos huvipakkuva infoga on ta selleks ajaks juba alla laadinud. Otsus kas lehte kuvada või mitte tuleks teha enne kui browser on selle juba alla laadinud

Muidugi saab javascriptiga igasuguseid trikke teha a'la õige asi tuleb ajax abil alles siis kui javascript on asjaga rahule jäänud jms., aga selle debugib suht kiiresti välja ja siis saab päringu otse õige lingi pihta teha. Mitte et seda debugimist ei saaks äärmiselt tülikaks teha millega tavaline skriptitatikas hakkama ei saa, aga võimalik see siiski on.

Ma ise vist prooviks esimese asjana lehele valetada nagu oleksin mingi otsimootor. Otsimootoritega on nad ilmselt natuke leebemad selle captcha nõudmise osas.
Kommentaarid: 76 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 59
tagasi üles
vaata kasutaja infot saada privaatsõnum
LKits
HV Guru
LKits

liitunud: 06.09.2007




sõnum 28.10.2021 17:34:11 vasta tsitaadiga

Mina jätkuvalt arvan, et miljardiettevõte kontrollib igasugu erinevaid asju automaatsete tegevuste kontrollimiseks.
See, et javascript käivitatakse hiljem ei tähenda seda, et javascripti (ja resolutsiooni) puudumisel ei arvutata "trust-factor"-st punkte maha.
Aga see on spekulatsioon - tõenäoliselt on lihtlabane user-agent, IP, küpsiste kooslus.

_________________
itLahendused - Arvutite remont ja hooldus, veebilehtede loomine, soodne veebimajutus. Võta ühendust! Tel: +372 555 268 97 ja e-post info@itlahendused.ee
Kommentaarid: 13 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 13
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
napoleon
Unknown virus
napoleon

liitunud: 08.12.2008



Autoriseeritud ID-kaardiga

sõnum 28.10.2021 17:45:20 vasta tsitaadiga

mkay, kunagi kui viitsin siis vaatan natuke mis andmed konkreetselt amazoni puhul liiguvad.
User agent+IP+küpsis+Referer on juba üpris tõhus kui lisaks vaadata veel sealt tulevate päringute intervalli. Eriti veel kui lisame, et tegemist ei ole tegelikult sensitiivse infoga vaid see on nagunii kõigile avalikult näha ja a'la iMacros pluginat mitte päris sihtotstarbeliselt kasutades saad päringud ikka automatiseerida nii, et javascript ka rahule jääb.
Kommentaarid: 76 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 59
tagasi üles
vaata kasutaja infot saada privaatsõnum
tulema
HV kasutaja

liitunud: 23.04.2003



Autoriseeritud ID-kaardiga

sõnum 28.10.2021 18:58:44 vasta tsitaadiga

Töös oli nö. hinnavalvur, kui hind kukkus ette antud piirini, siis tuli teavitus e-mailile.

Tõsi on see, et scripti katsetamise ajal oli lehelaadimisi muidugi rohkem... Hiljem määrasin intervall 6h, aga üsna pea hakati nõudma captcha.
Kommentaarid: 58 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 52
tagasi üles
vaata kasutaja infot saada privaatsõnum
RassK
HV Guru
RassK

liitunud: 17.01.2007




sõnum 02.11.2021 15:04:10 vasta tsitaadiga

tulema, nagu napoleon siin juba mainis, siis võib proovida elementaarsete headeritega mängida. Ala tee mingi user agent list ja randomiga tõmba sealt agenti string välja, kui see mõjutab aega millal captcha ette visatakse, siis on kindlasti arvestatav parameeter.
IP'd ei usu, et on põhiline parameeter, pigem secondary kuna iga ISP ei pruugi anda lõppkasutajale avalikku IP'd (arvestada tuleb siinkohal, et me ei räägi ainult Eestist). Samuti võib cookie randomiga iga 5-10 päringu järel ära kustutada.
Kommentaarid: 111 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 97
tagasi üles
vaata kasutaja infot saada privaatsõnum
19Mart94
HV kasutaja

liitunud: 22.06.2010



Autoriseeritud ID-kaardiga

sõnum 04.11.2021 11:01:12 vasta tsitaadiga

Ma ise olen sarnasel eesmärgil kasutanud Node.js-i ning (igivana) nightmare nimelist libraryt sinna juurde. See tehniliselt avab browseri akna ja siis saad Node.js koodiga juba sisu lugeda, igal avamisel saad määrata random UA, resolutsiooni jne. Samuti väike skeemitamine on nõnda, et avad kõigepealt pealehe, siis acceptid küpsised, vaatad mingit esilehel olevat toodet korraks ja siis liigud enda soovitud toote juurde alles.
Kommentaarid: 33 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 31
tagasi üles
vaata kasutaja infot saada privaatsõnum
H_K
Aeg Maha 2n
H_K

liitunud: 09.01.2002




sõnum 04.11.2021 14:44:55 vasta tsitaadiga

Kas sellist asja ei ole juba keegi leiutanud.
https://camelcamelcamel.com/
Proovida ei viitsinud, kindlasti leiab sarnaseid veel.

_________________
---------------
Kommentaarid: 53 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 51
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  Price checker
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.