Как сделать обработку файлов cookie с помощью render.html и SplashFormRequest.from_response? - PullRequest
0 голосов
/ 09 мая 2019

Я использую конечную точку render.html с SplashFormRequest.from_response для очистки сайтов на основе asp.net, но не могу создать последовательный SplashFormRequest.from_response без потери сеанса.

Я безуспешно пытался установить Cookies в args, meta или cookiejar, часть моего кода:

def start_requests(self):
script = """
        function main(splash, args)
        splash:init_cookies(splash.args.cookies)
        splash.images_enabled = false
        splash:go(args.url)
        splash:wait(3)

        return {
            html = splash:html(),
            cookies = splash:get_cookies(),
            }
        end"""
request = SplashRequest(url=url, callback=self.parse, endpoint='execute',
                                    args={'lua_source': script,
                                          'url': url})
request.meta['splash']['session_id'] = self.session
yield request

def parse(self, response):
request = SplashFormRequest.from_response(response, url=url, formdata=data, callback=self.parse2, endpoint='render.html', args={'images': 0})
request.cookies = response.data['cookies']
request.meta['splash']['session_id'] = self.session
yield request

Есть ли способ заставить SplashFormRequest.from_response работать с настройками файлов cookie вручную? Как SplashFormRequest.from_response> SplashFormRequest.from_response?

...