python请求不获取JSESSIONID和SessionData cookies

python请求不获取JSESSIONID和SessionData cookies,python,django,session,cookies,python-requests,Python,Django,Session,Cookies,Python Requests,我想从中获取pdf文件,但它希望我接受条款和条件。从浏览器下载时,我发现JSTOR将我的接受保存在两个名为JSESSIONID和SessionData的cookie中,但python请求并没有捕获这两个cookie(它捕获了另外两个cookie,但没有捕获这些cookie) 以下是我的会话实例化代码: def get_raw_session(): session = requests.Session() session.headers.update({'User-Agent':

我想从中获取pdf文件,但它希望我接受条款和条件。从浏览器下载时,我发现JSTOR将我的接受保存在两个名为JSESSIONID和SessionData的cookie中,但python请求并没有捕获这两个cookie(它捕获了另外两个cookie,但没有捕获这些cookie)

以下是我的会话实例化代码:

def get_raw_session():
    session = requests.Session()
    session.headers.update({'User-Agent': UserAgent().random})
    session.headers.update({'Connection': 'keep-alive'})
    return session
请注意,我以前多次使用python请求登录需要的站点,效果很好,但在本例中并非如此

我猜问题在于JSTOR是用jsp构建的,python请求不支持这一点


有什么想法吗?

以下代码对我来说运行得非常好-

import requests
from bs4 import BeautifulSoup

s = requests.session()
r = s.get('http://www.jstor.org/stable/pdf/10.1086/512825.pdf')
soup = BeautifulSoup(r.content)
pdfurl = 'http://www.jstor.org' + soup.find('a', id='acptTC')['href']
with open('export.pdf', 'wb') as handle:
    response = s.get(pdfurl, stream=True)
    for block in response.iter_content(1024):
        if not block:
            break
        handle.write(block)

如何发出子序列请求?r=session.get(link)感谢您的回答,但我的机器无法运行。同样的问题也发生了。export.pdf中有一个3kb的html,告诉你们必须同意条款和条件。问题可能出在我的电脑上。我在另一台机器上部署了代码,它成功了!我很高兴这有帮助:)