- Nessa aula vamos unir os conceitos que aprendemos nas últimas aulas e criar o código para coleta de dados dentro do nosso projeto.
- 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)
- Para executar o script precisamos executar o comando scrapy crawl bookspider
