
    i	f                          d dl mZ d dlZd dlZd dlZd dlZd dlmZ d dlZd dl	Z	d dl
Z
d dlZd dlmZ ddZddZd	 Zd
 Zd Zd Zd Zd Zedk    r e             dS dS )    )searchN)Article)YouTubeTranscriptApi  c                     |                                  fdt          dt                              D             S )Nc                 P    g | ]"}d                      ||z                      #S ) )join).0i
chunk_sizewordss     7C:\Users\intel\Desktop\ai independent v2\cautator_v2.py
<listcomp>z*split_text_into_chunks.<locals>.<listcomp>   s3    XXX!CHHU1Q^+,--XXX    r   )splitrangelen)textr   r   s    `@r   split_text_into_chunksr      s@    JJLLEXXXXXuQE

J7W7WXXXXr   
   c                    	 t          j        | |          }|                                 |j        S # t           j        j        $ r t          d|             Y d S t           j        j        $ r}t          d|            Y d }~d S d }~ww xY w)N)timeoutu,   [WARN] Timeout la descărcarea fișierului: u+   [WARN] Eroare la descărcarea fișierului: )requestsgetraise_for_statuscontent
exceptionsTimeoutprintRequestException)urlr   responsees       r   download_file_with_timeoutr%      s    	<W555!!###&   BSBBCCCtt/   ?A??@@@ttttts   03 &BB/BBc                     t          d|             	 t          |           }|                                 |                                 |j        S # t
          $ r}t          d|            Y d }~dS d }~ww xY w)Nz[INFO] Extragere text din URL: z.[WARN] Eroare la extragerea textului din URL:  )r    r   downloadparser   	Exception)r"   articler$   s      r   extract_text_from_urlr,       s    	
1C
1
1222#,,|   BqBBCCCrrrrrs   =A 
A9A44A9c                    t          d|             t          |           }|r	 t          dd          5 }|                    |           d d d            n# 1 swxY w Y   t          dd          5 }t	          j        |          }d}|j        D ]}||                                z  }	 d d d            n# 1 swxY w Y   t          j	        d           |S # t          $ r}t          d|            Y d }~dS d }~ww xY wdS )Nu/   [INFO] Descărcare și extragere text din PDF: ztemp.pdfwbrbr'   z.[WARN] Eroare la extragerea textului din PDF: )r    r%   openwritePyPDF2	PdfReaderpagesextract_textosremover*   )r"   r   filereaderr   pager$   s          r   extract_text_from_pdfr;   ,   s   	
AC
A
ABBB(--G 	j$'' $4

7###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $j$'' 04)$//"L 0 0DD--///DD00 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 Ij!!!K 	 	 	F1FFGGG22222	 rs^   C AC AC AC 28B7+C 7B;;C >B;?C 
C?"C::C?c                    t          d|             t          |           }|r	 t          dd          5 }|                    |           d d d            n# 1 swxY w Y   t	          j        d          }d}|j        D ]}||j        dz   z  }t          j	        d           |S # t          $ r}t          d|            Y d }~dS d }~ww xY wdS )Nu0   [INFO] Descărcare și extragere text din DOCX: z	temp.docxr.   r'   
z/[WARN] Eroare la extragerea textului din DOCX: )r    r%   r0   r1   docxDocument
paragraphsr   r6   r7   r*   )r"   r   r8   docr   parar$   s          r   extract_text_from_docxrC   A   s>   	
BS
B
BCCC(--G 	k4(( $D

7###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $-,,CD ) )	D((Ik"""K 	 	 	GAGGHHH22222	 rs;   B% AB% AB% AAB% %
C/CCc                    t          d|             t          |           }|r	 t          dd          5 }|                    |           d d d            n# 1 swxY w Y   t	          j        d          }|                    d          }t          j        d           |S # t          $ r}t          d|            Y d }~dS d }~ww xY wdS )Nu1   [INFO] Descărcare și extragere text din Excel: z	temp.xlsxr.   F)indexz0[WARN] Eroare la extragerea textului din Excel: r'   )
r    r%   r0   r1   pd
read_excel	to_stringr6   r7   r*   )r"   r   r8   dfr   r$   s         r   extract_text_from_excelrJ   U   s(   	
Cc
C
CDDD(--G 		k4(( $D

7###$ $ $ $ $ $ $ $ $ $ $ $ $ $ ${++B<<e<,,DIk"""K 	 	 	HQHHIII22222	 rs;   B" AB" AB" AAB" "
C	,CC	c                    t          d|             	 |                     d          d         }t          j        |          }d                    d |D                       }|S # t
          $ r}t          d|            Y d }~dS d }~ww xY w)Nu*   [INFO] Extragere subtitrări din YouTube: zv=   r	   c                     g | ]
}|d          S )r    )r   ts     r   r   z-extract_text_from_youtube.<locals>.<listcomp>l   s    <<<q6<<<r   u:   [WARN] Eroare la extragerea subtitrărilor de pe YouTube: r'   )r    r   r   get_transcriptr
   r*   )r"   video_idtranscript_listr   r$   s        r   extract_text_from_youtuberS   g   s    	
<s
<
<===99T??1%.=hGGxx<<O<<<==   N1NNOOOrrrrrs   AA$ $
B.BBc                     t          d          } t          t          d                    }t          d                              d          }d}t          |dd          5 }|                    d	           d d d            n# 1 swxY w Y   t                      }t          |d
d          5 }d}d}t          |          |k     rt          dt          |          dz    d           	 d}t          | ||||z   d          D ]=}	|	|vr6|	                    |	           d}t          d|	            d|	v rt          |	          }
nft          j        |	          \  }}|dk    rt          |	          }
n9|dk    rt          |	          }
n#|dv rt          |	          }
nt!          |	          }
|
rt#          |
          }|D ]t%          fd|D                       rSt          d d           |                    dz              |                                 t          d| d           pt                      |st          d           n||z  }t)          j        d d!          }t          d"| d#           t-          j        |           n)# t0          $ r}t          d$|            Y d }~nd }~ww xY wt          |          |k     t          d%           d d d            d S # 1 swxY w Y   d S )&Nu!   Introdu interogarea de căutare: u#   Câte linkuri dorești să obții? u1   Introdu cuvintele cheie, separate prin virgulă: ,zrezultat.txtwzutf-8)encodingr'   ar   r   z
Cerere rL   :Fg       @)numstartstoppauseTu   [INFO] Link găsit: zyoutube.comzapplication/pdfzGapplication/vnd.openxmlformats-officedocument.wordprocessingml.document)zapplication/vnd.ms-excelzAapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheetc              3      K   | ]>}|                                                                                                 v V  ?d S )N)striplower)r   keywordchunks     r   	<genexpr>zmain.<locals>.<genexpr>   sE      &h&hT[w}}'<'<'>'>%++--'O&h&h&h&h&h&hr   z[91mz[0mz

u   [INFO] Chunk adăugat în ''u&   [WARN] Nu au fost găsite linkuri noi.      u   [INFO] Pauză de u(    secunde înainte de următoarea cerere.u'   [ERROR] Eroare la căutarea pe Google: uG   [INFO] Scriptul a terminat execuția. Toate cererile au fost procesate.)inputintr   r0   r1   setr   r    r   addrS   	mimetypes
guess_typer;   rC   rJ   r,   r   anyflushrandomrandinttimesleepr*   )querynum_requestskeywordsoutput_fileresult_fileprocessed_linksr[   stepfound_new_linkr"   r   	mime_type_chunks
sleep_timer$   rb   s                   @r   mainr   s   s-   566EuBCCDDLHIIOOPSTTH K 
k3	1	1	1 ["               eeO	k3	1	1	1 =Y[/""\117c/22147778884!&!%TU4ZWZ[[[ " "C/11'++C000)-:S::;;; )C//#<S#A#ADD+4+?+D+DLIq(,==='<S'A'A!*.w!w!w'=c'B'B!*  /P  "P  "P'>s'C'C'<S'A'A 1%;D%A%AF *0 1 1#&&h&h&h&h_g&h&h&h#h#h !1$)*CU*C*C*C$D$D$D$/$5$5efn$E$E$E$/$5$5$7$7$7$)*V*V*V*V$W$W$W$W$)%LLLL% BCCC  $^Ar22
^*^^^___
:&&&&   CCCDDDm /""\11t 	WXXX{=Y =Y =Y =Y =Y =Y =Y =Y =Y =Y =Y =Y =Y =Y =Y =Y =Y =Ys\   #BB	B	0<K2-E)JK2AJK2
J?#J:5K2:J??&K22K69K6__main__)r   )r   )googlesearchr   r   rk   rq   r6   	newspaperr   ro   r2   r>   pandasrF   youtube_transcript_apir   r   r%   r,   r;   rC   rJ   rS   r   __name__rN   r   r   <module>r      s:               				              7 7 7 7 7 7Y Y Y Y

 
 
 
	 	 	  *  (  $	 	 	IY IY IYV zDFFFFF r   