Python爬虫之——Cookie存储器

server/2025/2/1 20:12:14/

目录

  • 专栏导读
  • 1、背景介绍
  • 2、库的安装
  • 3、核心代码
  • 4、完整代码
  • 总结

专栏导读

在这里插入图片描述

  • 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手

  • 🏳️‍🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注

  • 👍 该系列文章专栏:请点击——>Python办公自动化专栏求订阅

  • 🕷 此外还有爬虫专栏:请点击——>Python爬虫基础专栏求订阅

  • 📕 此外还有python基础专栏:请点击——>Python基础学习专栏求订阅

  • 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏

  • ❤️ 欢迎各位佬关注! ❤️

1、背景介绍

  • 有时候我们在爬虫的时候,经常使用到Cookie,于是为了方便复制粘贴,可以将这一部分单独分离出来,只用来粘贴Cookie,然后存入json中

在这里插入图片描述

在这里插入图片描述

  • 其他程序如果需要,就可以直接加载这个Cookie,然后直接使用,也可以直接上线上化,存入某个网络地址中,直接下载使用

2、库的安装

用途安装
PyQt5界面设计pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple/

3、核心代码

  • ①:保存Cookie等信息

python">def save_cookie(self):cookie_dict = {"accessToken": self.access_token_input.text(),"Cookie": self.cookie_input.text()}# 文件夹就创建if not os.path.exists("cookie_json"):os.makedirs("cookie_json")try:with open("cookie_json/cookie.json", "w", encoding="utf-8") as f:json.dump(cookie_dict, f, ensure_ascii=False, indent=4)QMessageBox.information(self, "成功", "保存成功!")except Exception as e:QMessageBox.critical(self, "错误", f"保存失败:{str(e)}")

4、完整代码

python"># -*- coding: UTF-8 -*-
'''
@Project :Cookie收集界面工具
@File    :_0_cookie_.py
@IDE     :PyCharm 
@Author  :一晌小贪欢(278865463@qq.com)
@Date    :2025/1/23 19:08 
'''
import os
import sys
import json
from PyQt5.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout,QLabel, QLineEdit, QPushButton, QMessageBox)class CookieToolWindow(QMainWindow):def __init__(self):super().__init__()self.initUI()def initUI(self):# 设置窗口标题和大小self.setWindowTitle('Cookie设置工具')self.setGeometry(300, 300, 500, 250)  # 调整窗口大小# 创建中心部件和布局central_widget = QWidget()self.setCentralWidget(central_widget)layout = QVBoxLayout(central_widget)layout.setSpacing(15)  # 增加控件之间的间距# 设置全局样式self.setStyleSheet("""QMainWindow {background-color: #f5f5f5;}QLabel {font-size: 14px;font-weight: bold;color: #333333;}QLineEdit {padding: 8px;font-size: 13px;border: 1px solid #cccccc;border-radius: 4px;background-color: white;}QPushButton {padding: 10px;font-size: 14px;font-weight: bold;color: white;background-color: #2196F3;border: none;border-radius: 4px;min-height: 40px;}QPushButton:hover {background-color: #1976D2;}""")# 创建accessToken输入框self.access_token_label = QLabel('Access Token:')self.access_token_input = QLineEdit()self.access_token_input.setPlaceholderText('请输入Access Token')layout.addWidget(self.access_token_label)layout.addWidget(self.access_token_input)# 创建Cookie输入框self.cookie_label = QLabel('Cookie:')self.cookie_input = QLineEdit()self.cookie_input.setPlaceholderText('请输入Cookie')layout.addWidget(self.cookie_label)layout.addWidget(self.cookie_input)# 创建保存按钮self.save_button = QPushButton('保存')self.save_button.clicked.connect(self.save_cookie)layout.addWidget(self.save_button)# 设置布局的边距layout.setContentsMargins(20, 20, 20, 20)# 加载现有的cookie数据self.load_existing_cookie()def load_existing_cookie(self):try:with open("cookie_json/cookie.json", "r", encoding="utf-8") as f:cookie_dict = json.load(f)self.access_token_input.setText(cookie_dict.get("accessToken", ""))self.cookie_input.setText(cookie_dict.get("Cookie", ""))except FileNotFoundError:passdef save_cookie(self):cookie_dict = {"accessToken": self.access_token_input.text(),"Cookie": self.cookie_input.text()}# 文件夹就创建if not os.path.exists("cookie_json"):os.makedirs("cookie_json")try:with open("cookie_json/cookie.json", "w", encoding="utf-8") as f:json.dump(cookie_dict, f, ensure_ascii=False, indent=4)QMessageBox.information(self, "成功", "保存成功!")except Exception as e:QMessageBox.critical(self, "错误", f"保存失败:{str(e)}")def main():app = QApplication(sys.argv)window = CookieToolWindow()window.show()sys.exit(app.exec_())if __name__ == '__main__':main() 

