+
    5h4                      |    ^ RI t ^ RIt^ RIt^ RIHt RtRtRtR t]	R8X  d   ] P                  ! ]! 4       4       R# R# )    N)async_playwright#https://www.properstar.nl/favoriteszextracted_property_urls.csvz	auth.jsonc                    "   \        R 4       \        4       ;_uu_4       GRj  xL
 p \        P                  P	                  \
        4      pV'       EdY   \        R4       V P                  P                  RR7      G Rj  xL
 pVP                  \
        R7      G Rj  xL
 pVP                  4       G Rj  xL
 p\        R4       VP                  \        RR7      G Rj  xL
  VP                  R	4      G Rj  xL
  \        P                  ! ^4      G Rj  xL
  VP                  R
4      G Rj  xL
 pV'       ge   \        R4       \        R4       \        R4       \        R4       \        R4       VP!                  4       G Rj  xL
  ^ RIpVP%                  ^4       \        R4       EM`\        R4       V P                  P                  RR7      G Rj  xL
 pVP                  4       G Rj  xL
 pVP                  4       G Rj  xL
 p\        R4       VP                  RRR7      G Rj  xL
  \        R4       \        R4       \        R4       Rp\'        ^<4       F  p\        P                  ! ^
4      G Rj  xL
   VP                  R
4      G Rj  xL
 pV'       d    \)        V4      ^ 8  d   Rp\        R4        M3T^,          ^ 8X  g   Kr  ^
T^,          ,
          p
\        RT
 R24       K  	  V'       g7   \        R4       VP!                  4       G Rj  xL
   RRR4      GRj  xL
  R# \        R4       \        P                  ! ^4      G Rj  xL
   VP                  RRR7      G Rj  xL
  \        R4       VP                  \        RR7      G Rj  xL
  VP                  R	4      G Rj  xL
  \        P                  ! ^4      G Rj  xL
  \        R4       VP-                  \
        R 7      G Rj  xL
  \        R!4       . p^p \        R"V R#24       VP/                  R$4      G Rj  xL
  VP                  R
4      G Rj  xL
 pV'       g   \        R%V 24       EMV EF  pVP1                  R&4      G Rj  xL
 pR'V9   d   K&  VP3                  R(4      G Rj  xL
 pV'       g   VP3                  R)4      G Rj  xL
 pV'       d9   VP1                  R*4      G Rj  xL
 pVP5                  R+4      '       d   R,V 2MTpMR-pVP3                  R.4      G Rj  xL
 pV'       d   VP7                  4       G Rj  xL
 MR-pVP9                  R/R-4      P;                  4       pVP3                  R04      G Rj  xL
 pV'       d   VP7                  4       G Rj  xL
 MR-pR-P=                  \?        \@        PB                  V4      4      pV'       g   EKl  VPE                  R1VR2VR3V/4       EK  	  VP3                  R44      G Rj  xL
 pV'       d\   VPG                  4       G Rj  xL
 '       d>   VPI                  4       G Rj  xL
  V^,          pVP                  R	4      G Rj  xL
  EK`   V'       Edf   ^ RI%p^ R5I&H'p V! R64      p\Q        4       pVP	                  4       '       d[    \S        VR7R8R97      ;_uu_ 4       p\Q        VPU                  V4      4      pRRR4       V'       d   \        R:\)        V4       R;24       \)        V4      pV U u. uF  q PW                  R14      V9  g   K  V NK  	  pp V\)        V4      ,
          pV^ 8  d   \        R=V R>24       \S        \X        R?R-R8R@7      ;_uu_ 4       p\Z        P\                  ! V. REORA7      pVP_                  4        VPa                  V4       RRR4       \        RB\)        V4       RC\X         24       M\        RD4       VP!                  4       G Rj  xL
  RRR4      GRj  xL
  R#  EL EL EL~ ELi ELB EL, EL EL EL ELY ELD EL/ EL EL EL  \*         d   p	 Rp	?	ELRp	?	ii ; i EL@ EL2 EL
 EL  \*         d$    \        P                  ! ^
4      G Rj  xL 
   ELi ; i EL EL EL EL ELo ELY EL% EL EL EL EL ELv EL> EL! EL EL EL ELb  + '       g   i     EL; i  \*         d   p	\        R<T	 24        Rp	?	ELRp	?	ii ; iu up i   + '       g   i     EL^; i EL$ EL  + GRj  xL 
 '       g   i     R# ; i5i)Fu/   🚀 Stap 1: Scrapen van favorieten starten...
Nu2   ✅ auth.json gevonden - gebruik opgeslagen sessieT)headless)storage_stateu&   🌐 Navigeer naar favorietenpagina...i`  )timeoutloadz article.item-adaptive.card-basicu.   ❌ SESSIE VERLOPEN - handmatige login vereistu   💡 Acties:z'   1. Verwijder auth.json: rm auth.jsonz8   2. Of gebruik: python3 validate_session.py invalidatez'   3. Run opnieuw voor handmatige loginu"   ✅ Ingelogd via opgeslagen sessieu:   ⚠️  Geen auth.json gevonden - handmatige login vereistFu)   🌐 Bezoek loginpagina van Properstar...r   uA   ⏳ Wacht op handmatige inlog. Log nu in in het geopende venster.u)   ⏳ Je hebt 10 minuten om in te loggen...u1   ⏳ Het venster blijft open tot je ingelogd bent!u   ✅ Login gedetecteerd!u   ⏳ Nog z1 minuten om in te loggen... (venster blijft open)u#   ❌ Login timeout - probeer opnieuwu-   ⏳ Wacht tot netwerkactiviteit stabiel is...networkidleu   ⏳ Navigeer naar favorieten...u   ⏳ Sessie opslaan...)pathu1   ✅ auth.json opgeslagen voor toekomstig gebruik
u   📄 Pagina z	 laden...i  u(   ⛔️ Geen listings gevonden op pagina classarchivedza[href*='/listing/']za[href*='/property-for-sale']href/zhttps://www.properstar.nl zdiv.item-locationzHet juiste adres aanvragenzspan[itemprop='price']URLLocatiePrijsza[aria-label='Next page'])Pathzremoved_properties.jsonrzutf-8)encodingu   
🚫 Loaded z manually removed URLsu0   ⚠️  Could not load removed_properties.json: u   🗑️  Filtered out z manually removed propertiesw)newliner   )
fieldnamesu   
💾 z$ unieke vastgoedlinks opgeslagen in u)   ⚠️ Geen data gevonden om op te slaan.)r   r   r   )1printr   osr   exists	AUTH_JSONchromiumlaunchnew_contextnew_pagegotoFAVORITES_URLwait_for_load_stateasynciosleepquery_selector_allclosesysexitrangelen	Exceptionr   wait_for_timeoutget_attributequery_selector
startswith
inner_textreplacestripjoinfilterstrisdigitappend
is_enabledclickjsonpathlibr   setopenr	   get
OUTPUT_CSVcsv
DictWriterwriteheader	writerows) pauth_existsbrowsercontextpagelistingsr)   	logged_inieminutes_leftproperty_datapage_numberlisting
class_attrurl_elementurllocation_elementlocationprice_element
price_textprice_numbernext_buttonr<   r   removed_filemanually_removed_urlsforiginal_countfiltered_countcsvfilewriters                                    Z/Users/jonathan/SynologyDrive/Since Today/PROJECTEN/farmmatch/scraper/favorites_scraper.pyscrape_favoritesrd   
   s    	
<=!!!QggnnY/;FGJJ--t-<<G#//i/HHG ))++D :;))M5)999**6222 --"""!445WXXHFGn%?@PQ?@mmo%%67 NOJJ--u-==G#//11G ))++D =>))A5)QQQUV=>EF I2YmmB'''%)%<%<=_%``HCMA$5$(	78
 q5A:#%a=LH\N2cde   ;<mmo%%G "!!L AB--"""(..}e.LLL 34))M5)999**6222--""" )*''Y'777FGLY78''---!445WXXH@NO##*#8#8#AA
+ %,$:$:;Q$RR"(/(>(>?^(_"_K + 9 9& AAC?B~~c?R?R5cU;X[CC)0)?)?@S)T#T BR!1!<!<!>>>XZ#++,H"MSSU&-&<&<=U&V VAN=#;#;#===TV
!wwvckk:'FG3!((s!8* 5 $B !% 3 34O PPK[%;%;%===!'')))q ..v666=$ 9:L$'E!""$$RlC'BBa03DIIaL0A- C,s3H/I.JJ`ab
 !/N(5c1uMb9bQQMc+c-.@@N!.~.>>Z[\j#rGDD<WX""$  / E GC.//ST^S_`a=>mmo] "!! =H+ :2 #X & >1+ R (`
 !  &E "N #L (mmB'''( :2" 8 .X B
 S"_ B
 $U> !W= Q=)6 CBB ! RLQCPQQR
 d EDD 	] "!!!s  "e`eAd(?` d(`d(5`6)d(`! d(8`$9d(`'d(/`*0d(<A
d(`-Ad(`0d(/`30d(`6%d(-`9.Ad(<`<
=d(a`?
a#a d(*d(=d(ad(!e,a-e3$d(a!d(a'3a$4a'8%d(bd(6b7d(b(d(=b!>7d(5b$6d(b'd(*d(b*
!d('b-
(d(4d(b0
	d(d()b3
*d(d(#b6
$d(0d(b9
:d(>b<
?d(d(b?
4d(0d(	c
d(d()c*	d(4d(c!d()c*d(;2d(.c"c	c"/c"d(d	2d	8Ad(=<d	9Ad(>d"?d(ed%ed(d(d(!d($d('d(*d(-d(0d(3d(6d(9d(<d(?aa	d(a	d(e!d($a''$bb
bd(bd(d(d(!d($d('d(*d(-d(0d(3d(6d(9d(<d(?d(d(d(d(d(c	c""d-d;d(dd(d
d(%e(e	.d1/
e	:e	<	e__main__)r%   rB   r   playwright.async_apir   r#   rA   r   rd   __name__run     rc   <module>rk      sF     
 	 15*
	qf zKK "# rj   