+
    8iS              
       :   R t ^ RIt^ RIt^ RItRtRR/t0 RmtR tR t	R R lt
]R8X  d   ]
! 4       t]! 4        ] F  t]R	,          '       d   ]R	,          R
 R2P                  R
R4      MRt]! R]R,           24       ]! R]P#                  RR4       R]P#                  RR4       R] 24       ]! R]R,           24       ]! 4        K  	  ]! RRRR7      ;_uu_ 4       t]P(                  ! ]]R^R7       RRR4       ]! R4       R# R#   + '       g   i     L; i)!u   
Riddermark Bil — Scraper standalone
Next.js avec __NEXT_DATA__ contenant carsJson.
Le listing /kopa-bil/ charge ~39 voitures à la fois (premier batch).
On filtre sur les marques premium cibles.
N&https://www.riddermarkbil.se/kopa-bil/z
User-AgentzBMozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36c                    \         P                  P                  \        \        R7      p \         P                  P                  V ^R7      P                  4       P                  R4      p\        P                  ! RV4      pV'       g   \        R4      h\        P                  ! VP                  ^4      4      pVR,          R,          R,          # )	z1Extrait carsJson depuis __NEXT_DATA__ du listing.)headers)timeoututf-8z3<script id="__NEXT_DATA__"[^>]*>([\s\S]*?)</script>u&   __NEXT_DATA__ non trouvé dans le HTMLprops	pagePropscarsJson)urllibrequestRequestLISTING_URLHEADERSurlopenreaddecoderesearchRuntimeErrorjsonloadsgroup)reqhtmlmnds       9/Users/nicolassansonetti/CarsSearch/riddermark_scraper.pyfetch_cars_jsonr      s    
..
 
 g
 
>C>>!!#r!2779@@ID
		H$OACDD	AGGAJ	Bg;{#J//    c                   V P                  RR4      pV P                  RR4      pV P                  RR4      pV P                  RV RV 24      pV P                  RR4      P                  4       pV'       d(   RVP                  4       P                  RR	4       R
V R
2MRpV P                  R. 4      pV'       d.   \        V^ ,          \        4      '       d   V^ ,          R,          MRpV'       g0   V P                  R4      '       d   V R,          P                  R4      p/ RVbRVbRVbRVbRV P                  R4      bRRbRV P                  R4      bRV P                  R4      bRVbRVbRRbRRbR V P                  R!4      bR"V P                  R#4      bR$V P                  R%4      bR&V P                  R4      bR'V P                  R(/ 4      P                  R)4      bR*V P                  R+R,4      /C# )-uE   Convertit un véhicule Riddermark en format standardisé AutoPremium.make modelmodelDescriptiontitle licenseplater   -/Nimagesurl
coverImagetitremarquemodeledescriptionprixpricedeviseSEKkmmileageannee	modelYearimagesourcezriddermark-bilpaysSE	carburantfuelTypeboitegearboxTypevin	vinNumberimmatriculationlieulocationnamevenduisSoldF)getlowerreplace
isinstancedict)	carr    r"   descr$   plater*   r)   r8   s	   &        r   	normalizerP   #   s6   7762DGGGR E77%r*DGGGvQug./EGGNB'--/E af24::<3G3GS3Q2RRSTYSZZ[
\koC WWXr"F &:fQi+F+FF1IeDESWW\**L!%%e,$ 	% 	t	
 	  	% 	cggi  	% 	s 	 	" 	 	SWWZ( 	' 	sww{#  	377>2!" 	
B'++F3#$ 	5)% r   c                <   \        4       p\        R\        V4       R24       . pV FZ  pVP                  R4      '       d   K  V '       d   VP                  R4      \        9  d   K@  VP                  \        V4      4       K\  	  \        R\        V4       24       V# )uF   Scrape et retourne la liste normalisée, filtrée sur marques premium.u     Riddermark Bil — u    véhicules dans __NEXT_DATA__rG   r    u&     Après filtre premium + non-vendu : )r   printlenrH   PREMIUM_BRANDSappendrP   )premium_onlyrawvehiclesrM   s   &   r   scraperY   K   s    

C	!#c(+I
JKH778CGGFO>A	#'  
23x=/
BCOr   __main__r0   ,z SEKr%   zN/Az  r,   z    r6   ?u    · r4   u    km · z	    URL: r*   zriddermark_results.jsonwr   )encodingF)ensure_asciiindentu*     Sauvegardé dans riddermark_results.json>
   BMWAudiLexusVolvoJaguarFerrariPorscheLamborghini
Land RoverMercedes-Benz)T)__doc__r   r   urllib.requestr
   r   r   rT   r   rP   rY   __name__rX   rR   vrJ   prix_strrH   openfdump r   r   <module>rt      s&    	 6]
^
0%P" zxH	G=>vYYai]$'//S9E1W:, QUU73'(QUU4_,=WXJOP	!E($%  
'w	?	?1		(AE!< 
@	68  
@	?s   D

D	