总结

  • 希望对初学者有帮助

  • 致力于办公自动化的小小程序员一枚

  • 希望能得到大家的【一个免费关注】!感谢

  • 求个 🤞 关注 🤞

  • 此外还有办公自动化专栏,欢迎大家订阅:Python办公自动化专栏

  • 求个 ❤️ 喜欢 ❤️

  • 此外还有爬虫专栏,欢迎大家订阅:Python爬虫基础专栏

  • 求个 👍 收藏 👍

  • 此外还有Python基础专栏,欢迎大家订阅:Python基础学习专栏


http://www.ppmy.cn/server/164153.html

相关文章

Elasticsearch的开发工具(Dev Tools)

目录 说明1. **Console**2. **Search Profiler**3. **Grok Debugger**4. **Painless Lab**总结 说明 Elasticsearch的开发工具(Dev Tools)在Kibana中提供了多种功能强大的工具,用于调试、优化和测试Elasticsearch查询和脚本。以下是关于Cons…

Python练习(3)

今日题单 刮刮彩票字母串胎压监测别再来这么多猫娘了!吃火锅前世档案统计数字字符和空格随机输一次 代码示例 刮刮彩票 price [10000, 36, 720, 360, 80, 252, 108, 72, 54, 180, 72, 180, 119, 36, 306, 1080, 144, 1800, 3600] lst [] x 0 for i in range(…

字符串反转

一、问题背景 给定一个字符数组,任务是将其原地反转。也就是说,我们要修改原始数组,而不是创建一个新的数组。 例如,输入的字符数组为: char[] s {h, e, l, l, o};反转后的结果应该是: {o, l, l, e, h…

三次方根pow

给定一个浮点数n,求它的三次方根。 输入格式: 共一行,包含一个浮点数n,−10000≤n≤10000。 输出格式: 共一行,包含一个浮点数,表示问题的解。 注意,结果保留6位小数。 输入样例: 1000.00输出样例: 10.000000 …

Mac安装Redis并设置launchd自启动

下载和编译redis源码 方便mac同学,不想使用brew方式安装,又想开机自启动redis,简单记录一下。首先下载redis7.0.15.tar.gz源码包 tar -xf tar -zxf redis-7.0.15.tar.gz开始编译源码 cd redis-7.0.15 sudo cp redis.conf /etc/redis.conf …

网络安全 | F5-Attack Signatures-Set详解

关注:CodingTechWork 创建和分配攻击签名集 可以通过两种方式创建攻击签名集:使用过滤器或手动选择要包含的签名。  基于过滤器的签名集仅基于在签名过滤器中定义的标准。基于过滤器的签名集的优点在于,可以专注于定义用户感兴趣的攻击签名…

【MyDB】4-VersionManager 之 4-VM的实现

【MyDB】4-VersionManager 之 4-VM的实现 VM 的实现VM(VersionManager)的基本定义与实现优化具体功能实现begin()开启事务commit()提交事务abort 中止事务read 读取uid对应的数据记录所在的entryinsert方法,插入数据delete方法 VM 的实现 本章代码位于:t…

计算机网络——OSI和TCP/IP模型

OSI模型 一、OSI模型概述 OSI模型是一个理论框架,将网络通信分为七层,旨在提供一个通用的、国际化的网络通信标准,强调分层解耦和协议独立性。其特点如下: 严格分层:每层功能明确。协议与实现分离:理论上…