Пример #1
0
 def parse(self, response):
     for li in response.css('div#content > div ul > li'):
         referer = li.css('a ::attr(href)').get()
         Titulo = li.css('a ::text').get()
         Titulo = self.give_emoji_free_text(Titulo)
         #print(Titulo)
         Cantante, Cancion = separa_titulo(Titulo, '–')
         Cantante = self.give_emoji_free_text(Cantante)
         id = self.get_id(referer)
         url = self.inf_url + id
         yield Request(url,
                       meta={
                           'referer': referer,
                           'Titulo': Titulo,
                           'Cantante': Cantante,
                           'Cancion': Cancion,
                           'Fecha': self.hoy
                       },
                       callback=self.parse_attr)
     #####PASA A LA SIGUIENTE PÁGINA#####
     self._num_pagina += 1
     try:
         next_page = 'https://mp3teca.com/mp3s/page/{}/'.format(
             self._num_pagina)
         yield response.follow(next_page, callback=self.parse)
     except:
         pass
Пример #2
0
 def parse_attr(self, response):
     i = 0
     Fecha = date.today().strftime("%d %B, %Y")
     for T in response.xpath(".//strong[contains(text(), 'MEGA')]"):
         i += 1
         Titulo = self.Limpia_titulo(T.css('::text').get())
         Cantante, Album = separa_titulo(Titulo, '–')
         if i == 1:
             padre = T.xpath('..')
             Infringing = padre.css('a ::attr(href)').get()
             imprime_datos(Titulo,'', Cantante, Album, response.meta['referer'], Infringing)
             # INGRESA INFRINGING A LA BD LOS DATOS
             Inserta_Datos(Titulo, Cantante, Album, response.meta['referer'], Infringing, Fecha, self.id_domin)
         # INGRESA AL INFRINGING POR MEDIO DE SELENIUM
         self.Datos_Selenium(Titulo, Cantante, Album, response.meta['referer'], Infringing, Fecha, i)
Пример #3
0
    def parse(self, response):
        #####RECORRE DIVS#####
        for div in response.css('div.narrowcolumn > div'):
            infringing = div.css('div >p > a ::text').extract_first()
            #####VERIFICA QUE INFRINGING CONTENGA TEXTO#####
            if infringing is not None:
                #####SI CONTIENE LA PALABRA DOWNLOAD#####
                if infringing.find('Download') != -1 or infringing.find(
                        'download') != -1:
                    #####TOMA EL RESTO DE LOS DATOS#####
                    Titulo = div.css('h2 ::attr(title)').get()
                    referer = div.css('h2 ::attr(href)').get()
                    Fecha = div.css('p.postmetadata ::text').get()
                    Fecha = Fecha.replace('\n\t\t\t', '')
                    #####TOMA EL INFRINGING#####
                    infringing = div.css(
                        'div >p > a ::attr(href)').extract_first()
                    #####VERIFICA QUE NO SEA UNA IMAGEN#####
                    if infringing.find('.png') == -1 or infringing.find(
                            '.jpg') == -1:
                        #####VERIFICA SI ES UN LINK VÁLIDO#####
                        if veri(infringing) == True:
                            #####LIMPIA EL TEXTO DEL TÍTULO#####
                            if Titulo is not None:
                                Titulo = Titulo.replace('\xa0', ' ')
                            #####SEPARA EL CANTANTE Y EL ALBUM DEL TÍTULO#####
                            Cantante, Album = separa_titulo(Titulo, '–')
                            print((Titulo, Cantante, Album, referer,
                                   infringing, Fecha))
                            #####SI NO EXISTE, LO INSERTA LOS DATOS EN LA BD#####
                            if c.existe_inf(infringing) == False:
                                c.inserta_item(Titulo, Cantante, Album,
                                               referer, infringing, Fecha,
                                               self.id_domin)
                                v.muestra_item_guardado(Titulo)

        #####PASA A LA SIGUIENTE PÁGINA#####
        self._num_pagina += 1
        try:
            next_page = 'https://elmanualnlhc.wordpress.com/page/{}/'.format(
                self._num_pagina)
            yield response.follow(next_page, callback=self.parse)
        except:
            pass
Пример #4
0
    def parse(self, response):
        print('##### PÁGINA #{} #####'.format(self._num_pagina))
        #####RECORRE "ARTICLES"#####
        for art in response.css('article.item-list'):
            Titulo = art.css('h2 > a ::text').get()
            Titulo = self.Limpia_titulo(Titulo)
            Cantante, Album = separa_titulo(Titulo, '–')
            Titulo, Cantante, Album = self.acentos(Titulo, Cantante, Album)
            referer = art.css('h2 > a ::attr(href)').get()
            for a in art.css('p > a'):
                try:
                    Inf = a.css('::attr(href)').get()
                    if Inf.find('zippyshare') != -1:
                        Infringing = self.zippy(Inf)
                        imprime_datos(Titulo, '', Cantante, Album, referer,
                                      Infringing)
                        # INGRESA INFRINGING A LA BD LOS DATOS
                        Inserta_Datos(Titulo, Cantante, Album, referer,
                                      Infringing, self.Fecha, self.id_domin)
                    elif Inf.find('mediafire') != -1:
                        yield Request(Inf,
                                      meta={
                                          'Titulo': Titulo,
                                          'Cantante': Cantante,
                                          'Album': Album,
                                          'Referer': referer
                                      },
                                      callback=self.mediaFire)
                    elif Inf.find('userscloud') != -1:
                        Infringing = self.userCloud(Inf)
                        imprime_datos(Titulo, '', Cantante, Album, referer,
                                      Infringing)
                        # INGRESA INFRINGING A LA BD LOS DATOS
                        Inserta_Datos(Titulo, Cantante, Album, referer,
                                      Infringing, self.Fecha, self.id_domin)
                except:
                    continue
            #break

        next_page = response.css('span#tie-next-page > a ::attr(href)').get()
        if next_page:
            self._num_pagina += 1
            yield response.follow(next_page, callback=self.parse)
Пример #5
0
 def parse_attr(self, response):
     #print(response.text)
     i = 0
     Titulos = []
     Fecha = date.today().strftime("%d %B, %Y")
     driver = webdriver.Chrome(
         'C:\\Users\\APDIF\\Desktop\\chromedriver.exe')
     driver.get(response.url)
     for str in driver.find_elements_by_xpath('//p/strong'):
         i += 1
         if i % 2 != 0:
             Titulos.append(str.text)
             #print(str.text)
         else:
             continue
     i = 0
     tam = len(Titulos)
     for a in driver.find_elements_by_css_selector('p > a'):
         #print(i)
         if i == 0:
             i += 1
             continue
         if i == tam:
             break
         inf = a.get_attribute('href')
         driver.execute_script("window.open(arguments[0]);", inf)
         driver.switch_to.window(driver.window_handles[1])
         time.sleep(1)
         Infringing_mega = driver.current_url
         driver.close()
         driver.switch_to.window(driver.window_handles[0])
         Titulo = self.Limpia_titulo(Titulos[i])
         Cantante, Album = separa_titulo(Titulo, '–')
         imprime_datos(Titulo, '', Cantante, Album, response.url,
                       Infringing_mega)
         # INGRESA INFRINGING A LA BD LOS DATOS
         Inserta_Datos(Titulo, Cantante, Album, response.url,
                       Infringing_mega, Fecha, self.id_domin)
         i += 1
     driver.quit()