簡體   English   中英

Scrapy 僅獲得頁面的前 24 項

[英]Scrapy gets only 24 first items of page

我嘗試了很多方法來抓取宜家頁面,我發現在最后一頁宜家實際上顯示了所有項目。 但是,當我嘗試抓取宜家產品的最后一頁時,它只返回了第 24 個項目(對應於第一頁顯示的項目。這是頁面的 URL: https://www.ikea.com/fr /fr/cat/lits-bm003/?page=12

這是蜘蛛:

import scrapy
import pprint

class SpiderSpider(scrapy.Spider):
    name = 'Ikea'
    pages = 9
    start_urls = ['https://www.ikea.com/fr/fr/cat/canapes-fu003/?page=12']

    def parse(self, response):
        data = {}
        products = response.css('div.plp-product-list')
        for product in products:
            for p in product.css('div.range-revamp-product-compact'):
                yield {
                    'Title' : p.css('div.range-revamp-header-section__title--small::text').getall()[0],
                    'Price' : p.css('span.range-revamp-price__integer::text').getall()[0],
                    'Desc' : p.css('span.range-revamp-header-section__description-text::text').getall()[0],
                    'Img' : p.css('img.range-revamp-aspect-ratio-image__image::attr(src)').getall()[0]
                }

Scrapy 的蜘蛛不運行 JavaScript(這是瀏覽器的工作),它只會加載與 cURL 相同的響應內容。

按照您的建議進行操作,您需要一個基於瀏覽器的解決方案,例如Selenium (Python) 或Cypress (JavaScript)。 那個或 go 分別通過每個頁面。 嘗試使用“無頭瀏覽器”。

可能有更好的方法可以做到這一點,但為了解決您的確切問題,這是預期的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM