Scrapy:使用 Selenium webdriver 登录,将 cookie 传输到蜘蛛对象?

dru*_*dru 5 cookies selenium webdriver scrapy

我只是想知道是否有任何合理的方法可以将身份验证 cookie 从 webdriver.Firefox() 实例传递给蜘蛛本身?执行一些 webdriver 的东西然后去抓取“一切照旧”会很有帮助。有以下作用:

def __init__(self):
    BaseSpider.__init__(self)
    self.selenium = webdriver.Firefox()

def __del__(self):
    self.selenium.quit()
    print self.verificationErrors

def parse(self, response):

    # Initialize the webdriver, get login page
    sel = self.selenium
    sel.get(response.url)
    sleep(3)

    ##### Transfer (sel) cookies to (self) and crawl normally??? #####
    ...
    ...
Run Code Online (Sandbox Code Playgroud)

war*_*iuc 0

您可以尝试重写BaseSpider.start_requests方法,以使用 scrapy.http.cookies.CookieJar 附加到启动请求所需的 cookie。

另请参阅:Scrapy - 如何管理 cookie/会话