Python-Scrapy Javascript分页(next_page)

时间:2018-10-08 09:39:20

标签: python scrapy scrapy-splash

我为此网站制作了此脚本。...但是我的分页不起作用,因为它只是JavaScript ...而当您单击下一页时,容器将加载新数据。... 我确实找到了naxt页面的网址,下面是一些示例:

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)

0 个答案:

没有答案