Ë
    3ìzj;  ã                   óH  — 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m	Z	 dZ
dZdZddd	d
dœZdZdZej                   j#                  ej                   j%                  ej                   j'                  e«      «      d«      ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdZedk(  r e«        yy)u�  
æž£åº„å›½å®¶é«˜æ–°æŠ€æœ¯äº§ä¸šå¼€å�‘åŒº -- ç”Ÿæ€�çŽ¯å¢ƒåˆ†å±€ -- å»ºè®¾é¡¹ç›®çŽ¯å¢ƒå½±å“�è¯„ä»·
åˆ—è¡¨: POST http://www.zzctp.gov.cn/irs/front/search (TRS æ”¿åŠ¡å…¬å¼€ IRS æ£€ç´¢ API)
      body: code=18e334699d2, dataTypeId=2857,
            filters=[{aggrName:f_2024327849703, aggrValues:å»ºè®¾é¡¹ç›®çŽ¯å¢ƒå½±å“�è¯„ä»·},
                     {aggrName:f_2024327355010, aggrValues:ç”Ÿæ€�çŽ¯å¢ƒåˆ†å±€}]
      pageNo/pageSize=20, orderBy=time
è¯¦æƒ…: meta ArticleTitle/PubDate + div.view.TRS_UEDITOR æ­£æ–‡ + div.attachment é™„ä»¶
æ ·æœ¬: http://www.zzctp.gov.cn/zwgk/xxgkml/sgdw/sthjfj/202608/t20260807_2314926.html
ç”¨æ³•: python3 crawl_zzctp_hpgs.py [--pages=N | N]
é    N)ÚBeautifulSoupu.   æž£åº„é«˜æ–°åŒº-å»ºè®¾é¡¹ç›®çŽ¯å¢ƒå½±å“�è¯„ä»·úhttp://www.zzctp.gov.cnz(http://www.zzctp.gov.cn/irs/front/searchzoMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36zBhttp://www.zzctp.gov.cn/list_6548.html?siteid=179&classinfoid=2627zapplication/jsonÚXMLHttpRequest)z
User-AgentÚRefererzContent-TypezX-Requested-Withé   z
2023-01-01zquality_results.dbz/root/search.dbc                 ó0  — ddl }|j                  t        «      }|j                  d«       |j	                  «       }|j                  d«       d}| D ]Î  }	 |j                  d|j                  dd«      |j                  dd«      |j                  d	d«      |j                  d
d«      |j                  dd«      |j                  dd«      |j                  dd«      |j                  dd«      |j                  dd«      |j                  dd«      f
«       ||j                  z  }ŒÐ |j                  «        |j                  «        t        d|› dt        | «      |z
  › �«       |S # t        $ r,}t        d|j                  d	d«      › d|› �«       Y d}~�Œ@d}~ww xY w)u[   å†™å…¥æœ¬åœ° quality_results.dbï¼ˆdomain éš”ç¦»ï¼‰ï¼Œä¾› sync_to_server å�Œæ­¥åˆ° search.dbr   NúPRAGMA busy_timeout=300000aî  CREATE TABLE IF NOT EXISTS crawl_results (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        site_id INTEGER DEFAULT 0,
        title TEXT, url TEXT, content TEXT,
        publish_date TEXT, summary TEXT,
        domain TEXT, category TEXT DEFAULT '',
        content_hash TEXT, crawl_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
        industry TEXT DEFAULT '', group_name TEXT DEFAULT '',
        script_name TEXT DEFAULT '', attachments TEXT DEFAULT '[]',
        UNIQUE(domain, url)
    )z¥INSERT OR IGNORE INTO crawl_results (domain, title, url, content, publish_date, summary, industry, group_name, script_name, attachments) VALUES (?,?,?,?,?,?,?,?,?,?)ÚdomainÚ ÚtitleÚurlÚcontentÚpub_dateÚsummaryÚindustryÚ
