Python - Scrapy Javascript Pagination (следующая страница) - PullRequest
0 голосов
/ 08 октября 2018

я сделал этот скрипт для этого сайта .... но моя нумерация страниц не работает, потому что это просто javascript ... и когда вы нажимаете следующую страницу, контейнер загружает новые данные .... я нашел URL-адреса для последующегостраницы, вот несколько примеров:

Page2

Page3

Но я получаю результаты только с первой страницы ....: /, я думал использовать scrapy-splash, но я не уверен, что это сработает ....

вот мой тестовый код:

# -*- coding: utf-8 -*-
import scrapy
import time

class SiriosbotSpider(scrapy.Spider):
    name = 'SiriosBot'
    start_urls = ['https://www.siriocenter.gr/Proionta/Mpoulonia-ApostatesTroxwn']
    def parse(self, response):
        for content in response.css('div.resultItemTxt'):
            item = {
            'Title' : content.css('th[colspan="2"] > a::text').extract(),
            'Price' : content.css('div.price > span::text').extract(),
            'Manufacture' : content.css('tr:nth-child(2)').extract(),
            'Model' : content.css('tr:nth-child(3)').extract(),
            'Eidos' : content.css('tr:nth-child(4)').extract(),
            'Typos' : content.css('tr:nth-child(5)').extract(),
            'Kare' : content.css('tr:nth-child(6)').extract(),
            'Comments' : content.css('tr:nth-child(7)').extract(),
            'ProductLink' : content.css('th[colspan="2"] > a::attr(href)').extract(),
            'Img' : content.css('div.resultItemImage > a').extract(),
            'CurrentURL' : response.url
            }
            yield item

        for next_page in response.css('div.paging > a:last-child::attr(href)'):
            url = response.urljoin(next_page.extract())
            yield scrapy.Request(url, self.parse)
...