ó
0ó0_c           @   su   d  d l  Z  d  d l Z y d  d l m Z Wn! e k
 rO d  d l m Z n Xd   Z d   Z d e	 d  Z
 d S(   i˙˙˙˙N(   t
   quote_plusc         C   s˛   |  } d d d d d g } d d d d	 d
 g } x/ t  | |  D] \ } } | j | |  } q@ WxI t  | d d d  | d d d   D] \ } } | j | |  } q W| S(   s   decode common html/xml entitiest   >t   <t   "t   &s   's   &gt;s   &lt;s   &quot;s   &amp;s   &#039;Ni˙˙˙˙(   t   zipt   replace(   t   stringt
   new_stringt   decodedt   encodedt   et   d(    (    s,   /home/gwen/Bureau/github-search/goop/goop.pyt   decode_html	   s    6c         C   sk   i  } d } t  j | |   } d } x@ | D]8 } i | j d  d 6d d 6d d 6| | <| d 7} q+ W| S(   s   extract and parse resutlss4   <div class="[^"]+"><a href="/url\?q=(.+?)&sa=[^"]+">i    i   t   urlt    t   textt   summary(   t   ret   finditert   group(   R   t   parsedt   patternt   matchest   numt   match(    (    s,   /home/gwen/Bureau/github-search/goop/goop.pyt   parse   s    (i    c         C   sż   | d } | s d n d } t  d t  |   | | f  } i
 d d 6d d 6d	 d
 6d d 6d d 6d d 6| d 6d d 6d d 6d d 6} t j d | d | } t | j  }	 t |	  }
 |
 S(   s    
    main function, returns parsed results
    Args:
    query - search string
    cookie - facebook cookie
    page - search result page number (optional)
    i
   i   i    s1   https://google.com/search?q=%s&start=%i&filter=%is   developers.facebook.comt   HostsD   Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0s
   User-Agents?   text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8t   Accepts   en-US,en;q=0.5s   Accept-Languaget   deflates   Accept-Encodings
   keep-alivet
   Connectiont   Cookiet   1s   Upgrade-Insecure-Requestss	   max-age=0s   Cache-Controlt   Trailerst   TEs6   https://developers.facebook.com/tools/debug/echo/?q=%st   headers(   t
   url_encodet   requestst   getR   R   R   (   t   queryt   cookiet   paget   fullt   offsett   filtert   escapedR#   t   responset   cleaned_responseR   (    (    s,   /home/gwen/Bureau/github-search/goop/goop.pyt   search%   s$    

(   R   R%   t   urllib.parseR    R$   t   ImportErrort   urllibR   R   t   FalseR0   (    (    (    s,   /home/gwen/Bureau/github-search/goop/goop.pyt   <module>   s   		