Ë
    ¸¬ujà  ã                   ó    — 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	 dZ
dZdZddd	œZd
Z e«       Zd„ Zd„ Zd„ Zedk(  r e«        yy)uF   å¼ å®¶æ¸¯å¸‚äººæ°‘æ”¿åºœ â€” é€šçŸ¥å…¬å‘Šçˆ¬è™« (UCAP CMS, /zjg/tzgg/)é    N)ÚBeautifulSoupz/root/search.dbzhttps://www.zjg.gov.cnu   å¼ å®¶æ¸¯å¸‚-é€šçŸ¥å…¬å‘Šz[Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/125.0.0.0 Safari/537.36zzh-CN,zh;q=0.9)z
User-AgentzAccept-Languageé   c                 ó  — 	 t        j                  | t        dd¬«      }d|_        t        |j                  d«      }d	}|j                  d
ddi¬«      }|r$|j                  d«      r|d   j                  «       }|s'|j                  dd¬«      }|r|j                  d¬«      }d	}|j                  d
ddi¬«      }|r=|j                  d«      r,t        j                  d|d   «      }	|	r|	j                  d«      }d	}
|j                  dd¬«      }|rt        |«      j                  «       }
|
rt        |
«      dk  r.|j                  dd¬«      }|rt        |«      j                  «       }
|||
fS # t        $ r}t        d|› �«       Y d}~yd}~ww xY w)u   æ��å�–è¯¦æƒ…é¡µé   F©ÚheadersÚtimeoutÚverifyúutf-8u     [ERR] è¯¦æƒ…è¯·æ±‚å¤±è´¥: N)NNNúhtml.parserÚ ÚmetaÚnameÚArticleTitle)ÚattrsÚcontentÚh1zarticle-title©Úclass_T©ÚstripÚPubDatez(\d{4}-\d{2}-\d{2})é   ÚdivÚzoomcon)Úidé2   zarticle-content)ÚrequestsÚgetÚHEADERSÚencodingÚ	ExceptionÚprintr   ÚtextÚfindr   Úget_textÚreÚsearchÚgroupÚstrÚlen)ÚurlÚrÚeÚsoupÚtitleÚmeta_tr   ÚdateÚmeta_pubÚmr   ÚzoomÚacs                ú#/root/gov_crawler/crawl_zjg_tzgg.pyÚextract_detailr8      sx  € ð Ü�L‰L˜¤g°rÀ%ÔHˆØˆŒ
ô ˜Ÿ™ Ó/€Dà€EØ�Y‰Y�v f¨nÐ%=ˆYÓ>€FÙ�&—*‘*˜YÔ'Ø�yÑ!×'Ñ'Ó)ˆÙØ�Y‰Y�t OˆYÓ4ˆÙØ—K‘K d�KÓ+ˆEà€DØ�y‰y˜¨°	Ð':ˆyÓ;€HÙ�H—L‘L Ô+Ü�I‰IÐ,¨h°yÑ.AÓBˆÙØ—7‘7˜1“:ˆDà€GØ�9‰9�U˜yˆ9Ó)€DÙÜ�d“)—/‘/Ó#ˆÙ”c˜'“l RÒ'Ø�Y‰Y�uÐ%6ˆYÓ7ˆÙÜ˜"“g—m‘m“oˆGØ�$˜ÐÐøô; ò  ÜÐ,¨Q¨CÐ0Ô1Üûð ús   ‚$E+ Å+	FÅ4FÆFc                 ó  — g }t        | d«      }|j                  d«      D ]ß  }|j                  d«      }|sŒ|j                  dd¬«      }|sŒ-|d   }|j                  d«      s	t        |z   }|j                  d	d
«      xs |j                  d¬«      }|j                  «       }|r|t        v rŒ�t        j                  |«       |j                  dd¬«      }|r|j                  d¬«      nd
}	|j                  |||	dœ«       Œá |S )u   è§£æž�åˆ—è¡¨é¡µr   zdiv.pageList liÚh4ÚaT)Úhrefr<   Úhttpr0   r   r   ÚspanÚtimer   )r0   r,   r2   )r   Úselectr%   Ú
startswithÚBASEr   r&   r   Ú	seen_urlsÚaddÚappend)
ÚhtmlÚitemsr/   Úlir:   r;   r<   r0   Úspr2   s
             r7   Ú
