Parse of two different pages

0

I have a problem and I can not solve it. I have 2 scripts that make the parse of two different pages. Is it possible for me to create a spider class, start these 2 different urls and create a parse for each url? I created 1 script for each class because I did not find a better way to do it.

Code below:

class Finep_govSpider(scrapy.Spider):

  name = "finep_gov"

  start_urls = ['http://finep.gov.br/chamadas-publicas?situacao=aberta']

def parse(self, response):

    hoje = datetime.now()

    for sel in response.css('div.item'):

        dat_publicacao = sel.css('div.data_pub span::text').extract_first()
        dat_prazo_envio = sel.css('div.prazo span::text').extract_first()
        # converte de y-n-d para d/m/y
        convert_dat_prazo_envio = datetime.strptime(dat_prazo_envio,
                                                    '%d/%m/%Y')

        # Se a data do edital for maior que a data de hoje
        if hoje <= convert_dat_prazo_envio:

            # extrai o link com essa data

            link = response.urljoin(first(sel, './/h3/a/@href'))

            # armazena tudo em um dicionario

            informacoes = {
                'link': link,
                'data_publicacao': dat_publicacao,
                'data_prazo_envio': dat_prazo_envio
            }
            edital = procura_edital_db(conn, cursor, informacoes['link'])

            if not edital:

                insere_no_db_edital(conn, cursor, informacoes['link'],
                                    informacoes['data_publicacao'],
                                    informacoes['data_prazo_envio'])

                yield informacoes

    envia_mensagem_email(conn, cursor)
class CAPES_govSpider(scrapy.Spider):
    name = "CAPES_gov"
    start_urls = ['http://capes.gov.br/editais-abertos']

    def parse(self, response):

        for sel in response.css('div.content-container'):

            link = response.urljoin(first(sel, './/h3/a/@href'))
            data_publicacao = None
            data_prazo_envio = None

            informacoes = {
                'link': link,
                'data_publicacao': data_publicacao,
                'data_prazo_envio': data_prazo_envio
            }
            edital = procura_edital_db(conn, cursor, informacoes['link'])

            if not edital:
                insere_no_db_edital(conn, cursor, informacoes['link'],
                                    informacoes['data_publicacao'],
                                    informacoes['data_prazo_envio'])

                yield informacoes
        envia_mensagem_email(conn, cursor)

obs: the indentation is halfway here, but in the correct code.

    
asked by anonymous 23.03.2018 / 01:03

0 answers