Ë
    G«£jU6  ã                   óü  — d Z ddlZddlZddlZddlZddlZddlZddl	Z		 ddl
mZ ej                  j                  dd«      Zej                  j                  dd«      ZdZd	d
ddœZdZdZdZdZdZdZdZdZ ej6                  d ej8                   ej                  «       edz  z
  «      «      ZdZ eej@                  «      D ]k  \  Z!Z"e"jG                  d«      r	  e$e"jK                  dd«      d   «      ZŒ4e"dk(  sŒ:e!dz    e'ej@                  «      k  sŒS	  e$ej@                  e!dz      «      ZŒm edk\  rendZ(d„ Z)d"d„Z*d„ Z+d„ Z,d„ Z-d „ Z.e/d!k(  r e,«        yy# e$ r dZY �Œ>w xY w# e&$ r Y Œ­w xY w# e&$ r Y Œ¸w xY w)#u¦  
crawl_huaian_gsgg.py - æ·®å®‰å¸‚äººæ°‘æ”¿åºœ-å…¬å‘Šå…¬ç¤º
http://www.huaian.gov.cn/col/16653_544327/index.html
CMS: HanWeb/TRS æ··å�ˆé�™æ€�, åˆ—è¡¨ div.lb-lb > ul > li > div.lb-time + a[title]
è¯¦æƒ…: /col/16653_544327/art/{n1}/{n2}{alnum}.html, æ ‡é¢˜ div.nr-bt, æ—¥æœŸ å�‘å¸ƒæ—¥æœŸï¼š, æ­£æ–‡ div.nr-wz3
åˆ†é¡µ: index.html / index_{2..N}.html
è¯¦æƒ…: æ ‡é¢˜ <title>åŽ»å�Žç¼€, æ—¥æœŸ article-info, æ­£æ–‡ div.TRS_Editor
é    N)ÚBeautifulSoupÚDB_PATHz/mnt/data/search.dbÚ
JSONL_PATHÚ úutf-8zkMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0 Safari/537.36z?text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8zzh-CN,zh;q=0.9)z
User-AgentÚAcceptzAccept-Languageu   æ·®å®‰å¸‚-å…¬å‘Šå…¬ç¤ºu   æ±Ÿè‹�zcrawl_huaian_gsgg.pyu   å…¬ç¤ºå…¬å‘Šzhttp://www.huaian.gov.cnz4http://www.huaian.gov.cn/col/16653_544327/index.htmlz8http://www.huaian.gov.cn/col/16653_544327/index_{n}.htmliG  z%Y-%m-%di€Q é   z--pages=ú=z--pagesc                 ó2  — | syt        j                  | «      } | j                  dd«      j                  dd«      j                  dd«      j                  dd«      } t        j                  dd| «      } t        j                  dd| «      } | j                  «       S )	Nr   u   â€‹u   â€Œu   â€�u   ï»¿u3   ^\s*(?:&middot;|Â·|\u00b7)?\s*(?:&nbsp;|\u00a0)?\s*ú\s+ú )Úhtml_libÚunescapeÚreplaceÚreÚsubÚstrip)Úts    úcrawl_huaian_gsgg.pyÚclean_titler   8   s‚   € ÙØÜ×Ñ˜!Ó€AØ	�	‰	�(˜BÓ×'Ñ'¨°"Ó5×=Ñ=¸hÈÓK×SÑSÐT\Ð^`Óa€AÜ
�‰ÐEÀrÈ1ÓM€AÜ
�‰ˆv�s˜AÓ€AØ�7‰7‹9Ðó    c                 óæ  — t        t        «      }|r||d<   d }t        d«      D ]‘  }	 dd l}dd l}|j                  |j                  j                  «       |j                  | ||d¬«      }|j                  dk(  rt        |_        |j                  c S d|j                  z  }t        j                   d	«       Œ“ t#        d
| d d ›d|›�d¬«       y # t        $ r}	t        |	«      d d }Y d }	~	ŒJd }	~	ww xY w)NÚRefereré   r   F)ÚheadersÚtimeoutÚverifyéÈ   zHTTP %séP   é   z  [fetch fail] éZ   z -> T©Úflush)ÚdictÚHEADERSÚrangeÚrequestsÚurllib3Údisable_warningsÚ
exceptionsÚInsecureRequestWarningÚgetÚstatus_codeÚENCÚencodingÚtextÚ	ExceptionÚstrÚtimeÚsleepÚprint)
ÚurlÚrefererr   ÚhÚlast_errÚ_r'   r(   ÚrÚes
             r   Úfetchr=   B   sÙ   € ÜŒW‹€AÙØˆˆ)‰Ø€HÜ�1‹Xò ˆð		#ß$Ø×$Ñ$ W×%7Ñ%7×%NÑ%NÔOØ—‘˜S¨!°WÀU�ÓKˆAØ�}‰} Ò#Ü �”
