class DescargarPdf: def __init__(self): self.tbb_dir = "/usr/local/share/tor-browser_en-US" self.usuario = [] self.contraseñaTxT = [] self.conversor = '?convertedTo=pdf' def iniciarTor(self): self.zLibraty = TorBrowserDriver(self.tbb_dir, tbb_logfile_path='test.log') def iniciarSecion(self): self.element = self.zLibraty.find_element_by_name("email") self.element.send_keys(self.correo) sleep(2) self.element2 = self.zLibraty.find_elements_by_class_name( "form-control")[1] self.element2.send_keys(self.contraseña) self.element2.send_keys(Keys.RETURN) def paginaDescargas(self): print("estoy en la funcion paginaDescagas") sleep(4) self.zLibraty.get(self.url) self.html = self.zLibraty.page_source def paginaPrinsipal(self, añoInicial, añoFinal): self.urlAños = 'http://zlibraryexau2g3p.onion/s/?yearFrom=' + str( añoInicial) + '&yearTo=' + str(añoFinal) self.url = self.urlAños def cambiarPagina(self, x): self.url += '&page=' + str(x) def Crearcsv(self): self.carpetaUrl = '/home/dgc7/Documentos/zlibrary/libros1920-1921/url' try: os.mkdir(self.carpetaUrl) except OSError as e: if e.errno != errno.EEXIST: raise self.escrivirUrlWed = csv.writer( open('/home/dgc7/Documentos/zlibrary/libros1920-1921/url/url2.csv', 'w')) self.imprimirUrlPdf = csv.writer( open( '/home/dgc7/Documentos/zlibrary/libros1920-1921/url/urlDowload2.csv', 'w')) def credenciales(self, numeroUsuario): print("llegue") self.correo = self.usuario[numeroUsuario] self.contraseña = self.contraseñaTxT[numeroUsuario] self.urlLoguin = 'http://zlibraryexau2g3p.onion' self.zLibraty.get(self.urlLoguin) def UsuariosYcontraseñas(self): self.dir = '/home/dgc7/Documentos/zlibrary/credenciales/contraseñasYcorreos.txt' self.data = open(self.dir, 'r+') for self.i in range(0, 200): if self.i % 2 == 0: self.usuario.append(self.data.readline()) if self.i % 2 != 0: self.contraseñaTxT.append(self.data.readline()) def urlPdf(self, ): self.boleanoPdf = 0 self.respaldoContador = 0 self.contadorUsuarios = usuarioUsadosLeer() self.contadorLibros = datosDescarga(4) self.contadorLibros2 = self.contadorLibros % 10 self.Crearcsv() self.soup = BeautifulSoup(self.html, 'html.parser') try: for self.urlwed in self.soup.find_all(itemprop="name"): self.contador = 0 self.urlwed = self.urlwed.find('a', href=re.compile('')) self.urlDowload = self.urlwed.get('href') self.urlpdfGeleneralH = re.sub('/book/', 'https://b-ok.cc/book/', self.urlDowload) self.urlDowload = re.sub( '/book/', 'http://zlibraryexau2g3p.onion/book/', self.urlDowload) self.escrivirUrlWed.writerow([self.urlDowload]) print(self.urlDowload) voleano = validarFormato(self.urlpdfGeleneralH) guardarNumeroDescargas(self.contadorLibros) print(self.respaldoContador) if self.contadorLibros == self.respaldoContador: for self.urlRedirec in range(0, 1): self.zLibraty.get(self.urlDowload) sleep(5) self.htmlPdf = self.zLibraty.page_source self.soupRedirec = BeautifulSoup( self.htmlPdf, 'html.parser') self.urlDowloadPDF = self.soupRedirec.find( class_="btn btn-primary dlButton addDownloadedBook" ) self.urlDowloadPDF = self.urlDowloadPDF.get('href') self.urlDowloadPDF = re.sub( '/dl/', 'http://zlibraryexau2g3p.onion/dl/', self.urlDowloadPDF) self.imprimirUrlPdf.writerow([self.urlDowloadPDF]) print(self.urlDowloadPDF) print("vamos a por el if") sleep(10) if voleano == True: self.zLibraty.set_page_load_timeout(8) try: self.zLibraty.get(self.urlDowloadPDF) except: self.zLibraty.set_page_load_timeout(70) self.zLibraty.refresh() print("funciona PDF ") voleano = False sleep(5) self.contadorLibros += 1 self.contadorLibros2 += 1 else: try: self.zLibraty.set_page_load_timeout(5) try: self.zLibraty.get(self.urlDowloadPDF) except: sleep(4) pyautogui.press("down") sleep(2) pyautogui.press("enter") self.zLibraty.set_page_load_timeout(70) except: print( "\nerror al controlasr el teclado y dar enter\n" ) raise sleep(5) self.zLibraty.refresh() self.contadorLibros += 1 self.contadorLibros2 += 1 sleep(20) tiempoDescarga() informaiconPdf(self.urlpdfGeleneralH) self.respaldoContador += 1 if self.contadorLibros == self.respaldoContador: if self.contadorLibros2 % 10 == 0: print((self.contadorLibros2 - 1) % 10) self.contador += 1 pyautogui.hotkey("ctrl", "shift", "u") sleep(2) pyautogui.press("enter") sleep(7) pyautogui.press("enter") sleep(15) self.contadorUsuarios += 1 print(self.contadorUsuarios) try: self.zLibraty.switch_to_window( self.zLibraty.window_handles[0]) except: print("error al cambian de ventana") usuarioUsadosReescrivir(self.contadorUsuarios) print("por aqui¿¿¿¿¿¿") self.credenciales(self.contadorUsuarios) print("no por aqui¿¿¿¿¿¿") sleep(23) self.iniciarSecion() sleep(7) self.contadorLibros2 = 0 sleep(15) print("numero de li bros por usuario ", self.contadorLibros2) if self.contador == 5: self.contador = 0 except OSError as e: print(e.strerror) print("error en la urlPdf:::::") guardarNumeroDescargas(self.contadorLibros) usuarioUsadosReescrivir(self.contadorUsuarios) print(self.contadorLibros) raise print("termine la pagina") def DescargarContenido(self, _html): self.contenido = _html def serrarTor(self): self.zLibraty.close()
class DescargarPdf: def __init__(self): self.tbb_dir = "/usr/local/share/tor-browser_en-US" self.usuario = [] self.contraseñaTxT = [] self.conversor = '?convertedTo=pdf' def iniciarTor(self): self.zLibraty = TorBrowserDriver(self.tbb_dir, tbb_logfile_path='test.log') def iniciarSecion(self): self.zLibraty.refresh() sleep(10) self.element = self.zLibraty.find_element_by_name("email") self.element.send_keys(self.correo) sleep(2) self.element2 = self.zLibraty.find_elements_by_class_name( "form-control")[1] self.element2.send_keys(self.contraseña) self.element2.send_keys(Keys.RETURN) def paginaDescargas(self): self.zLibraty.load_url(self.url) self.html = self.zLibraty.page_source def paginaPrinsipal(self, añoInicial, añoFinal): self.urlAños = 'http://zlibraryexau2g3p.onion/s/?yearFrom=' + str( añoInicial) + '&yearTo=' + str(añoFinal) self.url = self.urlAños def cambiarPagina(self, x): self.url += '&page=' + str(x) def Crearcsv(self): print("hola") self.carpetaUrl = '/home/dgc7/Documentos/zlibrary/libros1920-1921/url' try: os.mkdir(self.carpetaUrl) except OSError as e: if e.errno != errno.EEXIST: raise self.escrivirUrlWed = csv.writer( open('/home/dgc7/Documentos/zlibrary/libros1920-1921/url/url2.csv', 'w')) self.imprimirUrlPdf = csv.writer( open( '/home/dgc7/Documentos/zlibrary/libros1920-1921/url/urlDowload2.csv', 'w')) def credenciales(self, numeroUsuario): self.correo = self.usuario[numeroUsuario] self.contraseña = self.contraseñaTxT[numeroUsuario] self.urlLoguin = 'http://zlibraryexau2g3p.onion' self.zLibraty.load_url(self.urlLoguin) def UsuariosYcontraseñas(self): self.dir = '/home/dgc7/ejersiciosLibros/pyaton/ejemplos/scrapin/zlibrari/descargarLIbros/descargarparte1/contraseñasYcorreos.txt' self.data = open(self.dir, 'r+') for self.i in range(0, 200): if self.i % 2 == 0: self.usuario.append(self.data.readline()) if self.i % 2 != 0: self.contraseñaTxT.append(self.data.readline()) def urlPdf(self, contador, _contadorusuarios): self.boleanoPdf = 0 self.contadorUsuariosCon = _contadorusuarios self.contadorLibros2 = 0 self.contadorLibros = 0 self.Crearcsv() self.soup = BeautifulSoup(self.html, 'html.parser') for self.urlwed in self.soup.find_all(itemprop="name"): self.contador = 0 self.urlwed = self.urlwed.find('a', href=re.compile('')) self.urlDowload = self.urlwed.get('href') self.urlpdfGeleneralH = re.sub('/book/', 'https://b-ok.cc/book/', self.urlDowload) self.urlDowload = re.sub('/book/', 'http://zlibraryexau2g3p.onion/book/', self.urlDowload) self.escrivirUrlWed.writerow([self.urlDowload]) print(self.urlDowload) self.contadorLibros += 1 self.contadorLibros2 += 1 if self.contadorLibros2 == 10: self.contador += 1 self.serrarTor() sleep(4) self.iniciarTor() self.contadorUsuariosCon += 1 print(self.contadorUsuariosCon) self.credenciales(contadorusuarios) self.iniciarSecion() sleep(7) self.contadorLibros2 = 0 sleep(15) if self.contador == 5: self.contador = 0 voleano = validarFormato(self.urlpdfGeleneralH) for self.urlRedirec in range(0, 1): self.zLibraty.load_url(self.urlDowload) sleep(5) self.htmlPdf = self.zLibraty.page_source self.soupRedirec = BeautifulSoup(self.htmlPdf, 'html.parser') self.urlDowloadPDF = self.soupRedirec.find( class_="btn btn-primary dlButton addDownloadedBook") self.urlDowloadPDF = self.urlDowloadPDF.get('href') self.urlDowloadPDF = re.sub( '/dl/', 'http://zlibraryexau2g3p.onion/dl/', self.urlDowloadPDF) self.imprimirUrlPdf.writerow([self.urlDowloadPDF]) print(self.urlDowloadPDF) if voleano == True: self.zLibraty.get(self.urlDowloadPDF) voleano = False else: self.convertirpdf = str(self.urlDowloadPDF) + str( self.conversor) self.zLibraty.get(self.convertirpdf) sleep(20) tiempoDescarga() informaiconPDf(self.urlpdfGeleneralH) def DescargarContenido(self, _html): self.contenido = _html def serrarTor(self): self.zLibraty.close()