selenium通过browser.get_cookies()获取到cookie没法直接使用,获取到的cookie如下面aaa那样的,通过下面代码转换为能用的格式。
aaa = [{'domain': 'kns.cnki.net', 'httpOnly': False, 'name': 'KNS_SortType', 'path': '/', 'secure': False, 'value': ''}, {'domain': 'kns.cnki.net', 'httpOnly': False, 'name': 'SID_klogin', 'path': '/', 'secure': False, 'value': '125144'}, {'domain': 'kns.cnki.net', 'httpOnly': False, 'name': 'SID_kns', 'path': '/', 'secure': False, 'value': '123111'}, {'domain': 'kns.cnki.net', 'httpOnly': False, 'name': 'SID_kinfo', 'path': '/', 'secure': False, 'value': '125105'}, {'domain': '.cnki.net', 'expiry': 1564367054.986099, 'httpOnly': False, 'name': 'Ecp_IpLoginFail', 'path': '/', 'secure': False, 'value': '190726101.254.182.38'}, {'domain': '.cnki.net', 'expiry': 4719781454.986073, 'httpOnly': False, 'name': 'Ecp_ClientId', 'path': '/', 'secure': False, 'value': '5190726102400862680'}, {'domain': 'kns.cnki.net', 'httpOnly': True, 'name': 'ASP.NET_SessionId', 'path': '/', 'secure': False, 'value': 'mgvkj3qqno25uh5vxfyo104w'}]
cook2 = ''
for i in aaa:
aa = i['name']
bb = i['value']
cook1 = str(aa) + '=' + str(bb) + ';'
print(cook1)
cook2 = cook2 +cook1
print(cook2)
打印出的cook2
KNS_SortType=;SID_klogin=125144;SID_kns=123112;SID_kinfo=125103;Ecp_IpLoginFail=190726101.254.182.38;Ecp_ClientId=1190726130701161496;ASP.NET_SessionId=dpkiswggp3hit1cry3acqou4;
添加到headers里面
headers= {'Cookie':'KNS_SortType=;SID_klogin=125144;SID_kns=123112;SID_kinfo=125103;Ecp_IpLoginFail=190726101.254.182.38;Ecp_ClientId=1190726130701161496;ASP.NET_SessionId=dpkiswggp3hit1cry3acqou4;'}
网友评论