Ø—v‘v’Ø  1§=¡=Ñ0ˆHô 	�
‰
�1�ðõ 
 s¨3¨B¢x±Ð
:À$ÕGØøô	 ò 	#Ü˜1“v˜c˜r�{�Hûð	#ús   ¨A'CÂCÃ	C0ÃC+Ã+C0c                 ó”  ‡‡‡‡ — | sddg fS t        j                  dd| t         j                  ¬«      } t        j                  dd| t         j                  ¬«      } t        j                  dd| t         j                  t         j                  z  ¬«      } t        j                  dd| t         j                  t         j                  z  ¬«      } g Ši Št        j                  dd| «      } t        j                  d	d| «      } t        �r’	 t	        | d
«      }|j                  dd¬«      D �]>  }|j                  d«      sG|j                  d«      s6t        j                  d|j                  dd«      t         j                  «      sŒ\|d   }|j                  d«      xs |}|j                  d¬«      xsW |j                  d«      xsD |j                  d«      xs1 t        j                  j                  |j                  d«      d   «      }t        j                  j                  ‰|«      }‰j!                  ||f«       dt#        ‰«      z  }d|›d|›d�‰|<   |j%                  |«       �ŒA |j                  d«      D �]  }	|	j                  d«      }
|
sŒ|	j                  d¬«      rŒ+g }|
D ]˜  }|j                  d«      xs |j                  d«      xs d}|sŒ.t        j                  j                  ‰|«      }|j!                  d|›dt        j                  j                  |j                  d«      d   «      xs d›d�«       Œš |sŒÍdt#        ‰«      z  }d d!j'                  |«      z   d"z   ‰|<   |	j%                  |«       �Œ |j                  d«      D ]÷  }|j                  d«      xs |j                  d«      xs d}|rd#|j)                  «       v rŒ@t        j                  j                  ‰|«      }|j                  d$«      xs |j                  d«      xs dj+                  «       xs5 t        j                  j                  |j                  d«      d   «      xs d}dt#        ‰«      z  }d%|›d|›d&�‰|<   |j%                  |«       Œù t-        |«      } ˆˆˆfd'„}t        j                  d(|| t         j                  t         j                  z  ¬«      } t        rQ	 t	        | d
«      }|j                  d«      D ]%  }d)D ]  }|j0                  j3                  |d «       Œ  Œ' t-        |«      } g Š ˆ fd*„}t        j                  d+| t         j                  «      rd,nd}t        j                  d-|| t         j                  t         j                  z  ¬«      } t        j                  d"d.| t         j                  ¬«      } t        j                  d/d0| t         j                  ¬«      } t        j                  d1d| t         j                  ¬«      } g }| j                  d2«      D �]V  }|j+                  «       }|sŒt        j                  d3d|«      }t        j                  d4d|«      }|j5                  d5d«      j5                  d6d7«      }t        j                  d8d7|«      }t        j                  d9d|«      }t7        j8                  |«      }|j5                  d:d7«      j5                  d;d7«      }t        j                  d<d|«      }|sŒæ‰j;                  «       D ]  \  }}|j5                  ||«      }Œ t=        ‰ «      D ]  \  }}|j5                  d=|z  |«      }Œ |j!                  |j+                  «       «       �ŒY d2j'                  |«      }‰j;                  «       D ]  \  }}|j5                  ||«      }Œ t=        ‰ «      D ]  \  }}|j5                  d=|z  |«      }Œ t        j                  d>d|«      }t        j                  d?d|«      }t        j                  d@d|«      }t        j                  dAd|«      }t7        j8                  |«      }t        j                  dBd0|«      }t        j                  dCd2|«      }t        j                  d8d7|«      }t?        «       }g }|j                  d2«      D ]X  }	t        j                  dDdt        j                  d9d|	«      «      }|sŒ2||v rŒ7|jA                  |«       |j!                  |	«       ŒZ d2j'                  |«      j+                  «       }||‰fS # t.        $ r Y �Œ¡w xY w# t.        $ r Y �Œw xY w)ENr   r   z
<!--.*?-->)Úflagsz<meta[^>]*>z<script[^>]*>.*?</script>z<style[^>]*>.*?</style>u   ã€�å­—å�·ï¼š[^ã€‘]*ã€‘u'   å�‘å¸ƒ(?:æ—¶é—´|æ—¥æœŸ)[:ï¼š][^<]{0,30}úhtml.parserÚaT)ÚhrefÚappendixzdata-appendixz\.(pdf|docx?|xlsx?|zip|rar|wps)rB   Úoldsrc©r   Ú_titleÚtitleú?z__ATTACH__%d__ú	<a href="ú" target="_blank">ú</a>ÚpÚimgÚsrcu   å›¾ç‰‡z__IMG__%d__z<p>z<br/>z</p>zfileTypeImages/icon_Úaltz<p><a href="z</a></p>c                 ó6  •— | j                  d«      }|j                  d«      ry| j                  d«      }t        j                  dd|«      }t	        j
                  |«      j                  «       }t        j                  dd|«      j                  «       }|s5t        j                  j                  |j                  d«      d   «      xs d	}t        j                  j                  ‰|«      }‰j                  ||f«       d
