Format: application/x-python-code
⬇ Download File (4.6 KB)
   1  o
   2  
   3  �h��@sfddlmZmZddlZddlmZddlmZddlm	Z
   4  ddlZddlZddl
   5  mZddlZddlZddlZddlmZmZmZmZmZmZmZmZejejd	�e�e�Z d
   6  e!dee!e!ffdd
   7  �Z"dee!fdd�Z#dee!fdd�Z$dee!fdd�Z%dee!fdd�Z&iZ'da(dee!fdd�Z)dee!fdd�Z*dee!fdd�Z+dee!fdd�Z,dS)�)�List�TupleN)�
   8  BeautifulSoup)�DDGS)�search)�ValidationError�)�FetchNewsParams�FetchArxivParams�FetchDDGParams�FetchTorrentsParams�FetchWikiParams�FetchIMDBParams�FetchYouTubeParams�FetchFinanceParams)�level�url�returncCs�zCtj|ddidd�}|��t|jd�}|jr|jj��n|}|�d�}d�	dd	�|D��}d
   9  t
  10  ��}t
  11  d7a
  12  ||d�t|<||fWStyP|d
  13  fYSw)Nz
  14  User-AgentzMozilla/5.0�)�headers�timeoutzhtml.parser�p�
  15  css�|]	}|����VqdS)N)�get_text�strip)�.0r�r�7C:\Users\shubh\Videos\agent\agent\modules\search\web.py�	<genexpr>$s�zscrape_page.<locals>.<genexpr>�scrape_���href�text�)
  16  �requests�get�raise_for_statusrr#�title�stringr�find_all�join�scrape_counter�
  17  scraped_store�	Exception)r�resp�soupr(Z
  18  paragraphs�snippet�	scrape_idrrr�scrape_pages
  19  
  20  
  21  �r3c
  22  Ks�z6tdi|��}g}t|j|jdd�D] }t|�\}}|�|�d|�d|���t|�|jkr3|WSq|WStyR}zt�	d|���gWYd}~Sd}~ww)NT)�num_results�uniquer�Invalid parameters: r)
  23  r	�
  24  google_search�query�max_resultsr3�append�lenr�logger�error)�kwargs�params�resultsrr(r1�errr�
  25  fetch_news-s ���rBc
  26  Ks�z4tdi|��}g}tj|j|jd�}|��D]}|j�dd���}|�	|j
  27  �d|�d|j���q|WStyP}zt
  28  �d|���gWYd}~Sd}~ww)N�r8r9r� z
  29  Abstract: z
  30  PDF: r6r)r
  31  �arxiv�Searchr8r9r@�summary�replacerr:r(�pdf_urlrr<r=)r>r?�papersr�rrGrArrr�fetch_arxiv=s ��rLc
  32  KsJztdi|��WSty$}zt�d|���gWYd}~Sd}~ww)Nr6r)rBrr<r=)r>rArrr�
  33  search_googleKs��rMc
  34  K�`ztdi|��}t|j�d�|jd�WSty/}zt�d|���gWYd}~Sd}~ww)Nz proxy "torrent" rCr6r)rrMr8r9rr<r=�r>r?rArrr�fetch_torrentsS���rPcKs�zbtdi|��}t�d�g}tj|j|jd�D]G}z+tj|dd�}dt��}td7a|j|j	d�t
  35  |<|�|j�d|j	�d|j���Wqt
  36  y_}zt�d	|���WYd}~qd}~ww|WSt
  37  y~}zt�d
  38  |���gWYd}~Sd}~ww)N�en)r@F)Zauto_suggestrr r!rzWikipedia subpage error: zWikipedia fetch error: r)r
  39  �	wikipediaZset_langrr8r9�pager,rrGr-r:r(r.r<�warningr=)r>r?r@r(rTr2rArrr�fetch_wikipedia_s*
  40  
  41  $����rVc
  42  KrN)Nz site:imdb.comrCzIMDB fetch error: r)rrMr8r9r.r<r=rOrrr�
  43  fetch_imdbsrQrWc
  44  KrN)Nz site:youtube.comrCzYouTube fetch error: r)rrMr8r9r.r<r=rOrrr�
  45  fetch_youtube{rQrXc
  46  Ks�zPtd
  47  i|��}g}|j����}|D]:}t�|�}|j}|�d�p(|�d�p(d}d|��}dt��}	td7a||d�t	|	<|�
  48  |���d|�d|���q|WStyl}
  49  zt
  50  �d	|
  51  ���gWYd}
  52  ~
  53  Sd}
  54  ~
  55  ww)NZlongBusinessSummaryrGr$z https://finance.yahoo.com/quote/rr r!rzFinance fetch error: r)rr8r�split�yfZTicker�infor&r,r-r:�upperr.r<r=)r>r?r@Ztickers�symbolZtickerr[r#rr2rArrr�
  56  fetch_finance�s&
  57  
  58  
  59   ��r^)-�typingrrr%�bs4rZduckduckgo_searchrZgooglesearchrr7rE�loggingZpydanticr�jsonrSZyfinancerZZ
  60  tools.schemasr	r
  61  rrr
  62  rrr�basicConfig�INFO�	getLogger�__name__r<�strr3rBrLrMrPr-r,rVrWrXr^rrrr�<module>s2(
  63