Scrapy Splash不渲染JS生成的元素

时间:2018-10-12 22:23:31

标签: javascript scrapy splash scrapy-splash

我正在执行此Splash-Scrapy Spider,以便在呈现后获取此URL内容:https://github.com/scrapy/scrapy/find/master(JS生成包含项目文件名的表,这是我想最后获得的信息)

import scrapy
from scrapy_splash import SplashRequest

class SplashSpider(scrapy.Spider):
    name = 'splash_spider'

    def start_requests(self):
        yield SplashRequest(
            url='https://github.com/scrapy/scrapy/find/master',
            callback=self.parse,
        )

    def parse(self, response):
        self.log('I have just visited ' + response.url)
        with open('a', 'wb') as f:
            f.write(response.body)

尽管如此,我只获得页面源代码,而不是JS生成的元素。

Splash-Scrapy是否可能由于生成时间,脚本类型而无法呈现元素,或者我做错了什么?

当然,我尝试使用css / xpath选择器获取文件名,我只是将响应主体写入文件中以更快地测试/显示响应。

我使用JavaScript渲染测试了其他Splash-Scrapy示例,并且可以正常工作,这就是为什么我认为它不会是settings.py配置错误的原因。

0 个答案:

没有答案