2016-11-11 6 views

답변

1

예, scrapy-splash README의 예가 있습니다 (Session Handling 참조). 즉, 먼저 모든 설정이 올바른지 확인하십시오. 그런 다음 SplashRequest(url, endpoint='execute', args={'lua_source': script})을 사용하여 치료 요청을 보냅니다. 또한 scrapy-시작 README에서 등 쿠키 처리, 헤더 처리와 완벽한 예입니다

function main(splash) 
    splash:init_cookies(splash.args.cookies) 

    -- ... your script 

    return { 
     cookies = splash:get_cookies(), 
     -- ... other results, e.g. html 
    } 
end 

- 마지막 예를 here를 참조하십시오 스크립트를 렌더링하는 것은 다음과 같이해야한다.

+0

도움을 주셔서 감사합니다. Mikhail이 자바 스크립트에서 작성한 호출에 쿠키를 설정해야 할 때 어떻게되는지, splash : go (url) 할 때 4 가지 요청이 발생합니다. 두 번째 요청 후에 쿠키를 설정하고 싶습니다. –

+0

죄송합니다. 질문을 이해하지 못합니다. AJAX 응답에서받은 쿠키는 Splash cookiejar에 병합되어 splash : get_cookies()로 반환되어야합니다. splash : init_cookies()는 브라우저 쿠키의 내용을 설정합니다. 브라우저는 AJAX 요청을 포함하여 모든 요청에 ​​대해 이러한 쿠키를 사용해야합니다. 그래서 위의 스크립트는 루아 스크립트에서 얼마나 많은 요청을하는지에 관계없이 작동해야합니다. –

+0

아, 이제 이해합니다. 문제는 쿠키와 관련이 없습니다. 나는 기본적으로 스플래쉬 (Splash)를 통해 Crunchbase.com에 접속하려고하고 있는데, 그들은 이상한 봇 보호 장치를 가지고있다. 브라우저에서 액세스하면 항상 작동합니다. 스플래시의 동작을 브라우저와 똑같이 만드는 방법에 대해 알고 있습니까? –