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 信息了。

相关推荐
王者鳜錸2 分钟前
基于Selenium和AI的图像处理
图像处理·人工智能·selenium
ColderYY4 分钟前
DrissionPage自动化
python·自动化
Python大数据分析@6 分钟前
如何用 Python xlwings库自动化操作 Excel?
python·自动化·excel
qq_124987075325 分钟前
基于Flask的穷游网酒店数据分析系统(源码+论文+部署+安装)
后端·python·flask·毕业设计
浏览器API调用工程师_Taylor33 分钟前
我是如何将手动的日报自动化的☺️☺️☺️
前端·javascript·爬虫
Brianna Home33 分钟前
PyTorch实战:CV模型搭建全指南
人工智能·pytorch·经验分享·python·神经网络·结对编程
喜欢吃豆1 小时前
spec-kit深度解析:AI驱动的规范驱动开发(SDD)的架构、哲学与实践启示
人工智能·驱动开发·python·架构·大模型
rengang661 小时前
28-Keras:探讨高层神经网络API及其快速原型设计能力
人工智能·python·神经网络·机器学习·keras
椰羊sqrt1 小时前
MetaTwo靶机实战:SQL注入到权限提升全解析
python·学习·网络安全