Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function Get-PRList {
- Param (
- [parameter(Mandatory=$true)]
- $product
- )
- $searchUrl = "https://www.pricerunner.dk/public/search/v2/dk?q=$($product)"
- $result = Invoke-RestMethod -Uri $searchUrl -Method Get
- $holdingList = New-Object -TypeName 'System.Collections.Generic.list[psobject]'
- [string[]]$visible = 'id','Navn','Brand','Pris','Rating','Ratings','Beskrivelse'
- $type = 'DefaultDisplayPropertySet'
- [Management.Automation.PSMemberInfo[]]$info = New-Object System.Management.Automation.PSPropertySet($type,$visible)
- foreach ($item in $result.products ) {
- $formattedUrl = ($item.url.Split('/')| where {-not [string]::IsNullOrEmpty($_)} | select -First 2) -join '/'
- $apiOfferUrl = "https://www.pricerunner.dk/public/productlistings/$formattedUrl/dk?offer_sort=price"
- $p = [ordered]@{
- Navn = $item.name
- Brand = $item.brand.name
- Pris = [int]::parse($item.lowestPrice.amount.split('.')[0])
- Rating = $item.rating.averageRating
- Ratings = $item.rating.count
- Beskrivelse = $item.description
- OfferUrl = "https://pricerunner.dk" + $item.url
- ApiofferUrl = $apiOfferUrl
- }
- $obj = New-Object -TypeName PsObject -Property $p
- $holdingList.Add($obj)
- }
- $i = 0
- $returnList = $holdingList |
- Sort-Object Pris
- $returnList |
- ForEach-Object {
- $_ | Add-Member -MemberType NoteProperty -Name id -Value $i
- $_ | Add-Member -MemberType MemberSet -Name PSStandardMembers -Value $info
- $i++
- }
- return $returnList
- }
- function Open-PRItem {
- [cmdletbinding()]
- Param(
- [parameter(
- Mandatory=$true,
- ValueFromPipeline=$true
- )]
- $PRobject
- )
- start-process $PRobject.offerurl
- }
- # Eksempel på brug af de 2 funktioner
- #Lave search på pricerunner og læg det ned i en liste
- $r = Get-PRList -product 'bosh vaskemaskine'; $r | ft
- # OUTPUT som tabel
- id Navn Brand Pris Rating Ratings Beskrivelse
- -- ---- ----- ---- ------ ------- -----------
- 0 Bosch WAN282P8SN 2000 4.2 25 Frontbetjent vaskemaskiner, A+++, Standardbredde 60 cm, Vaskekapacitet 8 kg
- 1 Bosch WAJ240L8SN 2199 0 0 Frontbetjent vaskemaskiner, A+++, Standardbredde 60 cm, Vaskekapacitet 8 kg
- 2 Bosch WAJ240L7SN 2499 0 0 Frontbetjent vaskemaskiner, A+++, Standardbredde 60 cm, Vaskekapacitet 7 kg
- 3 Bosch WAB24166SN 2594 4.3 159 Frontbetjent vaskemaskiner, A+++, Standardbredde 60 cm, Vaskekapacitet 6 kg
- 4 Bosch WAT2849PSN 2666 4.4 74 Frontbetjent vaskemaskiner, A+++, Standardbredde 60 cm, Vaskekapacitet 9 kg
- 5 Bosch WAT283T8SN 2999 4.2 15 Frontbetjente vaskemaskiner, A+++, Standardbredde 60 cm, Vaskekapacitet 8.0 kg
- 6 Bosch WAN280L2SN 2999 0 0 Frontbetjent vaskemaskiner, A++, Standardbredde 60 cm, Vaskekapacitet 7 kg
- # Gå til PR side
- # Efter man har en lite af objekter kan man pipe dem videre til nr 2 funktion, som default browser til den pricerunner side hvor man kan se hvilke forhandlere der har produktet. Man bruger id fra output til at refere til det produkt man er interesset i
- $r[6] | Open-PRItem
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement