selenium和requests怎么获取服务器的session

selenium和requests怎么获取服务器的session,网上没查到能使用的

要获取服务器的 session 可以使用 requests 或 selenium,在每个请求中都需要带上之前获取的 session。

下面是使用 requests 获取 session 的代码示例:

import requests

# 创建一个 session 对象
s = requests.Session()

# 向服务器发送一次请求,获取 session
url = "http://example.com/get_session"
response = s.get(url)

# 在后续请求中带上 session
url2 = "http://example.com/use_session"
response2 = s.post(url2, data={'key': 'value'})

在这个示例中,首先创建了一个 session 对象 s,然后通过发送一个 GET 请求,从服务器获取 session。在后续的请求中,使用 session 对象的 post() 方法发送 POST 请求,并将要发送的数据作为参数传入。这样,就可以在每个请求中带上之前获取的 session。

下面是使用 selenium 获取 session 的代码示例:

from selenium import webdriver

# 打开一个浏览器窗口
driver = webdriver.Chrome()

# 打开一个网页,获取 session
url = "http://example.com/get_session"
driver.get(url)

# 在后续请求中带上 session
url2 = "http://example.com/use_session"
driver.get(url2)

在这个示例中,首先使用 selenium 打开了一个浏览器窗口,然后在窗口中打开了一个网页,并获取了 session。在后续的请求中,使用 get() 方法打开了一个新的网页,由于使用的是同一个浏览器窗口,因此会自动带上之前获取的 session。

需要注意的是,selenium 获取的 session 是基于浏览器的,因此需要启动浏览器,相比使用 requests 更加耗费资源。另外,获取 session 的具体步骤可能因实际情况而异,需要根据具体情况进行对应的修改。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇博客: 全程干货,requests模块与selenium框架详解中的 六、requests.session()方法 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    每次写爬虫都要在响应头中获取cokies信息,然后在把获取的cokies信息加在请求头,太繁琐了;

    如果有了 requests.session()对象,就可以自动处理cokies问题了;

    复制代码
    session= requests.session()  #相当于设置了 一个会话相关的容器,把所有会话相关的cookie都存放起来(自动保存cookie问题)
    r1=session.get('https://github.com/login/',
                         headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36'},
    
                         )
    
    authenticity_token=re.findall(r'name="authenticity_token".*?value="(.*?)"',r1.text,re.S)[0]

    复制代码

     

    瞎驴博客:

    http://www.cnblogs.com/linhaifeng/articles/7785043.html

     

     

     

     

     


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^