如何每次从受密码保护的网站获取新的cookie?

问题描述 投票:0回答:1

我正在尝试抓取一个具有 API 的网站。仅当我们登录时,其中一个 API 才会提供 json。

我登录了cookie,然后发送请求,我成功发送了请求。 但问题是,这些 cookie 一段时间后就会过期,我必须获取新的 cookie 来发送请求。

有没有办法让我在抓取网站之前自动获取新鲜的cookie?

注意:我在某处读到我们可以使用 selenium 手动登录并保存 cookie。然后将这些 cookie 用于抓取。但我不知道如何从selenium获取cookie并将它们用于请求库。

有人可以帮我吗?

链接:https://www.arbeitsagentur.de/bewerberboerse/

我使用请求库登录,但没有给出 302 响应代码,而是给了我 200 或 400。 然后我尝试使用selenium,但网站的结构非常复杂。重定向太多,元素未成功获取。

python selenium-webdriver web-scraping python-requests
1个回答
0
投票

嗯,你可以使用selenium登录,然后从selenium获取cookie,方法是:

cookies = driver.get_cookies()

然后返回它们并在您的请求中使用它们,例如:

def convert_cookies_to_requests(cookies):
    session_cookies = {}
    for cookie in cookies:
        session_cookies[cookie['name']] = cookie['value']
    return session_cookies
© www.soinside.com 2019 - 2024. All rights reserved.