首页 > 其他分享 >3、爬虫-selenium-获取用户cookie的使用

3、爬虫-selenium-获取用户cookie的使用

时间:2024-07-01 22:35:47浏览次数:25  
标签:webdriver cookies get selenium driver 爬虫 cookie options

注意这里使用的是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/")

标签:webdriver,cookies,get,selenium,driver,爬虫,cookie,options
From: https://www.cnblogs.com/littlecc/p/17949428

相关文章

  • 5、爬虫-数据的提取-xpath-html中提取
    从哪里提取:html、json、xml实现方式:正则、截取、xpath、css、bs4 这里使用xpath工具:  ·安装:pipinstalllxml """使用xpath工具提取网页中视频的标题"""importrequestsfromlxmlimportetree#使用xpathheaders={"User-Agent":"Mozilla/5.0......
  • 4、爬虫-数据获取之双R(CS/BS)与chrom检查工具使用-requests请求
    模拟客户端请求服务端:  ·模拟请求行和请求头、请求体 """模拟客户端请求获取静态数据和动态数据使用python自己去构造请求使用request""""""请求的构成:请求行、请求头、请求体"""###########################静态页面加载请求的##############################......
  • 7、爬虫-爬取音乐
    1、查找请求音乐播放的请求url地址:以酷我音乐为例  拿到url对url进行分析:https://www.kuwo.cn/api/v1/www/music/playUrl?mid=326968713&type=music&httpsStatus=1&reqId=bf6ff0b0-acb0-11ee-bf9b-c39de8563da8&plat=web_www&from=  mid=不同歌曲的id  type=音乐......
  • 6-爬虫-数据存储
    分类:  文本类型数据:txt、csv、execl、数据库  多媒体类型:图片、音乐、视频"""y音频存储"""importrequestsheaders={"User-Agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/120.0.0.0S......
  • 8、爬虫-beatifulsoup-bs4
     beatifulsoup的概念:BeautifulSoup就是Python的一个HTML或XML的解析库,可以用它方便地提取页面的数据。  1、安装bs4:pipinstallbs42、使用:frombs4importBeautifulSoup3、创建对象:BeautifulSoup(文本,“html.parser”)  #html.parser告诉解析器这是个html文本4、b......
  • 10、爬虫-requests的使用-session()、防盗链
    #会话-cookie的使用requests.session()"""先登录网站、找到llogin相关的url得到cookie、拿到formatData中的信息带着cookie去请求url使用cookie去访问(session-会话)该网站其它内容的时候都会带着cookie"""importrequests#创建会话session=requests.session()#用户......
  • 9、爬虫-xpath-selenium爬取网页隐藏元素
    安装:pipinstalllxml1、导入:fromlxmlimportetree2、创建对象:  tree=etree.XML(xml文件)  tree=etree.HTML(html文件)  等3、找标签:  tree.xpath("//book/name/text()")4、语法:  text()表示取节点标记的文字  tree.xpath("//book/publisher[3]/text()......
  • 13、爬虫-协程-asyncio和异步操作-aiohttp
    概念:当程序sleep或者input、output等待的时候、cpu是处于堵塞状态的、cpu此时是不再为我们的代码服务的、所以协程就是当遇到了前面这种情况的时候可以选择性的切换到其他任务上 同步协程:asyncio当程序在睡眠的时候注意加上:awaitasyncio.sleep(2)"""多任务协程asyncio......
  • 14、爬虫-异步协程爬取西游记小说-aiohttp-aiofiles
     注意:有关所有的IO操作都要加上:await挂起 """https://dushu.baidu.com/pc/detail?gid=4306063500#小说网站https://dushu.baidu.com/api/pc/getCatalog?data={%22book_id%22:%224306063500%22}#可以拿到每个章节的bookid、cid(每个章节的id)、这里%22相当于"号htt......
  • python教程---网络爬虫
    7.1urllibUrllib是Python内置的一个用于读取来自Web的数据的库。它是一个请求库,可以用来发送HTTP请求,获取网页内容,支持多种HTTP方法,如GET和POST等。使用Urllib读取网页内容的步骤如下:导入Urllib库中的request模块。importurllib.request使用urlopen()函数发送HTTP请求,......