я сделал этот скрипт для этого сайта .... но моя нумерация страниц не работает, потому что это просто 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)