首页 > 解决方案 > 如何抓取不使用 AJAX 和 Scrapy 的无限滚动页面?

问题描述

我正在尝试抓取此页面中具有无限滚动的所有结果:

https://opensea.io/collection/sad-frogs-district?search[priceFilter][symbol]=ETH&search[priceFilter][min]=0&search[priceFilter][max]=1&search[toggles][0]=BUY_NOW

我想获取列出项目的所有数量,但到目前为止我只得到 32 个,因为页面一开始只加载 32 个结果。此页面不使用 AJAX/JSON,因此我无法轻松获取所有页面

这是我的代码,适用于前 32 个结果^^:

import scrapy


class QuotesSpider(scrapy.Spider):
    name = "sadfrogs"

    def start_requests(self):
        urls = [
            'https://opensea.io/collection/sad-frogs-district?search[priceFilter][symbol]=ETH&search[priceFilter][min]=0&search[priceFilter][max]=1&search[toggles][0]=BUY_NOW',
        ]
        for url in urls:
            yield scrapy.Request(url=url, callback=self.parse)

    def parse(self, response):
        numero = response.xpath("//div[@class='AssetCardFooter--name']/text()").extract()
        print (numero)
        print (len(numero))

标签: scrollinfinite

解决方案


推荐阅读