python selenium登录,selenium cookie自动登录
本文主要介绍了Pythonselenium cookie实现无密登录的示例代码。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。
00-1010获取cookies:携带cookies实现机密登录:今天在抓取airbnb租房数据时遇到了登录问题。我自己解决了。
我们知道http是无状态的,那么一个网页如何实现用户登录注册功能呢?会话和Cookie是满足这种需求的技术。
首先,介绍会话和Cookie的概念。
在Web中,会话对象存储特定用户会话所需的属性和配置信息。这样,当用户在应用程序的网页之间跳转时,存储在Session对象中的变量不会丢失,而是在整个用户会话中保持不变。当用户从应用程序请求网页时,如果用户没有会话,Web服务器将自动创建一个会话对象。当会话过期或被放弃时,服务器将终止会话。
有时是复数形式。类型“小型文本文件”是指某些网站为了识别用户身份和跟踪会话而存储在用户本地终端上的数据(通常是加密的),以及用户客户端电脑临时或永久保存的信息。
当用户第一次访问网页时,服务器会创建一个Session对象,用于存储与用户会话的属性和配置信息,并向客户端返回一个带有set-cookie字段的响应头。客户端浏览器会在本地保存cookie,下次用户访问网页时会添加cookie。服务器通过cookie识别是否有用户的会话。这样就实现了用户的登录注册功能,但是Session和Cookie的应用远不及此,这里就不赘述了。
然后,为了实现机密登录,我们需要做以下事情:
在登录airbnb时获取客户端浏览器存储的cookies。
本地写cookies。
下次用selenium登录airbnb,带上饼干。
目录
使用selenium的get_cookies()函数获取cookie。
但是如何实现落地呢?你得先登录才能吃饼干,对吧?您可以在代码中添加休眠时间。在休眠期间,我们手动登录。休眠时间过后,让代码记录cookies。
导入时间
从msedge.selenium_tools导入边,边选项
导入字符
#返回驱动程序对象
def activate _ selenium _ driver():
options=EdgeOptions()
# options.use_chromium=True
options . add _ experimental _ option( exclude switches ,[enable-automation])
options . binary _ location=r c : program files(x86) Microsoft edge application m sedge . exe #浏览器的位置。
Driver=edge (options=options,executable _ path=r d : Eric work python spider msedgedriver . exe )#对应浏览器的行驶位置
返回驱动器
定义检查字符集(文件路径):
用open(file_path, rb )作为f:
data=f.read(4)
charset=chardet . detect(data)[ encoding ]
返回字符集
base URL= https://www . Airbnb.cn/s//s/Shenzhen/homes? refinement _ paths[]=/homes current _ tab _ id=home _ tab selected _ tab _ id=home _ tab screen _ size=large hide _ dates _ and _ guests _ filters=false place _ id=chijkvlh 0 aj 0 azqryycstw 1 V7 v0 map _ toggle=false
driver=activate _ selenium _ driver()
driver.get(baseurl)
#手动完成登录的20秒睡眠时间
对于(0,20):范围内的I
打印(20 - i)
时间.睡眠(1)
#获取饼干
cookies=driver.get_cookies()
#保存到本地
with open(cookies.txt , w ,encoding=check _ charset( cookies . txt ))as f :
因为我在烹饪:
f.write(str(i))
f.write(n )
获取cookies:
base URL= https://www . Airbnb.cn/s//s/Shenzhen/homes? refinement _ paths[]=/homes current _ tab _ id=home _ tab selected _ tab _ id=home _ tab screen _ size=large hide _ dates _ and _ guests _ filters=false place _ id=chijkvlh 0 aj 0 azqryycstw 1 V7 v0 map _ toggle=false
driver.get(baseurl)
cookie=[]
with open(cookies.txt , r ,encoding=funcs . funcs . check _ charset( cookies . txt ))as f :
对于f:中的I
cookie . append(eval(I . strip()))
因为我在烹饪:
driver.add_cookie(i)
时间.睡眠(3)
driver.refresh()
当我再次打开Airbnb的时候,我发现我已经登录了,我完了。
以上就是本文关于Python selenium cookie实现免密登录的示例代码。关于selenium cookie免密登录的更多信息,请搜索热门IT软件开发工作室之前的文章或继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。