1. Nessa aula vamos unir os conceitos que aprendemos nas últimas aulas e criar o código para coleta de dados dentro do nosso projeto.
  2. No arquivo bookspider.py vamos criar a função parse().
def parse(self, response):
        books = response.css('article.product_pod')
        for book in books:
            yield{
                'name': book.css('h3 a::text').get(),
                'price': book.css('.product_price .price_color::text').get(),
                'url': book.css('h3 a').attrib['href']
            }   
        # Pegando Dados da Próxima Página
        next_page = response.css('li.next a ::attr(href)').get()
        
        if next_page is not None:
            if 'catalogue/' in next_page:
                next_page_url = '<https://books.toscrape.com/'+next_page>
            else:
                next_page_url = '<https://books.toscrape.com/catalogue/'+next_page>
            yield response.follow(next_page_url, callback=self.parse)
  1. Para executar o script precisamos executar o comando scrapy crawl bookspider

Img1.png