bimka
@bimka
Осваиваю Питон

Почему при парсинге Озона выдает только первые 4 значения?

Пытаюсь парсить данные с Озона при помощи Scrapy с этой страницы. В браузере на странице показывает 36 смартфонов, а у меня возвращаются только первые 4 смартфона.

Почему при парсинге страницы мне не возвращает 36 смартфонов, как это отображается в браузере?
Как мне задать нужное количество возвращаемых значений?

import scrapy
import urllib.parse

API_KEY = 'my_api'


class OzonTopSmartphonesSpider(scrapy.Spider):
    name = 'ozon_top_smartphones_spider'

    def get_scrapeops_url(self, url):
        payload = {'api_key': API_KEY, 'url': url}
        proxy_url = "https://proxy.scrapeops.io/v1/?" +  urllib.parse.urlencode(payload)
        return proxy_url


    def start_requests(self):
        urls = [
            'https://www.ozon.ru/category/smartfony-15502/?sorting=rating',
        ]
        for url in urls:
            yield scrapy.Request(url=self.get_scrapeops_url(url), callback=self.parse)

    def parse(self, response):
        for smartphone in response.xpath('//span[@class="dy9 yd9 dz zd1 tsBodyL k8n"]/span/text()').extract():
            print(smartphone)
  • Вопрос задан
  • 265 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы