Scrapy парсит не все товары
from typing import Iterable, Any
import scrapy
from scrapy import Request
from scrapy.http import Response
class CatalogSpider(scrapy.Spider):
name = "catalog"
allowed_domains = ["art-ari.ru"]
start_urls = ['https://art-ari.ru/katalog/klinker/']
pages_count = 29
def start_requests(self):
for page in range(1, 1 + self.pages_count):
url = f'https://art-ari.ru/katalog/klinker/?page={page}'
yield scrapy.Request(url, callback=self.parse_pages)
def parse_pages(self, response, **kwargs):
for href in response.css('div.image a::attr("href")').extract()[21:]:
url = response.urljoin(href)
yield scrapy.Request(url, callback=self.parse)
def parse(self, response, **kwargs):
item = {
'Cсылка на товар': response.request.url,
'Название': response.css('h1.product-header::text').get(),
'Цена': response.css('div.oct-price-normal::text').get(),
'Характеристики': response.css('div.attr-td::text').extract(),
'Изображение': ''.join(response.css('li.image.thumbnails-one.thumbnail a::attr(href)').extract()),
}
yield item
По данной ссылке 29 страниц по 25 товаров, но обрабатывает данные всего 173 товаров, в чем может быть причина?