t        ‰«      z  }d|›d|›d�‰|<   |S )Nr	   zjavascript:r   r    ú<[^>]+>u   ^é™„ä»¶[:ï¼š]\s*rH   r   u   é™„ä»¶z__LINK__%d__rI   rJ   rK   )ÚgroupÚ
startswithr   r   r   r   r   ÚosÚpathÚbasenameÚsplitÚurllibÚparseÚurljoinÚappendÚlen)	ÚmrB   ÚinnerÚtxtÚabs_urlÚkeyÚattachmentsÚlink_protectÚpage_urls	         €€€r   Ú
_link_replz html_to_text.<locals>._link_replŒ   sç   ø€ Ø�w‰w�q‹zˆØ�?‰?˜=Ô)ØØ—‘˜“
ˆÜ�f‰f�Z  UÓ+ˆÜ×Ñ Ó$×*Ñ*Ó,ˆÜ�f‰fÐ(¨"¨cÓ2×8Ñ8Ó:ˆÙÜ—'‘'×"Ñ" 4§:¡:¨c£?°1Ñ#5Ó6ÒB¸(ˆCÜ—,‘,×&Ñ& x°Ó6ˆØ×Ñ˜G S˜>Ô*Øœs <Ó0Ñ0‰ÚELÊcÐRˆ�SÑØˆ
r   z&<a\s[^>]*href="([^"]+)"[^>]*>(.*?)</a>)ÚstyleÚclassÚlangÚdirÚalignÚvalignÚwidthÚheightÚborderÚcellpaddingÚcellspacingc                 óf   •— ‰j                  | j                  d«      «       dt        ‰«      dz
  z  S )Nr   ú__TBL__%d__r	   )r[   rR   r\   )r]   Útable_protects    €r   Ú	_tbl_replzhtml_to_text.<locals>._tbl_repl¨   s.   ø€ Ø×Ñ˜QŸW™W Q›ZÔ(Ø¤ MÓ 2°QÑ 6Ñ7Ð7r   z<table[^>]*>r	   z<table[^>]*>.*?</table>z</p>

z	<br\s*/?>ú
z(</?(?:span|font|o:p|st1?:[a-z]+)\b[^>]*>z

z(?<=>)\s*[\r\n\t]+\s*z\s*[\r\n\t]+\s*(?=<)úú	r   z	[ \t]{2,}rQ   õ   Â z&nbsp;z[\s\u200b\u200c\u200d\ufeff]+rr   z__LINK__\d+__z__TBL__\d+__z__IMG__\d+__z__ATTACH__\d+__z[ \t]+\nz\n{3,}r   )!r   r   ÚSÚIr   Úfind_allr,   ÚsearchÚget_textrT   rU   rV   rW   rX   rY   rZ   r[   r\   Úreplace_withÚjoinÚlowerr   r2   r1   ÚattrsÚpopr   r   r   ÚitemsÚ	enumerateÚsetÚadd)!Úcontentrd   Ú_souprA   rB   Ú	real_hrefr_   r`   ra   rL   ÚimgsÚsrcsrM   rN   re   ÚtagÚattrrt   Ú	has_tableÚpartsÚblockÚbÚplainÚkÚvÚiÚtblÚoutÚseenÚfinalrb   rc   rs   s!    `                            @@@r   Úhtml_to_textrš   W   s2  û€ ÙØ�1�bˆyÐÜ�f‰f�] B¨´r·t±tÔ<€GÜ�f‰f�^ R¨¼¿¹Ô=€GÜ�f‰fÐ1°2°wÄbÇdÁdÌRÏTÉTÁkÔR€GÜ�f‰fÐ/°°WÄBÇDÁDÌ2Ï4É4ÁKÔP€Gà€KØ€Lä�f‰fÐ.°°GÓ<€GÜ�f‰fÐ?ÀÀWÓM€Gæð$	Ü! '¨=Ó9ˆEØ—^‘^ C¨d�^Ó3ó 	(�Ø—5‘5˜Ô$¨¯©¨oÔ(>Ä"Ç)Á)ÐLnÐpq×puÑpuÐv|ð  Aó  qBô  DF÷  DHñ  DHõ  CIØ˜V™9�DØ !§¡ h£Ò 7°4�IØŸ*™*¨4˜*Ó0ò  C°A·E±E¸(³Oò  CÀqÇuÁuÈWÃ~ò  CÔY[×Y`ÑY`×YiÑYiÐjs×jyÑjyÐz}Ój~ð  @Añ  kBó  ZC�CÜ$Ÿl™l×2Ñ2°8¸YÓG�GØ×&Ñ&¨° ~Ô6Ø*¬S°Ó->Ñ>‘CÚQXÒZ]Ð(^�L Ñ%Ø—N‘N 3Ö'ð	(ð —^‘^ CÓ(ó ,�Ø—z‘z %Ó(�Ú §
¡
° 
Õ 6Ø�DØ#ò L˜Ø!Ÿg™g e›nÒG°·±¸Ó0AÒGÀR˜ÚÜ&,§l¡l×&:Ñ&:¸8ÀSÓ&I˜GØ ŸKšKÒQXÔZ\×ZaÑZa×ZjÑZjÐkn×ktÑktÐuxÓkyÐz{Ñk|ÓZ}ò  [Jð  BJñ  [Jð  )Kõ  Lð	Lò
 Ø+¬c°,Ó.?Ñ?˜Ø,1°G·L±LÀÓ4FÑ,FÈÑ,O˜ SÑ)ØŸ™ sÖ+ð,ð —~‘~ eÓ,ò &�Ø—g‘g˜e“nÒ?¨¯©°Ó(9Ò?¸R�ÙÐ4¸¿	¹	»ÑCØÜ Ÿ,™,×.Ñ.¨x¸Ó=�Ø—w‘w˜u“~Ò?¨¯©°Ó)9Ò?¸R×FÑFÓHÒ{ÌBÏGÉG×L\ÑL\Ð]`×]fÑ]fÐgjÓ]kÐlmÑ]nÓLoÒ{Ðs{�Ø#¤c¨,Ó&7Ñ7‘ÚT[Ò]`Ð$a�˜SÑ!Ø× Ñ  Õ%ð&ô ˜%“jˆGöô �f‰fÐ>À
ÈGÔ[]×[_Ñ[_Ôbd×bfÑbfÑ[fÔg€Gåð	Ü! '¨=Ó9ˆEØ—~‘~ dÓ+ò .�ð Lò .�DØ—I‘I—M‘M $¨Õ-ñ.ð.ô ˜%“jˆGð €Mô8ô —Y‘Y˜°¼¿¹Ô>‘ÀA€IÜ�f‰fÐ/°¸GÌ2Ï4É4ÔRT×RVÑRVÉ;ÔW€Gä�f‰f�W˜j¨'¼¿¹Ô>€GÜ�f‰f�\ 4¨¼¿¹Ô=€GÜ�f‰fÐ@À"ÀgÔUW×UYÑUYÔZ€Gà€EØ—‘˜vÓ&ó  ˆØ�K‰K‹MˆÙØÜ�F‰FÐ+¨R°Ó3ˆÜ�F‰FÐ*¨B°Ó2ˆØ�I‰I�d˜BÓ×'Ñ'¨¨cÓ2ˆÜ�F‰F�<  aÓ(ˆÜ—‘�z 2 qÓ)ˆÜ×!Ñ! %Ó(ˆØ—‘˜f cÓ*×2Ñ2°8¸SÓAˆÜ—‘Ð7¸¸UÓCˆÙØØ ×&Ñ&Ó(ò 	 ‰DˆAˆqØ—	‘	˜!˜Q“‰Að	 ä Ó.ò 	2‰FˆAˆsØ—	‘	˜-¨!Ñ+¨SÓ1‰Að	2à�‰�Q—W‘W“YÖð% ð( �+‰+�eÓ
€CØ×"Ñ"Ó$ò  ‰ˆˆ1Ø�k‰k˜!˜QÓ‰ð ä˜MÓ*ò 2‰ˆˆ3Ø�k‰k˜-¨!Ñ+¨SÓ1‰ð2ô �&‰&Ð! 2 sÓ
+€CÜ
�&‰&� " cÓ
*€CÜ
�&‰&� " cÓ
*€CÜ
�&‰&Ð# R¨Ó
-€Cä
×
Ñ
˜CÓ
 €CÜ
�&‰&�˜d CÓ
(€CÜ
�&‰&�˜F CÓ
(€CÜ
�&‰&�˜s CÓ
(€Cä‹5€DØ€EØ�Y‰Y�vÓò ˆÜ�f‰f�V˜R¤§¡¨
°B¸Ó!:Ó;ˆÙØØ�$‰;ØØ�‰�ŒØ�‰�Q�ðð �+‰+�eÓ
×
"Ñ
"Ó
$€Cà�	˜;Ð&Ð&øôu ò 	Úð	ûô6 ò 	Úð	úsG   ÄA:d* Å?Dd* Êd* Ê!1d* ËA/d* ÍEd* ÓAd: ä*	d7ä6d7ä:	eåec                  ó  — dd l } t        j                  j                  dt        j                  j                  t        j                  j                  t        «      «      «       ddlm	} | j                  «       }|j                  j                  t        «       d}d}t        «       }g }g }t        dt         dz   «      D �]ÿ  }|dk(  rt"        }	nt$        j'                  dt)        |«      «      }	t+        |	«      }
|
st-        d|z  d¬«        �n´t/        |
«      }|st-        d|z  d¬«        �n”t-        d	|t1        |«      fz  d¬«       |D �][  \  }}}||v rŒ|j3                  |«       |r
|t4        k  rŒ*t+        |«      }|s|dz  }Œ=t7        ||«      \  }}}|s|}|s|}t9        ||«      \  }}}t1        t;        j<                  d
d|«      j?                  «       «      }|dk  rt-        d|d d z  d¬«       |dz  }Œ±t@        ||||d|tB        dtD        |rdjG                  d„ |D «       «      nddœ}tH        r/|jK                  |«       t-        d|d d ›d|›d�d¬«       |dz  }�Œ|jK                  |«       |dz  }t-        d|d d ›d|›d�d¬«       tM        jN                  d«       �Œ^ tM        jN                  d«       �Œ tH        rltQ        tH        dd¬«      5 }|D ]+  }|jS                  tU        jV                  |d¬«      dz   «       Œ- 	 d d d «       t-        dtH        t1        |«      fz  d¬«       n|r ||tX        ¬«       t-        d |z  d¬«       t-        d!|z  d¬«       t-        d"t@        z  d¬«       y # 1 sw Y   ŒnxY w)#Nr   )Úpush_to_searchdbr	   z{n}zPage %d: fetch fail, stopTr"   zPage %d: empty, stopzPage %d: found %d itemsrQ   r   é
   z  skip empty/placeholder: %sé(   z; c              3   ó0   K  — | ]  \  }}|›d |›�–— Œ y­w)ú|N© )Ú.0Úur   s      r   ú	<genexpr>zmain.<locals>.<genexpr>  s   è ø€ Ò(K¹d¸aÀ²A±qÔ)9Ñ(Kùs   ‚)Ú	site_nameÚ