group_nameÚscript_nameÚattachmentsú[]z  [push] ERR ú: z[push_to_searchdb] new=z skip=)Úsqlite3ÚconnectÚ
QUALITY_DBÚexecuteÚcursorÚgetÚrowcountÚ	ExceptionÚprintÚcommitÚcloseÚlen)ÚrecordsÚbatch_labelr   ÚconnÚcurÚn_newÚrÚes           ú%/root/gov_crawler/crawl_zzctp_hpgs.pyÚpush_to_searchdbr+   &   ss  € ãØ�?‰?œ:Ó&€DØ‡L�LÐ-Ô.Ø
�+‰+‹-€CØ‡K�Kð 
	ô 

ð €EØò :ˆð
	:Ø�K‰Kð xØ—‘�x Ó$ a§e¡e¨G°RÓ&8¸!¿%¹%ÀÀrÓ:JØ—‘�y "Ó% q§u¡u¨Z¸Ó'<¸a¿e¹eÀIÈrÓ>RØ—‘�z 2Ó&¨¯©¨l¸BÓ(?Ø—‘�} bÓ)¨1¯5©5°ÀÓ+EðGôð �S—\‘\Ñ!‰Eð:ð 	‡K�K„MØ‡J�J„LÜ	Ð# E 7¨&´°W³¸eÑ1CÐ0DÐ
EÔFØ€Løô ò 	:Ü�M !§%¡%¨¨b£/Ð!2°"°Q°CÐ8×9Ò9ûð	:ús   ÁCE Å 	FÅ)!FÆFc                  ó´  — ddl } 	 | j                  t        «      }|j                  d«       |j                  dt        f«      j                  «       }|j                  «        |st        d«       y| j                  t        d¬«      }|j                  d	«       |j                  d«       dx}}	 |D ]Â  }|\	  }}	}
}}}}}}|j                  d
|	f«      }|j                  «       }	 |rF|j                  d||
xs ddd |xs d|xs ddd |xs d|xs d|xs d|xs d|d   f	«       |dz  }nH|j                  d||	|
xs ddd |xs d|xs ddd |xs d|xs d|xs d|xs dt        |	f«       |dz  }ŒÄ |j                  «        |j                  dt        f«       |j                  «        |j                  dt        f«      j                  «       d   }|j                  «        t        d|› d|› d|› d�«       y# t        $ r}t        d|› �«       Y d}~yd}~ww xY w# t        $ r}t        d|	› d|› �«       Y d}~�ŒŽd}~ww xY w# |j                  «        w xY w)un   æŠŠæœ¬åœ° quality_results.db è¯¥ domain çš„è®°å½•å�Œæ­¥åˆ° search.dbï¼ˆUPDATE-or-INSERT ä¿� id + FTS å¢žé‡�ï¼‰r   Nr	   z�SELECT title, url, content, publish_date, summary, industry, group_name, script_name, attachments FROM crawl_results WHERE domain=? ORDER BY idz[sync] local read ERR: u   [sync] æœ¬åœ°æ²¡æœ‰æ•°æ�®i,  )ÚtimeoutzPRAGMA journal_mode=WALz'SELECT id FROM gov_raw WHERE page_url=?zƒUPDATE gov_raw SET title=?, content=?, publish_date=?, summary=?, industry=?, group_name=?, script_name=?, attachments=? WHERE id=?r   i ¡ r   é   z«INSERT INTO gov_raw (title, page_url, content, publish_date, summary, industry, group_name, script_name, attachments, site_name, source_url) VALUES (?,?,?,?,?,?,?,?,?,?,?)z  [sync] ERR r   z±INSERT INTO gov_search(rowid,title,site_name,summary) SELECT r.id,r.title,r.site_name,r.summary FROM gov_raw r WHERE r.id NOT IN (SELECT rowid FROM gov_search) AND r.site_name=?z.SELECT COUNT(*) FROM gov_raw WHERE site_name=?z[sync] OK updated=z
 inserted=u    DBå…±u   æ�¡)r   r   r   r   ÚDOMAINÚfetchallr!   r   r   Ú	SEARCH_DBÚfetchoneÚ	SITE_NAMEr    )r   r%   Úrowsr)   ÚdstÚupdÚinsr(   r   r   r   r   r   ÚindÚgrpÚsnÚattr&   ÚrowÚtotals                       r*   Úsync_to_serverr>   J   s–  € ãð
Ø�‰œzÓ*ˆØ�‰Ð1Ô2Ø�|‰|ð ^ÜˆIó
÷ ‰(‹*ð 	ð 	�
‰
Œñ ÜÐ)Ô*Øà
�/‰/œ)¨Sˆ/Ó
1€CØ‡K�KÐ)Ô*Ø‡K�KÐ,Ô-Ø€M€Cˆ#ðØò 	2ˆAØHIÑEˆE�3˜ ¨7°C¸¸bÀ#Ø—+‘+ÐGÈ#ÈÓPˆCØ—,‘,“.ˆCð2ÙØ—K‘Kð ^Ø ¢¨B°°Ð 8¸(º.ÀbÈ7Ê=ÐVXÐZ^Ð[^ÐJ_Øš  C¢I¨2¨rªx°R¸ºÀÀcÈ!ÁfðNôOð ˜1‘H‘Cà—K‘Kð FØ  g¢m°°W°fÐ%=¸xº~È2ÐPWÒP]Ð[]Ð_cÐ`cÐOdØš  C¢I¨2¨rªx°R¸ºÀÄiÐQTðVôWð ˜1‘H�Cøð!	2ð& 	�
‰
Œà�‰ðQô ˆLô		ð
 	�
