我们如何从splash+;scrapyjs+;没有任何产量要求的刮擦?

我们如何从splash+;scrapyjs+;没有任何产量要求的刮擦?,scrapy,splash-screen,scrapyjs,Scrapy,Splash Screen,Scrapyjs,我正在尝试使用SeleniumPhantomJS将动态网站的抓取更改为抓取。但问题是,若我们在splash中编写一个click事件,它将需要一个yield请求才能工作。如果我们给出一个让步请求,它将呈现第一页。因此,我们在源代码中看不到单击事件的更改。ie,无需重新呈现网页。这在硒中是可能的。splash中是否有相同的功能?获得了使用lua变量的解决方案。我们可以通过splash元参数传递变量。 例如: v = 1 yield scrapy.Request(url, meta={

我正在尝试使用SeleniumPhantomJS将动态网站的抓取更改为抓取。但问题是,若我们在splash中编写一个click事件,它将需要一个yield请求才能工作。如果我们给出一个让步请求,它将呈现第一页。因此,我们在源代码中看不到单击事件的更改。ie,无需重新呈现网页。这在硒中是可能的。splash中是否有相同的功能?

获得了使用lua变量的解决方案。我们可以通过splash元参数传递变量。 例如:

    v = 1
    yield scrapy.Request(url, meta={'splash': {'endpoint':   'execute','args': {'lua_source': script,'indx':v}},'v':v } , callback=self.parseVariationDetailPage , dont_filter=True)
我们可以通过“splash.args.indx”获得通过args的indx值

下面的函数显示元素单击

script = """
function main(splash)
     splash:autoload("https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js")
     z = splash.args.indx
     assert(splash:go(splash.args.url))
     assert(splash:wait(1))
     assert(splash:runjs("$('#listChipColor li[z]').click()"))
     assert(splash:wait(1))
     return splash:html()
end """
==================================下面是旧答案=======================

如果不使用scrapyjs click事件呈现页面,我就看不到解决方案

下面是示例代码及其工作原理。我无法找到在js中编写lua变量的解决方案。因此,这里使用一个简单的逻辑来获取click元素

scrapyjs点击 请求
找到了使用lua变量的解决方案。我们可以通过splash meta args传递变量。 例如:

    v = 1
    yield scrapy.Request(url, meta={'splash': {'endpoint':   'execute','args': {'lua_source': script,'indx':v}},'v':v } , callback=self.parseVariationDetailPage , dont_filter=True)
我们可以通过“splash.args.indx”获得通过args的indx值

下面的函数显示元素单击

script = """
function main(splash)
     splash:autoload("https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js")
     z = splash.args.indx
     assert(splash:go(splash.args.url))
     assert(splash:wait(1))
     assert(splash:runjs("$('#listChipColor li[z]').click()"))
     assert(splash:wait(1))
     return splash:html()
end """
==================================下面是旧答案=======================

如果不使用scrapyjs click事件呈现页面,我就看不到解决方案

下面是示例代码及其工作原理。我无法找到在js中编写lua变量的解决方案。因此,这里使用一个简单的逻辑来获取click元素

scrapyjs点击 请求
嗨,保罗,我已经纠正了代码缩进。嗨,保罗,我已经纠正了代码缩进。