source_urlr6   rG   Úpub_dateÚsummaryr‡   ÚcategoryÚtagsÚ
group_namerb   z
  JSONL + z (ú)z  + g      Ð?g      à?Úwr   )r/   F)Úensure_asciiru   zJSONL written: %s (%d rows))Úbatch_labelu
   æ–°å¢ž: %du
   è·³è¿‡: %dz=== %s done ===)-r'   ÚsysrU   ÚinsertrT   ÚdirnameÚabspathÚ__file__Úcrawler_librœ   ÚSessionr   Úupdater%   r…   r&   Ú_PAGESÚLIST_URLÚPAGE_URL_PATTERNr   r2   r=   r5   Ú
parse_listr\   r†   Ú_CUTOFF_DATEÚparse_detailrš   r   r   r   Ú	SITE_NAMEÚCATEGORYÚ
GROUP_NAMEr   r   r[   r3   r4   ÚopenÚwriteÚjsonÚdumpsÚSCRIPT_NAME)r'   rœ   ÚsÚ	new_countÚ
skip_countÚ	seen_urlsÚ
jsonl_rowsÚbatchÚpager6   Ú	html_textrƒ   r`   rG   ÚdateÚdhtmlÚdtitleÚddateÚcontent_htmlr‡   rŽ   ÚattsÚ	plain_lenÚitemÚfÚrows                             r   ÚmainrØ   æ   s5  € ÛÜ‡H�H‡O�O�A”r—w‘w—‘¤r§w¡w§¡´xÓ'@ÓAÔBÝ,Ø×ÑÓ€AØ‡I�I×Ñ”WÔà€IØ€JÜ“€IØ€JØ€Eä�aœ !™Ó$ó 3ˆØ�1Š9Ü‰Cä"×*Ñ*¨5´#°d³)Ó<ˆCÜ˜#“Jˆ	ÙÜÐ-°Ñ4¸DÕAÚÜ˜9Ó%ˆÙÜÐ(¨4Ñ/°tÕ<ÚÜÐ'¨4´°U³Ð*<Ñ<ÀDÕIØ$)ó $	Ñ ˆG�U˜DØ˜)Ñ#ØØ�M‰M˜'Ô"Ù˜œ|Ò+ØÜ˜'“NˆEÙØ˜a‘�
ØÜ*6°u¸gÓ*FÑ'ˆF�E˜<ÙØ�ÙØ�Ü'3°LÀ'Ó'JÑ$ˆG�Y ÜœBŸF™F :¨r°7Ó;×AÑAÓCÓDˆIØ˜2Š~ÜÐ4°v¸c¸r°{ÑBÈ$ÕOØ˜a‘�
Øä&°gÀgØ¨U¸rØ"´À"Ü(ÙOS˜tŸy™yÑ(KÀdÔ(KÔKÐY[ñˆDõ Ø×!Ñ! $Ô'Ý¨V°C°Rª[º%Ð@ÈÕMØ˜Q‘�	ÙØ�L‰L˜ÔØ˜‰NˆIÝ 6¨#¨2¢;²Ð6¸dÕCÜ�J‰J�tÖðI$	ôJ 	�
‰
�3Žðg3õj Ü”*˜c¨GÔ4ð 	D¸Ø!ò D�Ø—‘œŸ
™
 3°UÔ;¸dÑBÕCñD÷	Dô 	Ð+¬z¼3¸z»?Ð.KÑKÐSWÖXáÙ˜U´Õ<ä	ˆ,˜Ñ
"¨$Õ/Ü	ˆ,˜Ñ
#¨4Õ0Ü	Ð
œiÑ
'¨tÖ4÷	Dð 	Dús   Ë1M7Í7N c           
      óZ  — g }t        j                  d| t         j                  t         j                  z  «      D �]n  }t	        j
                  |j                  d«      «      j                  «       }t        t	        j
                  |j                  d«      «      «      }|s/t        t        j                  dd|j                  d«      «      «      }d}t        j                  d|j                  d«      «      }|rU|j                  d«      ›d	|j                  d«      j                  d«      ›d	|j                  d«      j                  d«      ›�}|j                  d
«      s$t        j                  j                  t         |«      }|s�ŒKt#        |«      dk\  s�Œ[|j%                  |||f«       �Œq |S )Nzg<a[^>]*href="([^"]*/col/16653_544327/art/\d+/\d+[A-Za-z0-9]+\.html)"[^>]*title="([^"]*)"[^>]*>(.*?)</a>r	   r    rQ   r   r   z(\d{4})-(\d{1,2})-(\d{1,2})r   ú-Úhttpé   )r   Úfinditerry   rz   r   r   rR   r   r   r   r|   ÚzfillrS   rX   rY   rZ   r¹   r\   r[   )rÍ   rƒ   r]   rB   rG   rÎ   Údms          r   r»   r»   6  sc  € Ø€Eä�[‰[ð  Dð  FOô  QS÷  QUñ  QUô  XZ÷  X\ñ  X\ñ  Q\ó  ]ó .ˆÜ× Ñ  §¡¨£Ó,×2Ñ2Ó4ˆÜœH×-Ñ-¨a¯g©g°a«jÓ9Ó:ˆÙÜ¤§¡ z°2°q·w±w¸q³zÓ BÓCˆEØˆÜ�Y‰YÐ5°q·w±w¸q³zÓBˆÙØ!#§¡¨!¥¨b¯h©h°q«k×.?Ñ.?ÀÕ.BÀBÇHÁHÈQÃK×DUÑDUÐVWÔDXÐYˆDØ�‰˜vÔ&Ü—<‘<×'Ñ'¬°$Ó7ˆDÛ”S˜“Z 1”_Ø�L‰L˜$  tÐ,Ö-ð.ð €Lr   c                 ó˜  — d}d}d}t         �r¹t        | d«      }|j                  d«      }|rt        |j                  d¬«      «      }|sX|j	                  ddt        j                  dt
        j                  «      i¬	«      }|r|j                  d
«      rt        |d
   «      }t        j                  d| «      }|rU|j                  d«      ›d|j                  d«      j                  d«      ›d|j                  d«      j                  d«      ›�}|smt        j                  d| «      }|rU|j                  d«      ›d|j                  d«      j                  d«      ›d|j                  d«      j                  d«      ›�}|j                  d«      }	|	s|j	                  d¬«      }	|	r"dj                  d„ |	j                  D «       «      }|||fS )Nr   r@   z	div.nr-btTrE   ÚmetaÚnameÚArticleTitle)r�   r‡   u0   å�‘å¸ƒæ—¥æœŸ[:ï¼š]\s*(\d{4})-(\d{1,2})-(\d{1,2})r	   rÚ   r    r   u'   (\d{4})[-å¹´/](\d{1,2})[-æœˆ/](\d{1,2})z
div.nr-wz3Úzoom)Úidc              3   ó2   K  — | ]  }t        |«      –— Œ y ­w)N)r2   )r¢   Úcs     r   r¤   zparse_detail.<locals>.<genexpr>a  s   è ø€ Ò"?¨a¤3 q§6Ñ"?ùs   ‚)r   Ú
select_oner   r}   Úfindr   Úcompilerz   r,   r|   rR   rÞ   r   Úcontents)
rÍ   rd   rG   rÎ   rÒ   ÚsoupÚbtÚmtrß   Úels
             r   r½   r½   I  sv  € Ø€EØ€DØ€LÞÜ˜Y¨Ó6ˆØ�_‰_˜[Ó)ˆÙÜ §¡°$ Ó 7Ó8ˆEÙØ—‘˜6¨&´"·*±*¸_ÌbÏdÉdÓ2SÐ)T�ÓUˆBÙ�b—f‘f˜YÔ'Ü# B y¡MÓ2�Ü�Y‰YÐJÈIÓVˆÙØ!#§¡¨!¥¨b¯h©h°q«k×.?Ñ.?ÀÕ.BÀBÇHÁHÈQÃK×DUÑDUÐVWÔDXÐYˆDÙÜ—‘ÐEÀyÓQˆBÙØ%'§X¡X¨a¥[°"·(±(¸1³+×2CÑ2CÀAÕ2FÈÏÉÐQRË×HYÑHYÐZ[ÔH\Ð]�Ø�_‰_˜\Ó*ˆÙØ—‘˜f�Ó%ˆBÙØŸ7™7Ñ"?°2·;±;Ô"?Ó?ˆLØ�$˜Ð$Ð$r   Ú__main__)Né   )0Ú__doc__r°   rT   r   r3   Úhtmlr   Úurllib.parserX   rÃ   Úbs4r   ÚImportErrorÚenvironr,   r   r   r.   r%   r¾   rÀ   rÅ   r¿   ÚBASE_URLr¹   rº   Ú_DAYS_CUTOFFÚstrftimeÚ	localtimer¼   Ú
_MAX_PAGESr„   Úargvr•   rA   rS   ÚintrW   Ú
ValueErrorr\   r¸   r   r=   rš   rØ   r»   r½   Ú__name__r¡   r   r   ú<module>r     sÂ  ðñ÷ 9× 8× 8Û ðÝ!ð �*‰*�.‰.˜Ð$9Ó
:€Ø�Z‰Z�^‰^˜L¨"Ó-€
Ø€ð @ØOØ'ñ€ð %€	Ø€
Ø$€Ø€Ø%€ØA€ØMÐ à€Øˆt�}‰}˜Z¨¨¯©¸	¸¿	¹	»ÀlÐUZÑFZÑ8ZÓ)[Ó\€à€
Ù�c—h‘hÓò 
�D€A€qØ‡|�|�JÔð	Ù˜QŸW™W S¨!›_¨QÑ/Ó0‰Jð 
ˆi‹˜A ™E¡C¨¯©£MÓ1ð	Ù˜SŸX™X a¨!¡e™_Ó-‰Jð
ð " Q’‰¨A€òóò*L'ò^M5ò`ò&%ð8 ˆzÒÙ…Fð øðk
 ò ØƒMðûð: ò 	Ùð	ûð
 ò 	Ùð	ús5    E ÃE(ÄE3ÅE%Å$E%Å(E0Å/E0Å3E;Å:E;