目标
使用Python请求等方式登录此网站(https://www.reliant.com)。(我知道可以使用Selenium或PhantomJS之类的方法来完成,但我更倾向于不这样做。)
问题
在登录过程中,有几个重定向,其中会传递“会话ID”类型的参数。其中大部分我都能获取到,但有一个叫做dtPC
的参数似乎是从访问页面时获得的cookie中获取的。据我所知,该cookie起源于此JS文件(https://www.reliant.com/ruxitagentjs_ICA2QSVfhjqrux_10175190917092722.js)。该网址是浏览器在主网址的初始GET请求之后执行的下一个GET请求。到目前为止,我尝试过的所有方法都未能获取到该cookie。
迄今为止的代码
from requests_html import HTMLSession
url=r'https://www.reliant.com'
url2=r'https://www.reliant.com/ruxitagentjs_ICA2QSVfhjqrux_10175190917092722.js'
headers={
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'en-US,en;q=0.9',
'Cache-Control': 'max-age=0',
'Connection': 'keep-alive',
'Host': 'www.reliant.com',
'Sec-Fetch-Mode': 'navigate',
'Sec-Fetch-Site': 'none',
'Sec-Fetch-User': '?1',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.3'
}
headers2={
'Referer': 'https://www.reliant.com',
'Sec-Fetch-Mode': 'no-cors',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36'
}
s=HTMLSession()
r=s.get(url,headers=headers)
js=s.get(url2,headers=headers2).text
r.html.render() #works but doesn't get the cookie
r.html.render(script=js) #fails on Network error