parse_listrJ   8   sû   € à€EÜ˜˜}Ó-€DØ�k‰kÐ+Ó,ò BˆØ�W‰W�T‹]ˆÙØØ�G‰G�C˜dˆGÓ#ˆÙØØ�‰yˆØ�‰˜vÔ&Ü˜$‘;ˆDØ—‘�g˜rÓ"Ò< a§j¡j°t jÓ&<ˆØ—‘“ˆÙ˜¤	Ñ)ØÜ�‰�dÔØ�W‰W�V FˆWÓ+ˆÙ*,ˆr�{‰{ ˆ{Ô&°"ˆØ�‰˜u¨T¸4Ñ@ÕAð#Bð$ €Ló    c                  óØ  — t        j                  d¬«      } | j                  dt        t        d¬«       | j                  «       }t        j                  t        «      }|j                  «       }dx}}t        d|j                  dz   «      D �]”  }|dk(  r
t        dz   }nt        d	|› d
�z   }t        d|› d|› �«       	 t        j                  |t         dd¬«      }d|_        d|j&                  v rt        d«        �n&t)        |j&                  «      }
|
st        d«        �nt        dt+        |
«      › d�«       |
D ]á  }|d   }|d   }|d   }|j-                  d|f«       |j/                  «       rt        d|d d › d|› �«       |dz  }ŒOt1        |«      \  }}}|xs |}|xs |}|xs d}t+        |«      dk  rt        d t+        |«      › d!�«       	 |j-                  d"|||t        |t2        d#d$f«       |j5                  «        t        d%|d d › d|› �«       |dz  }Œã �Œ— t        d&d'› �«       t        d(|› d)|› �«       |dkD  �r"t        d*«       |j-                  d+«      j9                  «       }|rëd,}g }|D ]j  \  }}}}|xs dd d- j;                  d.d/«      }|xs dj;                  d.d/«      }|xs dj;                  d.d/«      }|j=                  d0|› d1|› d2|› d2|› d3�	«       Œl |d4j?                  |«      d5z   z  }tA        jB                  d6t        g|d7d7d¬8«      }|jD                  dk(  rt        d9t+        |«      › d:�«       n$t        d;|jF                  › �«       nt        d<«       |jI                  «        t        d=|› d>|› d?�«       y # t$        $ r}	t        d|	› �«       Y d }	~	 �Œˆd }	~	ww xY w# t        j6                  $ r$}	t        d|d d › d|	› �«       |dz  }Y d }	~	�Œ©d }	~	ww xY w)@Nu   å¼ å®¶æ¸¯å¸‚-é€šçŸ¥å…¬å‘Šçˆ¬è™«)Údescriptionz--pagesu   æœ€å¤§çˆ¬å�–é¡µæ•°)ÚtypeÚdefaultÚhelpr   r   z/zjg/tzgg/common_list.shtmlz/zjg/tzgg/common_list_z.shtmlz[PAGE z] r   Fr   r   u     [ERR] åˆ—è¡¨è¯·æ±‚å¤±è´¥: u   æš‚æ— æ•°æ�®u     [END] æ— æ›´å¤šæ•°æ�®u     [END] æ— æ›´å¤šæ�¡ç›®u     [LIST] æœ¬é¡µ u    æ�¡r0   r,   r2   z'SELECT id FROM gov_raw WHERE page_url=?z  [DUP] é(   z - r   é   u     [WARN] æ­£æ–‡è¿‡çŸ­ (u   å­—ç¬¦)z‚INSERT INTO gov_raw (title, content, publish_date, source_url, page_url, site_name, group_name, industry) VALUES (?,?,?,?,?,?,?,?)u   æ±Ÿè‹�u   æ”¿åºœå…¬å‘Šz  [NEW] ú
z2==================================================u   æ–°å¢ž: u    | é‡�å¤�: u   å�Œæ­¥FTS...z`SELECT id, title, site_name, content FROM gov_raw WHERE id NOT IN (SELECT rowid FROM gov_search)z@INSERT INTO gov_search(rowid, title, site_name, summary) VALUES
iô  ú'z''ú(z,'z','z')z,
ú;Úsqlite3T)ÚinputÚcapture_outputr$   r	   u   FTSå�Œæ­¥å®Œæˆ�: u   æ�¡u   FTSå�Œæ­¥å¤±è´¥: u   FTSæ— éœ€å�Œæ­¥u   å®Œæˆ�! å…± u    æ–°, u    é‡�å¤�)%ÚargparseÚArgumentParserÚadd_argumentÚintÚ	MAX_PAGESÚ
parse_argsrW   ÚconnectÚDBÚcursorÚrangeÚpagesrB   r#   r   r   r    r!   r"   r$   rJ   r+   ÚexecuteÚfetchoner8   ÚSITEÚcommitÚIntegrityErrorÚfetchallÚreplacerE   ÚjoinÚ
subprocessÚrunÚ
returncodeÚstderrÚclose)ÚparserÚargsÚconnÚcÚ	total_newÚ	total_dupÚpgr,   r-   r.   rG   Úitemr0   r2   ÚdtÚddÚdcÚ	det_titleÚdet_dater   ÚrowsÚsqlÚvalsÚrow_idÚtÚsnÚ_ÚsummaryÚt_escÚsn_escÚprocs                                  r7   ÚmainrŠ   Q   s  € Ü×$Ñ$Ð1RÔS€FØ
×Ñ˜	¬´YÐEYÐÔZØ×ÑÓ€Dä�?‰?œ2Ó€DØ�‰‹€AØÐ€I�	ä�A�t—z‘z A‘~Ó&ó .ˆØ�Š7ÜÐ6Ñ6‰CäÐ1°"°°VÐ<Ñ<ˆCÜ��r�d˜"˜S˜EÐ"Ô#ð	Ü—‘˜S¬'¸2ÀeÔLˆAØ ˆAŒJð ˜QŸV™VÑ#ÜÐ+Ô,ÚÜ˜1Ÿ6™6Ó"ˆÙÜÐ+Ô,ÚÜÐ ¤ U£ ¨DÐ1Ô2àò 	ˆDØ˜‘MˆEØ�u‘+ˆCØ˜‘<ˆDØ�I‰IÐ?À#ÀÔHØ�z‰zŒ|Ü˜  s¨  ¨C°¨vÐ6Ô7Ø˜Q‘�	ØÜ'¨Ó,‰JˆB��BØš˜eˆIØ’z˜TˆHØ’h˜BˆGÜ�7‹|˜bÒ ÜÐ/´°G³¨~¸WÐEÔFð
Ø—	‘	ð YØ ¨´4¸¼dÀHÈnÐ]ôð —‘”Ü˜ ¨3¨B Ð 0°°H°:Ð>Ô?Ø˜Q‘‘	ò-	ð+.ôb 
ˆBˆvˆhˆ-ÔÜ	ˆH�Y�K˜{¨9¨+Ð
6Ô7Ø�1ƒ}ÜˆnÔØ�y‰yØnó
ç
‰(‹*ð 	ñ ØUˆCØˆDØ$(ò LÑ �˜˜2˜qØš7  D S˜/×1Ñ1°#°tÓ<�Øš˜b×)Ñ)¨#¨tÓ4�Øš( ×+Ñ+¨C°Ó6�Ø—‘˜a ˜x r¨%¨°°F°8¸3¸w¸iÀrÐJÕKð	Lð
 �5—:‘:˜dÓ# cÑ)Ñ)ˆCÜ—>‘>ØœB� s¸4ÀdÐTVôˆDð �‰ !Ò#ÜÐ)¬#¨d«)¨°CÐ8Õ9äÐ)¨$¯+©+¨Ð7Õ8äÐ#Ô$Ø‡J�J„LÜ	ˆL˜˜ 6¨)¨°GÐ
<Õ=øôE ò 	ÜÐ0°°Ð4Ô5Þûð	ûôF ×)Ñ)ò Ü˜ ¨3¨B Ð 0°°A°3Ð7Ô8Ø˜Q‘–	ûðús1   Â<$NÇAN2Î	N/ÎN*Î*N/Î2O)ÏO$Ï$O)Ú__main__)Ú__doc__r   rW   r'   ÚsysÚosrZ   rm   Úbs4r   ra   rB   rg   r    r^   ÚsetrC   r8   rJ   rŠ   Ú__name__© rK   r7   ú<module>r“      sj   ðñ Mß ;× ;× ;Ó ;Ý à€Ø€Ø"€àoØ'ñ€ð €	á‹E€	ò" òJò2T>ðn ˆzÒÙ…Fð rK   