3、爬虫-selenium-获取用户cookie的使用
注意这里使用的是chrom浏览器、所以要下载对应版本的chromdriver.exe工具、且放在同一文件目录下或者在电脑中设置环境变量、或者放在pycharm安装目录下的 E:\installDir\python\Scripts 路径下即可
chromedriver-120.exe
from selenium import webdriver #webdriver.ChromeOptions() 此对象用于配置浏览器的选项、这里的detach=true意味着当浏览器关闭时、浏览器进程继续在后台运行 options = webdriver.ChromeOptions() options.add_experimental_option("detach", True) driver = webdriver.Chrome(options=options) #driver = webdriver.Chrome(executable_path="./chromedriver-120.exe", options=options) #url1 = "https://www.xinpianchang.com/discover/article-1-0?utm_source=xpcWeb&utm_medium=navigatorCate&index=4" url2 = "https://www.baidu.com" #driver.get(url1) driver.get(url2) #回到上一个页面 #driver.back() #进到下一个页面 #driver.forward() #和页面中的元素交互 #先声明要操作的元素、这里的id和kw对应的是百度里的搜索栏里的对应的id=kw值 #创建元素对象 send_k = driver.find_element("id","kw") #这里的find_element()主要是以id来定义元素框的位置 #找到百度中的搜索框后要对搜索框操作、send_key发送值 send_k.send_keys("北京") #发送搜索的内容后要点击搜索按钮、到百度里找到对应的id和value click_k = driver.find_element("id","su") click_k.click() #点击 #获取页面中的内容、保存到变量 、获取html源码 content = driver.page_source print(content) #cookie的API、用来控制浏览器账户以及一些缓存的API driver.get_cookie() #deriver.close()
cookie的使用
获取cookie操作
get_cookies.py
""" 获取网页登录的cookie """ from selenium import webdriver import json options = webdriver.ChromeOptions() options.add_experimental_option("detach", True) #防止网页自动关闭 driver = webdriver.Chrome(options=options) #新电影网 url = "https://passport.xinpianchang.com/login?redirect_uri=https%3A%2F%2Fwww.xinpianchang.com%2Fuser%2F14390601&mode=quick&type=phone" #注意在打开网页后要先手动登录 driver.get(url) #获取cookie、是一个列表 cookies =driver.get_cookies() #将获取的cookies转化为字符串格式序列化 cookies_str = json.dumps(cookies) #将拿到的cookies保存在cookies.txt文本中 with open("cookies1.txt", "w", encoding="utf-8") as file: file.write(cookies_str)
使用已获取到的cookie进行登录
""" 在获取到了cookie前提下实现自动登录 """ from selenium import webdriver import json options = webdriver.ChromeOptions() options.add_experimental_option("detach", True) driver = webdriver.Chrome(options=options) #打开网页 #url = "https://kyfw.12306.cn/otn/resources/login.html" url = "https://passport.xinpianchang.com/login?redirect_uri=https%3A%2F%2Fwww.xinpianchang.com%2Fuser%2F14390601&mode=quick&type=phone" driver.get(url) #读取cookie with open("cookies1.txt", "r", encoding="utf-8") as file: cookies_str = file.read() #将字符串反序列化为json格式 cookies = json.loads(cookies_str) #将cookie注入浏览器、且要迭代一个一个注入 for cookie in cookies: driver.add_cookie(cookie) #登录后再打开首页、查看是否已经登录 driver.get("https://www.xinpianchang.com/")
本文作者:little小新
本文链接:https://www.cnblogs.com/littlecc/p/17949428
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步