API beschikbaar voor het doorzoeken van pricewatch?

Pagina: 1
Acties:
  • 4.579 views

Acties:
  • +1 Henk 'm!

  • dieplz
  • Registratie: Augustus 2012
  • Laatst online: 20-05 23:37
Hallo,

Weet iemand of er een API beschikbaar is welke gebruikt kan worden voor het doorzoeken van pricewatch?

Ik maak namelijk gebruik van een tcl (eggdrop) script waarmee ik makkelijk via irc kan zoeken naar producten in pricewatch d.m.v. een simpel command.

Echter is de layout van de pricewatch een tijdje geleden aangepast en dit zal in de toekomst ook weer gebeuren, en omdat het huidige script scraped en geen gebruik maakt van een api is het irritant om "telkens" het script te moeten aanpassen.

Daarom vroeg ik mij af of er een API beschikbaar was...

-----------------------
edit; misschien niet het juiste plekje in het forum om dit te vragen, waarschijnlijk hoort dit thuis in Lieve devvers...

[ Voor 11% gewijzigd door dieplz op 09-10-2013 08:42 ]


Acties:
  • 0 Henk 'm!

  • Glaanie
  • Registratie: Juni 2002
  • Laatst online: 20:53

Glaanie

Medewerker Product Content

All your spec are belong to us

Ik zal de vraag intern doorspelen. Ivm vakanties kan het eventjes duren voor je antwoord krijgt :)

Acties:
  • +2 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:50

crisp

Devver

Pixelated

Nee, er is niet zoiets als een publieke API waarmee de pricewatch te doorzoeken is. Wat wellicht wel een alternatief is is de pricewatch quicksearch interface welke 5 resultaten in json teruggeeft: http://tweakers.net/xmlht...&keyword=asus&output=json

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • dieplz
  • Registratie: Augustus 2012
  • Laatst online: 20-05 23:37
Jammer dat er geen publieke API beschikbaar is.
Ik ga een beetje stoeien met json.

Thanks

Acties:
  • 0 Henk 'm!

  • xblaauw
  • Registratie: Juli 2011
  • Laatst online: 04-05 12:21
Weet iemand of dit nog werkt? Via een browser of via Python krijg ik niks namelijk :/

Mijn miniscript:

import requests
import json

search_query = 'Asus Radeon HD7870'.replace(' ', '+')
url = f'https://tweakers.net/xmlhttp/xmlHttp.php?application=pricewatchsearch&type=search&action=pricewatch&keyword={search_query}&output=json'
out = requests.get(url)
content = out.content

content is leeg.

Acties:
  • +1 Henk 'm!

  • URSUS
  • Registratie: Februari 2016
  • Laatst online: 11-06 10:54

URSUS

Onder-tiet-el HAHA

Het is danwel geen python.. en ook geen API... Maar wel wat je zoekt - als PSObject en daardoor ook als JSON - met PowerShell.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
$keyword = Read-Host -Prompt 'Enter search query'
function Invoke-PricewatchSearch {
    [cmdletbinding()]
    param(
        [Parameter(Mandatory, ValueFromPipeline)]
        [ValidateNotNullOrEmpty()]
        [string]
        $keyword
    )
    $session = New-Object Microsoft.PowerShell.Commands.WebRequestSession
    $session.UserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Safari/537.36 Edg/101.0.1210.32'    
    $raw = Invoke-WebRequest -UseBasicParsing -Uri "https://tweakers.net/pricewatch/zoeken/?keyword=$($keyword)" `
        -WebSession $session `
        -Headers @{
        'authority'                 = 'tweakers.net'
  'method'                    = 'GET'
  'path'                      = '/pricewatch/zoeken/?keyword=rtx+3080+ti+12g'
  'scheme'                    = 'https'
  'accept'                    = 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9'
  'accept-encoding'           = 'gzip, deflate, br'
  'accept-language'           = 'en-US,en;q=0.9'
  'referer'                   = 'https://tweakers.net/pricewatch'
  'sec-ch-ua'                 = "`" Not A;Brand`";v=`"99`", `"Chromium`";v=`"101`", `"Microsoft Edge`";v=`"101`""
  'sec-ch-ua-mobile'          = '?0'
  'sec-ch-ua-platform'        = "`"Windows`""
  'sec-fetch-dest'            = 'document'
  'sec-fetch-mode'            = 'navigate'
  'sec-fetch-site'            = 'same-origin'
  'sec-fetch-user'            = '?1'
  'upgrade-insecure-requests' = '1'
    }

    $raw.links | Where-Object { $_ -match 'thumb small' } | Select-Object title, href | Sort-Object title -Descending -Unique | Where-Object { $_ -match 'pricewatch' }
}
Invoke-PricewatchSearch -keyword $keyword


Er zijn zat manieren om bovenstaande te verfijnen, maar hiermee kan in ieder geval geknutseld worden door wie er dan ook nut in ziet. Denk ik. :+

[ Voor 36% gewijzigd door URSUS op 05-05-2022 01:10 ]


Acties:
  • +2 Henk 'm!

  • eLScha
  • Registratie: Juli 2005
  • Niet online
@URSUS als dat je eigen cookies zijn lijkt het me verstandig die even te verwijderen

Acties:
  • +1 Henk 'm!

  • URSUS
  • Registratie: Februari 2016
  • Laatst online: 11-06 10:54

URSUS

Onder-tiet-el HAHA

eLScha schreef op donderdag 5 mei 2022 @ 01:09:
@URSUS als dat je eigen cookies zijn lijkt het me verstandig die even te verwijderen
Gelukkig ben jij wel nog wakker.


Thanks voor je headsup haha

Acties:
  • +2 Henk 'm!

  • Crazyhead
  • Registratie: Juli 2014
  • Laatst online: 07-06 13:48
Als je via via het ID nummer op tweakers weet te vinden dan kan je de prijzen hier gemakkelijk opzoeken:

https://tweakers.net/ajax...t/1551362/nl/?output=json

Voorbeeld van:
uitvoering: LG UltraGear 34GN850-B Rood, Zwart

Acties:
  • 0 Henk 'm!

  • _Jules_
  • Registratie: Mei 2022
  • Laatst online: 24-06 09:24
iemand gemerkt dat deze niet meer werkt?

Acties:
  • 0 Henk 'm!

  • Glaanie
  • Registratie: Juni 2002
  • Laatst online: 20:53

Glaanie

Medewerker Product Content

All your spec are belong to us

@_Jules_ Gisteren heb ik jouw topic over hetzelfde onderwerp verplaatst naar Stoute Bugs: API pricewatch. @crisp heeft daar ook antwoord op gegeven dat er inderdaad dingen zijn aangepast, wellicht dat je zijn antwoord hebt gemist. Ik sluit dit topic, kunnen we in het eerder genoemde topic verder :)
Pagina: 1

Dit topic is gesloten.