使用selenium打开网页并保存cookie至json文件

在编写爬虫,或者模拟浏览器进行一些操作时,如果每次都模拟用户输入账号密码登陆,实现步骤较为复杂,登陆后抓取cookies,在后续操作中使用cookies登陆是一种较为简便的方法。

因此,本文使用python3 + chromedriver,帮助完成cookies的抓取。

需要安装python3环境,安装selenium和json包,并下载对应版本的chromedriver

from selenium import webdriver
import json 

options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=options, executable_path='./chromedriver')

url = "about:blank"
driver.get(url)
# 此时浏览器已经打开,在浏览器中打开网页并登陆
filename = input("cookie文件名:") + ".cookies" # 输入cookie文件名
# 开始写入cookie
cookies = driver.get_cookies()
jsonCookies = json.dumps(cookies)
with open(filename,'w') as f:
    f.write(jsonCookies)
driver.close() # 写入完成后,关闭浏览器

使用方法

  • 安装python3和相关库,下载chromedriver并放在同一目录下
  • 运行代码
  • 在打开的浏览器中打开所要获取cookie的页面,并登陆
  • 在命令窗口输入保存cookie名并回车
  • 写入cookie完成后,程序自动退出

其他
本方法只是获取cookie诸多方法中比较麻烦的一种,其好处在于生成的就是cookie文件,下次使用时可以通过代码直接调用,其他通过控制台、通过浏览器插件、抓包等方式获取cookie的思路也非常可取,可以根据需要选择最方便好用的方法。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: from selenium import webdriverdriver = webdriver.Chrome() driver.get("https://www.example.com")# store the cookies cookies = driver.get_cookies()# write the cookies to a file with open('cookies.txt', 'w') as cookie_file: json.dump(cookies, cookie_file) ### 回答2: import pickle from selenium import webdriver # 创建一个新的浏览器对象 driver = webdriver.Chrome() # 打开一个网页 driver.get("https://www.example.com") # 获取当前页面的cookies cookies = driver.get_cookies() # 保存cookies到文件中 with open("cookies.pkl", "wb") as f: pickle.dump(cookies, f) # 关闭浏览器 driver.quit() ### 回答3: import pickle from selenium import webdriver def save_cookies(url, driver_path, cookies_file): driver = webdriver.Chrome(executable_path=driver_path) driver.get(url) # 获取cookies cookies = driver.get_cookies() # 保存cookies到文件 with open(cookies_file, 'wb') as file: pickle.dump(cookies, file) driver.quit() # 使用示例 url = 'https://www.example.com' driver_path = '/path/to/chromedriver' cookies_file = '/path/to/cookies.pkl' save_cookies(url, driver_path, cookies_file) 以上是一个使用Selenium保存cookies的程序。首先,我们需要导入pickle和selenium库。然后,定义一个保存cookies的函数save_cookies,该函数需要传入URL、浏览器驱动的路径和保存cookies的文件路径三个参数。 在函数内部,创建一个Chrome浏览器驱动对象,并使用get方法加载指定的URL页面。然后,使用get_cookies方法获取当前页面的cookies,并将其保存到一个变量中。 接下来,我们使用pickle库的dump方法,将cookies对象保存到指定的文件中。 最后,关闭浏览器驱动对象,保存cookies的操作完成。 使用示例中,我们传入了目标URL、浏览器驱动路径以及保存cookies的文件路径,并调用save_cookies函数进行保存

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值