Web scraping 无法选择具有刮擦飞溅的图元

Web scraping 无法选择具有刮擦飞溅的图元,web-scraping,scrapy,scrapy-splash,Web Scraping,Scrapy,Scrapy Splash,我正在使用这段代码,来提取特定链接类中的文本。我可以选择该类的一个元素。首先提取_,我不能使用同一类的所有元素,我希望能够选择所有元素并将它们存储在列表中。这是我的代码: # -*- coding: utf-8 -*- import scrapy from scrapy_splash import SplashRequest class MySpider(scrapy.Spider): name = "quotes4" start_urls = ["https://www.w

我正在使用这段代码,来提取特定链接类中的文本。我可以选择该类的一个元素。首先提取_,我不能使用同一类的所有元素,我希望能够选择所有元素并将它们存储在列表中。这是我的代码:

# -*- coding: utf-8 -*-
import scrapy
from scrapy_splash import SplashRequest

class MySpider(scrapy.Spider):
    name = "quotes4"

    start_urls = ["https://www.woolworths.com.au/shop/browse/drinks/cordials-juices-iced-teas/iced-teas"]

    def start_requests(self):
        for url in self.start_urls:
            yield SplashRequest(url=url, callback=self.parse)


    def parse(self, response):
        # I can select first element of class
        '''yield{ 
            'name': response.css(".shelfProductTile-descriptionLink::text").extract_first()
            }'''

        # But not all the elements of the same class
        a= response.css(".shelfProductTile-descriptionLink::text").extract()
        print ('list lengh is : ' + str(len(a)))   # OUTPUT  : 0

我做错什么了吗?谢谢。

你需要用scrapy_splash来做这个吗?您的收益率语句看起来像是常规的零碎代码,而不是零碎的代码。如果你只是从html而不是javascript中抓取,那么你就不需要scrapy_splash。

我要打印的类是从JSF动态加载的。你等待的时间够长吗?通常scrapy splash需要一个带有SplashRequest函数的“endpoint”和“args”参数,这就是为什么我说它看起来像普通的scrapy代码。