
    d%j/+                        d dl Z d dlZd dlZdZe de de de ddZdd	d
Zd Zd Z ej                  dej                        Z
 ej                  dej                        Zh dZ ej                  dej                        Z ej                  dej                        Zd Zd Zh dZh dZh dZd Zi ddddddddd d!d"d#d$d%d&d'd(d'd)d*d+d,d-d.d/d.d0d1d2d1d3d4d5d4d6d7d8d9d:d;d<d=Zi ddddddddd>d!d?d,d@d1dAd.d5d4dBd7dCddDd;d)d*dEd8dFdGdHdZdI ZdJ ZdKdLdMdNdOdPdQZi Zej7                         D  cg c]
  \  } }| e|f c}} ej7                         D  cg c]
  \  } }| e|f c}} z   D ]*  \  ZZZ ee      Z e e      Z!g Z" e#       Z$ e#       Z%d Z&eD ]b  Z' ee'      \  Z(Z)e(re&dRz  Z&e'dS   Z*e'dT   Z+e*e$v r%e+e%v r*e$jY                  e*       e%jY                  e+       e"j[                   ee'             d i Z.e"D ]   Z/e.ja                  e/dU   d       dRz   e.e/dU   <   "  e1e"dV W      ddX Z2ee   dY e e"      dZe"d[Z3 e4d\e d]d^      5 Z5 e jl                  e3e5d_dR`       ddd       e!e& e e"      e.e2D cg c]  }|da   |db   f c}dcee<   -  e7 e jp                  ed_dd`             yc c}} w c c}} w # 1 sw Y   [xY wc c}w )e    Nz/home/dev/.claude/projects/-opt-projects--dashboard-cinik-worktrees-tom-auto-populate/5c79ced8-8c91-47a0-a9c5-54e5c5f0ee15/tool-resultszB/mcp-claude_ai_Ahref-site-explorer-all-backlinks-1780853366112.txtzB/mcp-claude_ai_Ahref-site-explorer-all-backlinks-1780853366079.txtzB/mcp-claude_ai_Ahref-site-explorer-all-backlinks-1780853369017.txtzB/mcp-claude_ai_Ahref-site-explorer-all-backlinks-1780853371962.txt)dr-cinikdr-serkan-aygin	cosmedicavera-clinicz"/tmp/cinik-pull/clinicana-raw.jsonz/tmp/cinik-pull/smile-raw.json)	clinicanasmile-hair-clinicc                 z    t        j                  t        |             }t        j                  |d   d         d   S )Nr   text	backlinks)jsonloadopenloads)praws     /tmp/cinik-pull/build.pyload_wrappedr      s/    		$q'C4::c!fVn#=k#JJ    c                 D    t        j                  t        |             d   S )Nr   )r   r   r   )r   s    r   
load_plainr      s    99T!Wk**r   z+(seo|link|backlink|rank|authority|dofollow)zthere was a time last year>G   co.comd-h.stzdn.vnclan.supage.tlweb.appghost.ioluma.comparse.glwbez.org	diigo.com	figma.com	flokib.at	stadt1.de	synara.ar	vuink.com	xpr.media	yandex.az	yandex.md	yandex.ru	yandex.uz	yango.com
askmap.net
figma.site
flokii.com
plesk.page
yandex.comam-news.comdowjones.iofyple.co.ukglarity.appmints.ne.jpneuthema.detodosbiz.esusac.edu.gtyplocal.combrunch.co.krepubzone.orglonestar.eduopovo.com.brplace123.netsitelike.orgboardhost.comjoinrunway.iopastelink.netpublicwww.comsektor.gen.trsiteprice.orgsourcefed.comthefrisky.comyandex.com.trbizlistusa.combizratings.cominsightmag.comsafariclub.orgtechnofizi.netcitysquares.comconnectively.usminyanville.comfinishedtask.comleasefintech.comabc-directory.comfreelistingusa.comvideo-bookmark.comthesocietypages.orgmoneyfx.boardhost.comsitewideanalytics.comhairlinetransplantation.com2ch.orgmoviezone.czmarketminute.coma!  (Vera Clinic and Appsilon|Bio-Authenticity Premium|Becomes Official Global Partner|Official Partner of the Houston Rockets|Unveil Vector 10|Fixed-Price Hair Transplant Packages|Top 5 Hair Transplant Clinics in Turkey: Leading Providers|Cliniques de Greffe de Cheveux en Turquie . Guide Sp)z](hair transplant turkey|hair transplant istanbul|best hair transplant|hair transplant turkey)c                 J    | j                  d      s| j                  d      ryy)Nz.shopz.storeTF)endswith)doms    r   domain_is_pbn_shopra   3   s    
||GX 6r   c                    | j                  dd      xs d}| j                  dd      xs d}| j                  dd      xs d}| j                  dd      xs d}| j                  d      ryt        |      ry	t        j                  |      ry
|t        v ry|j                  d      s|j                  d      rd|d d v ryh d}t        j                  |      r||vryh d}||v ry|dk(  r&t        j                  d|t        j                        ry|dk(  rt        j                  |      ry|dk(  r,t        j                  d|      rt        j                  |      ryy)Nroot_name_source titletraffic_domainr   domain_rating_sourceis_ugc)Tugc)Tzpbn-shop)Tz
review-tpl)Tzjunk-domainzUser |zUser |   )Tzuser-profile-junk>
   ots.ateinnews.comipsnews.netissuewire.comnewsblaze.compresseportal.chpresseportal.denatlawreview.comglobenewswire.com24-7pressrelease.com)Tz	pr-mirror>   nona.mymorecore.defactually.copatient.infoaudioboom.comdarelhilal.comlifepositive.comlifecoachcode.comr[   sport.frgathered.howladbible.comr\   ctinsider.comyardbarker.comtastingtable.compastemagazine.com)Tzofftopic-incidentalz(newswatch|newsonline|newsnetwork|nouvelles|gazette|worldreport|industrytoday|bizsense|dailynews|daily-news|times-online|phenomena|pluralist|mmminimal|sausalito|fictiontalk|thedishh|small-biz|newscenter|travelindustry))Tznews-mirror)Tzguestpost-farmz\b(2026|2027)\b)FN)
getra   
REVIEW_TPLsearchJUNK_DOMAINS
startswithPR_MIRROR_TITLEreIGUESTPOST_TITLE)br`   re   tddrPR_ORIGINATORSOFFTOPIC_DOMAINSs          r   is_excludedr   8   s\   	 $*C
%%

!rEuua %ABuu#A&+!BuuXz#(9
l#5!U%5%5g%>3%PRQR)CS'BN e$N)BL 'A 
1u 9 ;>rttE "	1u''.7L	1u-u5/:P:PQV:W$r   >   ftnnews.comabnewswire.comprnewswire.combusinesswire.comfinancialcontent.comrl   rm   rn   ro   rp   rq   rr   r]   rs   rt   ru   >8   ga.deoe24.atindex.hr	iprima.cz
corkbeo.ie
epoznan.plcicloweb.itcultmtl.comgigwise.comradiortm.itvocal.media20minutes.frderwesten.degulfnews.comnyweekly.comscotsman.comtargatocn.itwestword.comles-docus.compaperblog.comvarsity.co.ukbuzzwebzine.frledauphine.comvanguardia.comviepratique.frvolksfreund.debarbedudaron.frintermediatv.roouest-france.frbaltimoresun.comemilyluxton.co.ukpodkarpacielive.plbusinessinsider.comlifeandstylemag.comoberberg-aktuell.deprimalamartesana.ittraveldailynews.comyorkshirepost.co.ukma-grande-taille.commuscleandfitness.comtheexeterdaily.co.ukobserver-reporter.comsunraysiadaily.com.autermometropolitico.itnewcastleherald.com.auyourhealthmagazine.netandaluciainformacion.esforschung-und-wissen.decopenhagenfashionsummit.comr~   r   r   r   r   r   r   >   bizzr.uk	myhair.aialopezie.dedrcinik.comqanomed.comtraya.healthblue-print.coverasmile.commeinhaushalt.atbestclinic.co.ukhashtagbeauty.deprovenexpert.comshapiromedical.comaslitarcanglobal.comsapphirehairclinic.comcharlesmedicalgroup.comc                     | j                  dd      xs d}| j                  dd      xs d}|t        v ry| j                  d      sd|v sd|v sd|v ry	|t        v ry
|t        v ryy)Nrc   rd   url_frompress_releaseis_sponsoredz/sponsored/z/paroles-de-partenaires/z/friday-partner/sponsored_articleadvertorialother
guest_post)r   
PR_DOMAINS
REAL_MEDIABRAND_PROFILE)r   r`   urls      r   classifyr   w   sv    	 $*C	j"C
juu^ 48RVY8Y]osv]v"
j
mGr   frFRdeDEitITesESczCZatATchCHzco.ukGBukroROzcom.brBRzne.jpJPjpkrKRzco.krzgen.trTRtrAZRUNLGTPLIDVN)azsunlgtplidvncsptkojaruarr  r	  svSEenc                 Z   | j                  dd      xs d}|j                  d      }dD ]*  }dj                  || d        }|t        v s!t        |   c S  |r|d   t        v rt        |d      S | j                  d      xs g }|r%t        j                  |d         }|r|S |d   dk(  ry	y )
Nrc   rd   .)      	languagesr   r  r   )r   splitjoinTLD_COUNTRYLANG_COUNTRY)r   r`   partsnsuflangscs          r   
country_ofr&     s    	 $*C
))C.E 7HHUA23Z +k#&667 rk)+eBi2H+H
%%

"E


58
$Qh8T>$r   c                    | j                  dd      xs d}| j                  dd      xs d}| j                  d      xs g }| d   | d   t        t        | j                  d      xs d            |dkD  r|n|t        |       |r|d   nd t	        |       t        | j                  d            | j                  d	      xs d
d d d
d
S )Ntrafficr   rf   r  r   rc   rg   is_dofollowfirst_seen_linkrd   
   )
r   domaindomain_ratingr(  countrylanguagecategoryr)  
first_seencomment)r   introundr&  r   bool)r   r(  r   r$  s       r   	transformr6     s    EE)A#!Guua %AB
%%

"E}&'U155)?#@#EAFG%ai7Ra= %E!H4QKAEE-01uu./52s; r   zemrahcinik.comzdrserkanaygin.comzcosmedica.comzveraclinic.netzclinicana.comzsmilehairclinic.com)r   r   r   r   r   r   r  r   rc   r0  c                     | d    S )Nr-   )xs    r   <lambda>r:     s    !O"4!4 r   )key   z2026-05)targetperiodtotal)metar   z/tmp/cinik-bl-z.jsonwF)ensure_asciiindentr,  r-  )r   excludedkeptcatstopr  )9r   r   osBASEFILES_WRAPPEDFILES_PLAINr   r   compiler   SPAM_TLD_TOKENSr   r   r   r   ra   r   r   r   r   r   r  r   r&  r6  TARGETSsummaryitemsslugloaderpathbllen	raw_countrE  set	seen_urlsseen_domainsexclr   exreasonr   r`   addappendrF  kr   sortedrG  outr   fdumpprintdumps)sr   ts   000r   <module>rh     s     OvWXf^_XY&Z[	 36
K+ 

I244P2::3RTT:
$ 

: <>44	A 

{}  ~B  ~B  C
&R.

@T$ tD d 4 T$ tD d SZ[_ $D!)$/6t<@FJ4PWX\d*.DdRV\`_d4 _T _$t _D _d4 _T _$t _TXY] _4_T_"&t_,0_6:4_@DT_JNt_TXY]_" %7J$3C$9N	P 	#0#6#6#89CAaaQ9!,!2!2!45#!Aa
156JD d|B"gI	DeI#%\	
D "a.	6tQwtjMq!343)X,cL,,S1IaL!" 
DBtxx*a'@'B4*&Bt45bq9C!$-3t9MZ^_C	tfE*3	/ 51		#aU!45"d#d)4DGHq1X;q'9:HJGDM1J6 jdjje15 65 :5(5 5 Is   K4K.KK+K(	