Python+selenium通过Cookie实现自动登录!

  • 时间:
  • 来源:互联网
  • 文章标签:

以模拟自动登录网易126邮箱为例

通过Cookie方式实现自动登录,避开了输入用户名与密码实现登录的操作

一、模拟126邮箱自动登录的实例代码

示例:通过cookie模拟邮箱自动登录

代码如下:

#coding=utf-8

 

from selenium import webdriver

import time

 

driver = webdriver.Chrome()

 

# 访问126网易邮箱

driver.get("https://mail.126.com/") # 126网易邮箱登录界面

# 将用户名密码写入浏览器 cookie

# listcookie的值是通过driver.get_cookies()获得的

listcookie = [{

'domain': '.mail.126.com',

'httpOnly': False,

'name': 'mail_uid',

'path': '/',

'secure': False,

'value': 'bsr202010@126.com'

}, {

'domain': 'mail.126.com',

'httpOnly': False,

'name': 'Coremail.sid',

'path': '/',

'secure': False,

'value': 'MBWmjdhFpqTQbyXCRhFFHAwjkXelXTKC'

}, {

'domain': 'mail.126.com',

'httpOnly': True,

'name': 'JSESSIONID',

'path': '/',

'secure': False,

'value': '8225992F3200104D01857C4B335BB020'

}, {

'domain': '.mail.126.com',

'httpOnly': False,

'name': 'mail_entry_sess',

'path': '/',

'secure': False,

'value': '03046d6f275ad62a01b0832c452e7ef2024ee6e4edd67df3592bf722c5f852fd6db371dba45c2b4ec89a55e72f50589793d692901837dd62d91b3aefb90ca0560671661cf7eb2d637af7948d4b2e7732126e97245a9603f7244f16b51285daa87e7cdc59e1ee5d0419b0d35adb4a6ccb5e20b66acf304d40b33ae45fe63b7d0ff1e60234d3170f85300251619129405db3472010870cec4cf6a1c12628f378c1835fd6d7d85189bbb7595bfba0d67b2bdbd335c77cdd0547c9bb526e8c017ddd'

}, {

'domain': 'mail.126.com',

'expiry': 1918721008,

'httpOnly': False,

'name': 'face',

'path': '/',

'secure': False,

'value': 'js6'

}, {

'domain': '.mail.126.com',

'httpOnly': False,

'name': 'secu_info',

'path': '/',

'secure': False,

'value': '1'

}, {

'domain': '.mail.126.com',

'httpOnly': False,

'name': 'mail_host',

'path': '/',

'secure': False,

'value': 'mail.126.com'

}, {

'domain': '.mail.126.com',

'expiry': 1634897008,

'httpOnly': False,

'name': 'MAIL_PINFO',

'path': '/',

'secure': False,

'value': 'bsr202010@126.com|1603361009|0|mail126|00&99|hub&1603360568&mail126#hub&420100#10#0#0|&0|mail126&unireg|bsr202010@126.com'

}, {

'domain': '.mail.126.com',

'httpOnly': False,

'name': 'MAIL_SINFO',

'path': '/',

'secure': False,

'value': '1603361009|0|#3&80#|bsr202010@126.com'

}, {

'domain': '.mail.126.com',

'httpOnly': True,

'name': 'MAIL_SESS',

'path': '/',

'secure': False,

'value': 'vV.3xxmIbzxrv9EDjAt.ZhGAB8.cXuUGKePeEMtxsToSqC5iqgFBt6sfirL9tb1nO_7cZGW3Cgf9RoPxtSrubh32yrmWL4ATN9wBaqjggjXHXkzSw7rfZ.pRXKZmV6uDKhEJvONPBmGT75re.oG.aed5.kvhIGWXcwMnvev7rQ3141yoWgRMll1WKAQoPiYtaFqUbFdESrzUr1ORwX1Z3P4rU'

}, {

'domain': '.mail.126.com',

'httpOnly': False,

'name': 'cm_last_info',

'path': '/',

'secure': False,

'value': 'dT1ic3IyMDIwMTAlNDAxMjYuY29tJmQ9aHR0cHMlM0ElMkYlMkZtYWlsLjEyNi5jb20lMkZqczYlMkZtYWluLmpzcCUzRnNpZCUzRE1CV21qZGhGcHFUUWJ5WENSaEZGSEF3amtYZWxYVEtDJnM9TUJXbWpkaEZwcVRRYnlYQ1JoRkZIQXdqa1hlbFhUS0MmaD1odHRwcyUzQSUyRiUyRm1haWwuMTI2LmNvbSUyRmpzNiUyRm1haW4uanNwJTNGc2lkJTNETUJXbWpkaEZwcVRRYnlYQ1JoRkZIQXdqa1hlbFhUS0Mmdz1odHRwcyUzQSUyRiUyRm1haWwuMTI2LmNvbSZsPS0xJnQ9LTEmYXM9dHJ1ZQ=='

}, {

'domain': '.mail.126.com',

'httpOnly': False,

'name': 'mail_style',

'path': '/',

'secure': False,

'value': 'js6'

}, {

'domain': '.mail.126.com',

'httpOnly': False,

'name': 'mail_upx',

'path': '/',

'secure': False,

'value': 't3hz.mail.126.com|t4hz.mail.126.com|t7hz.mail.126.com|t8hz.mail.126.com|t1hz.mail.126.com|t2hz.mail.126.com|t1bj.mail.126.com|t2bj.mail.126.com|t3bj.mail.126.com|t4bj.mail.126.com'

}, {

'domain': '.mail.126.com',

'httpOnly': False,

'name': 'Coremail',

'path': '/',

'secure': False,

'value': 'f9f9f2ec5b969%MBWmjdhFpqTQbyXCRhFFHAwjkXelXTKC%g1a55.mail.126.com'

}, {

'domain': '.126.com',

'httpOnly': True,

'name': 'NTES_SESS',

'path': '/',

'secure': False,

'value': 'vV.3xxmIbzxrv9EDjAt.ZhGAB8.cXuUGKePeEMtxsToSqC5iqgFBt6sfirL9tb1nO_7cZGW3Cgf9RoPxtSrubh32yrmWL4ATN9wBaqjggjXHXkzSw7rfZ.pRXKZmV6uDKhEJvONPBmGT75re.oG.aed5.kvhIGWXcwMnvev7rQ3141yoWgRMll1WKAQoPiYtaFqUbFdESrzUr1ORwX1Z3P4rU'

}, {

'domain': '.mail.126.com',

'httpOnly': False,

'name': 'mail_idc',

'path': '/',

'secure': False,

'value': '""'

}, {

'domain': 'mail.126.com',

'expiry': 1918721008,

'httpOnly': False,

'name': 'locale',

'path': '/',

'secure': False,

'value': ''

}, {

'domain': '.mail.126.com',

'httpOnly': False,

'name': 'df',

'path': '/',

'secure': False,

'value': 'mail163_letter'

}, {

'domain': '.126.com',

'expiry': 4105008000,

'httpOnly': False,

'name': 'nts_mail_user',

'path': '/',

'secure': False,

'value': 'bsr202010@126.com:-1:1'

}, {

'domain': '.126.com',

'expiry': 1634897008,

'httpOnly': False,

'name': 'P_INFO',

'path': '/',

'secure': False,

'value': 'bsr202010@126.com|1603361009|0|mail126|00&99|hub&1603360568&mail126#hub&420100#10#0#0|&0|mail126&unireg|bsr202010@126.com'

}, {

'domain': '.mail.126.com',

'httpOnly': False,

'name': 'starttime',

'path': '/',

'secure': False,

'value': ''

}, {

'domain': '.126.com',

'httpOnly': False,

'name': 'S_INFO',

'path': '/',

'secure': False,

'value': '1603361009|0|#3&80#|bsr202010@126.com'

}, {

'domain': '.mail.126.com',

'httpOnly': False,

'name': 'mail_upx_nf',

'path': '/',

'secure': False,

'value': ''

}]

 

for Cookie in listcookie:

driver.add_cookie(Cookie)

t=driver.get_cookies()

print(t)

# 再次访问126网易邮箱,将会自动登录

driver.get('https://mail.126.com/') # 126网易邮箱登录界面

driver.maximize_window()

# 读取完cookie刷新页面

driver.refresh()

二、python运行结果

运行结果如下所示:

直接跳过了登录操作,不用输入用户名与密码即可直接进入到126邮箱界面中

 

 三、获取listcookie值

 

 listcookie的结果返回值如截图所示:

模拟登陆可是爬虫至关重要的一步,你学会了吗?

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入

 

本文链接http://www.taodudu.cc/news/show-1781894.html