selenum操作cookie进行免登陆【爬虫必修课1】

使用 Selenium 自动化登录网站是一个常见的需求。但是直接输入用户名和密码登录非常不安全,同时每次登录都需要重复这个操作也很麻烦。一个更好的方式是使用 Cookie 进行免登录。

这篇博客就来介绍如何使用 Selenium 实现 Instagram 的免登录功能。

首先我们需要手动登录 Instagram 一次,获取登录成功后的 Cookie 信息。(也可以使用selenum自动的登陆,但是需要手动进行人机验证)代码如下:

python 复制代码
# 首先登陆获取cookie
option = webdriver.EdgeOptions()
option.add_experimental_option("detach", True)
# 实例化浏览器驱动对象,并将配置浏览器选项
driver = webdriver.Edge(options=option)
# 获取cookie
driver.get(f'https://www.instagram.com')
driver.implicitly_wait(10)
# 找到用户名输入框元素
username_input = driver.find_element(By.CSS_SELECTOR, "._aa4b._add6._ac4d._ap35")
# 输入用户名
username_input.send_keys("150******m")
# 找到密码输入框元素
password_input = driver.find_element(By.CSS_SELECTOR, "._aa4b._add6._ac4d._ap35[type='password']")
# 输入密码
password_input.send_keys("hz******9?")
time.sleep(2)
# 找到登录按钮元素
login_button = driver.find_element(By.CSS_SELECTOR, "._acan._acap._acas._aj1-._ap30")
# 等待登录按钮可用并点击
wait = WebDriverWait(driver, 10)
wait.until(EC.element_to_be_clickable(login_button))
login_button.click()
time.sleep(5)
time.sleep(10)
time.sleep(50)
coo = driver.get_cookies()
print(coo)
driver.quit()

这段代码首先打开 Instagram 页面,然后输入用户名和密码,点击登录按钮。登录成功后,获取当前页面的 Cookie 信息并打印出来。然后进行复制。

获取到 Cookie 信息后,我们就可以直接使用这些 Cookie 信息进行免登录了。代码如下:

python 复制代码
# 复制cookie然后使用cookie免登陆
option = webdriver.EdgeOptions()
option.add_experimental_option("detach", True)
# 实例化浏览器驱动对象,并将配置浏览器选项
driver = webdriver.Edge(options=option)
driver.get('https://www.instagram.com')
driver.implicitly_wait(10)
driver.delete_all_cookies()
cookies ="刚才复制的cookies"
for cookie in cookies:
    if 'expiry' in cookie:
        del cookie['expiry']
    driver.add_cookie(cookie)
driver.refresh()
time.sleep(50)

这段代码首先打开 Instagram 页面,然后删除所有 Cookie,再逐一添加之前保存的 Cookie 信息。最后刷新页面就可以免登录进入 Instagram 了。

这样做的好处是,不需要每次都输入用户名和密码就可以登录,提高了自动化的效率和安全性。同时,即使 Cookie 过期了,我们只需要再次手动登录一次就可以更新 Cookie 信息了。

相关推荐
李晨卓6 分钟前
python学习之不同储存方式的操作方法
python·代码规范
站大爷IP9 分钟前
实战:爬取某联招聘职位需求并生成词云——从零开始的完整指南
python
deephub11 分钟前
从零开始:用Python和Gemini 3四步搭建你自己的AI Agent
人工智能·python·大语言模型·agent
咕白m62515 分钟前
Python 实现 PDF 页面旋转
python
c***87191 小时前
Flask:后端框架使用
后端·python·flask
Q_Q5110082852 小时前
python+django/flask的情绪宣泄系统
spring boot·python·pycharm·django·flask·node.js·php
撸码猿2 小时前
《Python AI入门》第9章 让机器读懂文字——NLP基础与情感分析实战
人工智能·python·自然语言处理
二川bro2 小时前
多模态AI开发:Python实现跨模态学习
人工智能·python·学习
2301_764441333 小时前
Python构建输入法应用
开发语言·python·算法
love530love3 小时前
【笔记】ComfUI RIFEInterpolation 节点缺失问题(cupy CUDA 安装)解决方案
人工智能·windows·笔记·python·插件·comfyui