‰
ŒØ—‘ÐLÌyÈlÓ[×dÑdÓfÐghÑiˆà�	‰	ŒÜ	Ð˜s˜e :¨c¨U°&¸¸¸sÐ
CÕDøôU ò ÜÐ'¨ sÐ+Ô,Üûðûô: ò 2Ü˜ c U¨"¨Q¨CÐ0×1Ò1ûð2ûð 	�	‰	�úsP   †AG9 Â-4I Ã"BHÅ2A!I Ç9	HÈHÈHÈ	IÈ&H=È7I È=IÉI ÉIc                 ó¨   — t        j                  dd| «      } t        j                  dd| «      } t        j                  dd| «      j                  «       S )Nz$&middot;|&nbsp;|&#160;|\u200b|\ufeffr   u   ^[â€¢Â·]\s*z\s+ú )ÚreÚsubÚstrip)Úts    r*   Úclean_titlerE   ƒ   sC   € Ü
�‰Ð6¸¸AÓ>€AÜ
�‰ˆ~˜r 1Ó%€AÜ�6‰6�&˜#˜qÓ!×'Ñ'Ó)Ð)ó    c                 ó  — dddddddddddœdd	ddœgd
ddgd| t         ddœ}	 t        j                  t        t        t        j                  |d¬«      j                  d«      d¬«      }|j                  «        |j                  «       }|j                  d«      xs i }|j                  d«      xs i }|j                  d«      xs |j                  d«      xs i }|j                  d«      xs g }g }|D ]¼  }	|	j                  d«      dk7  rŒ|	j                  d«      xs i }
|
j                  d«      sŒ?|j                  t        t        j                  ddt        |
j                  dd«      «      «      «      |
j                  d«      xs dt        |
j                  d«      xs d«      d d dœ«       Œ¾ |j                  d«      xs d}|j                  d «      xs d!}|||fS # t        $ r }t!        d"| › d#|› �«       g dd!fcY d }~S d }~ww xY w)$Nr   Ú18e334699d2Ú2857Úf_2024327849703u   å»ºè®¾é¡¹ç›®çŽ¯å¢ƒå½±å“�è¯„ä»·Ú1)ÚaggrNameÚ
aggrValuesÚfilterIdÚf_2024327355010u   ç”Ÿæ€�çŽ¯å¢ƒåˆ†å±€ÚALLr   ÚtimeÚall)ÚappendixTypeÚbeginDateTimeÚcodeÚcodesÚ
configCodeÚ
dataTypeIdÚendDateTimeÚfiltersÚgranularityÚisSearchForcedÚhistorySearchWordsÚorderByÚpageNoÚpageSizeÚsearchByF©Úensure_asciiúutf-8é   )ÚheadersÚdatar-   rg   ÚmiddleÚpagerÚ
listAndBoxÚtypeÚDATAr   z</?em>r   é
   )r   r   r   r=   Ú	pageCountr.   z  [list] page ú ERR: )Ú	PAGE_SIZEÚrequestsÚpostÚ
