
    ^i                     p    S r SSKJr  SSKJr  SSKJr  SSKJrJr  SSK	J
r
  SSKJr   " S S	\
\   5      rg
)z$Google search engine implementation.    )Mapping)token_urlsafe)time)AnyClassVar)BaseSearchEngine)
TextResultc                       \ rS rSr% SrSrSrSrSrSr	Sr
SrS	S
SS.r\\\\4      \S'   Sr\\\4   S-  \S'   S\S\4S jr SS\S\S\S\S-  S\S\S\\\4   4S jjrSrg)Google   zGoogle search engine.Tgoogletextzhttps://www.google.com/searchGETz//div[@data-snc]z.//h3//text()z.//a[h3]/@hrefz,.//div[starts-with(@data-sncf, '1')]//text())titlehrefbodyelements_xpathN_arcid_randomstartreturnc                     [        [        5       5      nU R                  (       a  X R                  S   -
  S:  a  [        S5      nX24U l        SU R                  S    SUS S3$ )	zGenerate 'async' payload param.   i     zarc_id:srp_r   _102z,use_ac:true,_fmt:prog)intr   r   r   )selfr   now	rnd_tokens       M/home/james-whalen/.local/lib/python3.13/site-packages/ddgs/engines/google.pyui_asyncGoogle.ui_async!   sd    $&k!!S+=+=a+@%@4%G%k2I"+!1DT//232eBZ?UVV    queryregion
safesearch	timelimitpagekwargsc                 6   SSSS.nUS-
  S-  nUXsR                  5          [        U5      SU R                  U5      SSS	.n	UR                  S
5      u  pU S
U
R	                  5        3U	S'   SU 3U	S'   SU
R	                  5        3U	S'   U(       a  SU 3U	S'   U	$ )z.Build a payload for the Google search request.210)onmoderateoffr   
   arczUTF-8)qfilterr   asearchasyncieoe-hllang_lrcountrycrzqdr:tbs)lowerstrr!   splitupper)r   r$   r%   r&   r'   r(   r)   safesearch_baser   payloadr=   langs               r    build_payloadGoogle.build_payload)   s     "%#cBR%&6&6&89Z]]5)
 S)&'--/!23v!'--/!23#I;/GENr#   )r   )r   )__name__
__module____qualname____firstlineno____doc__disablednamecategoryprovider
search_urlsearch_methoditems_xpathr   r   r   rA   __annotations__r   tupler   r!   dictr   rG   __static_attributes__ r#   r    r   r      s    HDHH0JM$K  >3NHWS#X./  -1M5c?T)0Wc Wc W   	
 :   
c3h r#   r   N)rM   collections.abcr   secretsr   r   typingr   r   	ddgs.baser   ddgs.resultsr	   r   rY   r#   r    <module>r_      s,    * # !    & #8j) 8r#   