selenium最新模拟登录知乎

本文介绍了如何利用selenium模拟登录知乎并保存cookies到本地,避免验证码。目前未遇到倒立文字验证码问题,但已更新了验证码处理代码。由于知乎的反爬策略,需要接管本地浏览器。之后将使用保存的cookies无须登录即可访问知乎。文章最后提到,中文倒立文字验证码识别存在困难,将进行优化。
摘要由CSDN通过智能技术生成
selenium模拟登录,保存cookies

使用selenium模拟登录,并把cookies保存到本地
现在还没有遇到大家说的倒立文字验证码
等后面遇到了,再做验证码处理(只要正确登录,很大程度上不会弹出验证码。验证码处理代码已更新)

由于知乎对selenium做了反爬处理,故此处需要接管本地已打开的浏览器,具体参考这篇文章:https://blog.csdn.net/qq_42206477/article/details/86477446

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

import os
import pickle
import time

chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")#知乎对selenium做了反爬处理,故此处接管本地已打开的浏览器
browser = webdriver.Chrome(executable_path = 'D:\Documents\Downloads\chromedriver_win32\chromedriver.exe', options=chrome_options)
# 初次建立连接,随后方可修改cookie
browser.get("https://www.zhihu.com/signin")
browser.find_element_by_css_selector(".SignFlow-accountInput.Input-wrapper input").send_keys("用户名")
time.sleep(3)
browser.find_element_by_css_selector(".SignFlow-password input").send_keys("密码")
browser.find_element_by_css_selector(
    ".Button.SignFlow-submitButton").click()
time.sleep(10)
Cookies = browser.get_cookies()
cookie_dict = {
   }

for cookie in Cookies:
    #将cookie写入文件
    f = open('zhihucookie'+cookie['name']+'.zhihu','wb')
    #将对象序列化成文件
    pickle.dump(cookie,f)
    f.close()
    cookie_dict[cookie['name']] = cookie['value']
browser.close()
使用cookies访问页面

使用我们保存在本地的cookies访问 https://www.zhihu.com
不再需要登录

chrome_options = Options()
chrome_options.add_argument('--headless')
browser = webdriver.Chrome(executable_path = 'D:\Documents\Downloads\chromedriver_win32\chromedriver.exe',options= chrome_options)
browser.get('https://www.zhihu.com') #必须要打开 不然set cookies时会出问题
# 删除第一次建立连接时的cookie
browser.delete_all_cookies()

# 读取登录时存储到本地的cookie
cookie_dict = {
   }
dirs = os.listdir('存储cookies的本地地址')                   
for i in dirs:     # 循环读取路径下的文件并筛选后缀名为zhihu的文件
   if os.path.splitext(i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值