SEARCH_URLÚHEADERSÚjsonÚdumpsÚencodeÚraise_for_statusr   ÚappendrE   rA   rB   Ústrr   r   )ÚpageÚbodyr(   Údrg   rh   ri   ÚlstÚitemsÚitÚddr=   Ú
page_countr)   s                 r*   Ú
fetch_listrƒ   ‰   sþ  € à¨R¸Ø 2°VÈBà*Ð:ZÐhkÑlØ*Ð:NÐ\_Ñ`ð
ð °Ø?Ð@Ø T´yÈeñ
€DðÜ�M‰Mœ*¬gÜ#Ÿz™z¨$¸UÔC×JÑJÈ7ÓSÐ]_ôaˆà	×ÑÔØ�F‰F‹HˆØ�u‰u�V‹}Ò" ˆØ—‘˜(Ó#Ò) rˆØ—‘˜Ó!Ò> V§Z¡Z°Ó%8Ò>¸BˆØ�j‰j˜Ó&Ò,¨"ˆØˆØò 
	ˆBØ�v‰v�f‹~ Ò'ØØ—‘˜“Ò% 2ˆBØ—6‘6˜'”?ØØ�L‰LÜ$¤R§V¡V¨I°r¼3¸r¿v¹vÀgÈrÓ?RÓ;SÓ%TÓUØ—v‘v˜e“}Ò*¨Ü §¡ v£Ò 4°"Ó5°c°rÐ:ñõ ð
	ð —	‘	˜'Ó"Ò' aˆØ—Y‘Y˜{Ó+Ò0¨qˆ
Ø�e˜ZÐ'Ð'øÜò Ü�˜t˜f F¨1¨#Ð.Ô/Ø�1�aˆx�ûðús   £F=G! Ç!	H
Ç*HÇ?H
ÈH
c                 óô  ‡— 	 t        j                  | t        d¬«      }|j                  «        d|_        t        |j                  d«      }d}|j                  d	d
di¬«      }|r|j                  d«      rt        |d   «      }|s,|j                  d«      }|rt        |j                  «       «      }|srt        j                  d|j                  t        j                  «      }|rA|j                  d«      j!                  «       }t        j"                  dd|«      }t        |«      }d}|j                  d	d
di¬«      }|r'|j                  d«      r|d   j!                  «       dd }|s3t        j                  d|j                  «      }|r|j                  d«      }|j%                  d«      xs$ |j%                  d«      xs |j%                  d«      }	|	€-|j'                  t        j(                  d«      ¬«      D ]  }
|
}	 n |	€|d|g dœS g }|	j+                  d«      }|j%                  d«      }|r–|j'                  dd¬«      D ]€  }|d    j!                  «       }t        j                  d!|t        j,                  «      sŒ<t        |j                  d¬"«      «      }|s|j/                  d#«      d$   }|j1                  ||d%œ«       Œ‚ |	j'                  dd¬«      D ]Ã  }|d    j!                  «       }t        j                  d!|t        j,                  «      sŒ<|j3                  d&«      r|nd'|j3                  d#«      r|nd#|z   z   Št        |j                  d¬"«      «      }|s|j/                  d#«      d$   }t5        ˆfd(„|D «       «      rŒ°|j1                  |‰d%œ«       ŒÅ t7        |	j9                  «       «      }|	j'                  dd¬«      D ]_  }|d    j!                  «       }t        j                  d!|t        j,                  «      sŒ<|j+                  d)«      }|sŒP|j;                  «        Œa t7        |	j9                  «       «      }t        j"                  d*d|t        j                  t        j,                  z  ¬+«      }t        j"                  d,d|t        j                  t        j,                  z  ¬+«      }|	j'                  dd¬«      D ]n  }|d    j!                  «       }t        j                  d!|t        j,                  «      sŒ<|j3                  d&«      r|nd'|j3                  d#«      r|nd#|z   z   Š‰|d <   Œp t7        |	j9                  «       «      }t        j"                  d-d.|«      }|	j'                  d/«      D ]G  }|j                  d0d«      }|sŒ|j3                  d&«      rŒ*d'|j3                  d#«      r|nd#|z   z   |d0<   ŒI t7        |	j9                  «       «      }t        j"                  d-d.|«      }t        j"                  d1d|«      }t        j"                  d2d|t        j                  ¬+«      }t        j"                  d3d|t        j                  ¬+«      }|r.dj=                  d4„ |D «       «      }|j?                  «       d5z   |z   }tA        t        j"                  d6d|«      j!                  «       «      }d7|v }|d8k  r|s	|s|d||dœS ||||dœS # t        $ r}t        d| › d|› �«       Y d}~yd}~ww xY w)9ur   æŠ“è¯¦æƒ…é¡µ: æ ‡é¢˜(meta ArticleTitle) + æ­£æ–‡(div.view TRS_UEDITOR ä¿�ç•™ <p>/<table>) + é™„ä»¶(div.attachment)re   )rf   r-   rd   zhtml.parserz  [detail] ro   Nr   ÚmetaÚnameÚArticleTitle)Úattrsr   Úh1z<title>(.*?)</title>r.   u+   ^æž£åº„å›½å®¶é«˜æ–°æŠ€æœ¯äº§ä¸šå¼€å�‘åŒº--?ÚPubDaterm   z(\d{4}-\d{2}-\d{2})zdiv.view.TRS_UEDITORzdiv.viewzdiv.TRS_UEDITORÚTRS_UEDITOR)Úclass_©r   r   r   r   Údivzdiv.attachmentÚaT)Úhrefr�   z)\.(pdf|doc|docx|xls|xlsx|zip|rar|wps|7z)$)rC   ú/éÿÿÿÿ)r†   r   Úhttpr   c              3   ó.   •K  — | ]  }|d    ‰k(  –— Œ y­w)r   N© )Ú.0ÚxÚabs_urls     €r*   ú	<genexpr>zparse_detail.<locals>.<genexpr>ö   s   øè ø€ Ò9¨q�q˜‘x 7Õ*Ñ9ùs   ƒÚpz<script[^>]*>.*?</script>)Úflagsz<style[^>]*>.*?</style>z<p[^>]*>z<p>ÚimgÚsrcz
<p>\s*</p>z\s*<div id="docAppendix".*$z\s*<div class="video".*$c              3   ó`   K  — | ]&  }d |d   › dt        j                  |d   «      › d�–— Œ( y­w)z<p><a href="r   z">r†   z</a></p>N)Úhtml_modÚescape)r–   r�   s     r*   r™   zparse_detail.<locals>.<genexpr>  s8   è ø€ ò [ØPQˆl˜1˜U™8˜* B¤x§¡°q¸±yÓ'AÐ&BÀ(ÔKñ[ùs   ‚,.ú
ú<[^>]+>z<imgé   )!rq   r   rt   rx   Úencodingr   Útextr   r   ÚfindrE   Úget_textrA   ÚsearchÚSÚgrouprC   rB   Ú
select_oneÚfind_allÚcompileÚfind_parentÚIÚsplitry   Ú
startswithÚanyrz   Údecode_contentsÚ	decomposeÚjoinÚrstripr"   )r   r(   Úsoupr)   r   ÚmÚhrD   r   Úbody_elÚelÚattsÚatt_divÚpage_attr�   r�   r†   Ú	body_htmlrš   rœ   r�   Úatt_htmlÚtext_lenÚhas_imgr˜   s                           @r*   Úparse_detailrÃ   ²   sF  ø€ ðÜ�L‰L˜¤g°rÔ:ˆØ	×ÑÔØˆŒ
Ü˜QŸV™V ]Ó3ˆð €EØ�	‰	�& ¨Ð 8ˆ	Ó9€AÙˆQ�U‰U�9ÔÜ˜A˜i™LÓ)ˆÙØ�I‰I�d‹OˆÙÜ §
¡
£Ó-ˆEÙÜ�I‰IÐ-¨q¯v©v´r·t±tÓ<ˆÙØ—‘˜“
× Ñ Ó"ˆAÜ—‘ÐEÀrÈ1ÓMˆAÜ “NˆEð €HØ�	‰	�& ¨Ð 3ˆ	Ó4€AÙˆQ�U‰U�9ÔØ�Y‘<×%Ñ%Ó'¨¨Ð,ˆÙÜ�I‰IÐ,¨a¯f©fÓ5ˆÙØ—w‘w˜q“zˆHð �o‰oÐ4Ó5Òz¸¿¹ÈÓ9TÒzÐX\×XgÑXgÐhyÓXz€GØ€à—-‘-¤r§z¡z°-Ó'@�-ÓAò 	ˆBØˆGÙð	ð €Ø¨2¸8ÐTVÑWÐWð €DØ×!Ñ! %Ó(€Gà�‰Ð/Ó0€HÙØ×"Ñ" 3¨TÐ"Ó2ò 	9ˆAØ�V‘9—?‘?Ó$ˆDÜ�y‰yÐEÀtÌRÏTÉTÕRÜ" 1§:¡:°D :Ó#9Ó:�ÙØŸ:™: c›?¨2Ñ.�DØ—‘ T°$Ñ7Õ8ð	9ð ×Ñ˜c¨ÐÓ-ò <ˆØ�‰y�‰Ó ˆÜ�9‰9ÐAÀ4ÌÏÉÕNØ"Ÿo™o¨fÔ5‘dÐ;TÐ`d×`oÑ`oÐpsÔ`tÑX\Ðz}ð  AEñ  {Eñ  <FˆGÜ˜qŸz™z°˜zÓ5Ó6ˆDÙØ—z‘z #“ rÑ*�ÜÓ9°DÔ9Õ9Ø—‘ T°'Ñ:Õ;ð<ô �G×+Ñ+Ó-Ó.€Ià×Ñ˜c¨ÐÓ-ò ˆØ�‰y�‰Ó ˆÜ�9‰9ÐAÀ4ÌÏÉÕNØ—‘˜cÓ"ˆAÚØ—‘•ðô �G×+Ñ+Ó-Ó.€Iä—‘Ð3°R¸Ì"Ï$É$ÔQS×QUÑQUÉ+ÔV€IÜ—‘Ð1°2°yÌÏÉÌrÏtÉtÉÔT€Ià×Ñ˜c¨ÐÓ-ò  ˆØ�‰y�‰Ó ˆÜ�9‰9ÐAÀ4ÌÏÉÕNØ"Ÿo™o¨fÔ5‘dÐ;TÐ`d×`oÑ`oÐpsÔ`tÑX\Ðz}ð  AEñ  {Eñ  <FˆGØˆAˆfŠIð	 ô
 �G×+Ñ+Ó-Ó.€Iä—‘�{ E¨9Ó5€Ià×Ñ Ó&ò aˆØ�g‰g�e˜RÓ ˆÚ�s—~‘~ fÕ-Ø2¸S¿^¹^ÈCÔ=P±cÐVYÐ\_ÑV_Ñ`ˆC�ŠJðaô �G×+Ñ+Ó-Ó.€IÜ—‘�{ E¨9Ó5€Iä—‘�} b¨)Ó4€Iä—‘Ð5°r¸9ÌBÏDÉDÔQ€IÜ—‘Ð2°B¸	ÌÏÉÔN€Iñ Ø—7‘7ñ [ØUYô[ó [ˆà×$Ñ$Ó&¨Ñ-°Ñ8ˆ	ô ”2—6‘6˜* b¨)Ó4×:Ñ:Ó<Ó=€HØ˜	Ð!€GØ�!‚|™G©DØ¨2¸8ÐTXÑYÐYà y¸hÐW[Ñ\Ð\øôa ò Ü�˜C˜5  q cÐ*Ô+Üûðús   ƒA	[ Û	[7Û[2Û2[7c                  ó  — d } t         j                  dd  D ]O  }|j                  d«      r 	 t        |j	                  dd«      d   «      } Œ4|j                  «       sŒEt        |«      } ŒQ t        d| › �«       g }t        dd«      D �]y  }| r|| kD  r �not        |«      \  }}}t        d|› dt        |«      › d|› d	|› �«       |s �n;|D �]+  }|d
   r'|d
   t        k  rt        d|d
   › d|d   d d › �«       Œ0t        |d   «      }|€!t        d|d   d d › �«       |d   d|d
   g dœ}t        t        |d   xs |d   |d   |d   |d
   xs |d
   t        j                   dd|d   «      d d t        j"                  d|d   xs |d   «      rdnddt$        j&                  j)                  t         j                  d   «      |d   rt+        j,                  |d   d¬«      nddœ}	|j/                  |	«       �Œ. ||k\  s�Œz n t        d t        |«      › �«       |rXt1        |t$        j&                  j)                  t         j                  d   «      «       d!t         j                  v rt3        «        y y y # t
        $ r Y �Œiw xY w)"Nr.   z--pages=ú=z[AutoPg] max_pages=rm   z[list] page z: items=z total=z pageCount=r   z  [cutoff] r@   r   é(   r   z	  [fail] é2   r   r�   r   r¢   éÈ   u    é£Žç”µ|é£ŽåŠ›å�‘ç”µ|æµ·ä¸Šé£Žç”µÚpoweru   å±±ä¸œr   r   Frb   r   )r
   Ú	site_namer   r   r   r   r   r   r   r   r   z[total] valid=z--sync)ÚsysÚargvr±   Úintr°   Ú
ValueErrorÚisdigitr   Úrangerƒ   r"   ÚCUTOFFrÃ   r/   r3   rA   rB   r¨   ÚosÚpathÚbasenameru   rv   ry   r+   r>   )
Ú	max_pagesr�   ÚvalidÚpgr   r=   r‚   r€   ÚdetÚrecs
             r*   ÚmainrÚ   ,  sž  € Ø€IÜ�X‰X�a�bˆ\ò ˆØ�<‰<˜
Ô#ðÜ §¡¨¨Q£°Ñ 2Ó3‘	ð �Y‰Y�[Ü˜A›‰Iðô 
Ð 	˜{Ð
+Ô,à€EÜ�A�r‹ló ˆÙ˜˜išÚÜ#-¨b£>Ñ ˆˆu�jÜ�˜R˜D ¬¨U«¨°G¸E¸7À+ÈjÈ\ÐZÔ[ÙÚØó 	ˆBØ�*Š~ " Z¡.´6Ò"9Ü˜ B z¡NÐ#3°1°R¸±[ÀÀ"Ð5EÐ4FÐGÔHØÜ˜r %™yÓ)ˆCØˆ{Ü˜	 " W¡+¨c¨rÐ"2Ð!3Ð4Ô5à " 7¡¸ÈÈ:ÉÐgiÑj�ä Ü&Ø˜W™Ò4¨¨G©Ø˜%‘yØ˜y™>Ø 
™OÒ=¨r°*©~ÜŸ6™6 *¨b°#°i±.ÓAÀ$À3ÐGÜ')§y¡yÐ1TÐVYÐZaÑVbÒVqÐfhÐipÑfqÔ'r™GÐxzØ&Ü!Ÿw™w×/Ñ/´·±¸±Ó<ØUXÐYfÒUgœtŸz™z¨#¨mÑ*<È5ÕQÐmqñˆCð �L‰L˜Öð-	ð. �ÔÙð?ô@ 
ˆNœ3˜u›:˜,Ð
'Ô(ÙÜ˜¤§¡× 0Ñ 0´·±¸!±Ó =Ô>à”s—x‘xÑÜÕð  ð øôQ ò Úðús   «I3É3	J É?J zwww.zzctp.gov.cnÚ__main__)Ú__doc__rq   ru   rA   rË   rÒ   ÚhtmlrŸ   Úbs4r   r3   ÚBASErs   rt   rp   rÑ   rÓ   rµ   ÚdirnameÚabspathÚ__file__r   r1   r+   r>   rE   rƒ   rÃ   rÚ   r/   Ú__name__r•   rF   r*   ú<module>rä      sÅ   ðñ
ó Û Û 	Û 
Û 	Û Ý à<€	Ø €Ø7€
ð DØSØ&Ø(ñ	€ð €	Ø	€à�W‰W�\‰\˜"Ÿ'™'Ÿ/™/¨"¯'©'¯/©/¸(Ó*CÓDÐFZÓ[€
Ø€	ò!òH5Eòr*ò&òRw]òt2ðj 
€àˆzÒÙ…Fð rF   