Python爬虫之——Cookie存储器
目录
- 专栏导读
- 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等信息
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、完整代码
# -*- 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基础学习专栏
相关文章:
Python爬虫之——Cookie存储器
目录 专栏导读1、背景介绍2、库的安装3、核心代码4、完整代码总结 专栏导读 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 🏳️🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注 &…...
第21节课:前端构建工具—自动化与模块化的利器
目录 前端构建工具的重要性任务运行器:Gulp与GruntGulpGulp的工作原理安装与使用Gulp GruntGrunt的工作原理安装与使用Grunt 模块打包器:WebpackWebpack简介Webpack的工作原理安装与使用Webpack 实践:使用Gulp和Webpack构建前端项目示例&…...
企业SaaS(软件即服务)行业中AARRR
获取(Acquisition) 通过各种渠道吸引用户。 社交媒体广告:Facebook、Instagram等平台的广告。 内容营销:通过博客、视频等吸引用户。 SEO优化:提高网站在搜索引擎中的排名。 合作营销:与其他企业合作进行交…...
为什么要学习rust
内存管理:对于我来说,我就喜欢它的内存管理。我做了一个webapi,取100万行数据,导出到xlsx,再把这个xlsx文件发送给前端。分别用了java、c#、go和rust进行了相同的操作。只有rust做到了,启动时8MB内存&#…...
观察者模式和订阅发布模式的关系
有人把观察者模式等同于发布订阅模式,也有人认为这两种模式存在差异,本质上就是调度的方法不同。 发布订阅模式: 观察者模式: 相比较,发布订阅将发布者和观察者之间解耦。(发布订阅有调度中心处理)...
基于STM32的智能温控花盆设计
目录 引言系统设计 硬件设计软件设计 系统功能模块 空气质量传感器模块数据处理与分析模块实时显示与用户交互模块报警与提示模块远程监控与数据上传模块 控制算法 空气质量数据处理与分析算法异常检测与报警算法数据上传与历史数据回溯算法 代码实现 空气质量检测与数据处理代…...
OpenAI-Edge-TTS:本地化 OpenAI 兼容的文本转语音 API,免费高效!
文本转语音(TTS)技术已经成为人工智能领域的重要一环,无论是语音助手、教育内容生成,还是音频文章创作,TTS 工具都能显著提高效率。今天要为大家介绍的是 OpenAI-Edge-TTS,一款基于 Microsoft Edge 在线文本…...
P4681 [THUSC 2015] 平方运算 Solution
Description 给定序列 a ( a 1 , a 2 , ⋯ , a n ) a(a_1,a_2,\cdots,a_n) a(a1,a2,⋯,an) 和常数 p p p ,有 m m m 个操作,分以下两种: modify ( l , r ) \operatorname{modify}(l,r) modify(l,r):对每个 i ∈ [ …...
【apt源】RK3588 平台ubuntu20.04更换apt源
RK3588芯片使用的是aarch64架构,因此在Ubuntu 20.04上更换apt源时需要使用针对aarch64架构的源地址。以下是针对RK3588芯片在Ubuntu 20.04上更换apt源到清华源的正确步骤: 步骤一:打开终端 在Ubuntu 20.04中,按下Ctrl Alt T打…...
Angular 2 表单深度解析
Angular 2 表单深度解析 引言 Angular 2作为现代前端开发的框架之一,以其灵活性和强大的功能赢得了众多开发者的青睐。在Angular 2中,表单处理是其中一个重要且复杂的部分。本文将深入解析Angular 2的表单,从基础知识到高级应用,旨在帮助开发者更好地理解和运用Angular 2…...
PHP 7 新特性
PHP 7 新特性 引言 PHP 作为一种广泛使用的服务器端脚本语言,自1995年诞生以来,已经经历了多个版本的迭代。PHP 7 是 PHP 的发展历程中的一个重要里程碑,它带来了许多新特性和改进,旨在提高性能、增强安全性和简化开发过程。本文将详细介绍 PHP 7 的新特性,帮助开发者更…...
vim如何解决‘’文件非法关闭后,遗留交换文件‘’的问题
过程描述: 由于我修改文件时(一定得修改了文件,不做任何修改不会产生这个问题)的非法关闭,比如直接关闭虚拟机,或者直接断开远程工具的远程连接,产生了以下遗留交换文件的问题: 点击…...
【练习】树形dp
G. Group Homework time limit per test: 3 s memory limit per test: 512 MB input: standard input output: standard output No, we don’t want group homework. It’s the place where KaTeX parse error: Expected EOF, got & at position 7: 1 1 &̲lt; 1 …...
Mybatis是如何进行分页的?
大家好,我是锋哥。今天分享关于【Mybatis是如何进行分页的?】面试题。希望对大家有帮助; Mybatis是如何进行分页的? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 MyBatis 实现分页的方式有很多种,最常见…...
【新春特辑】2025年春节技术展望:蛇年里的科技创新与趋势预测
🔥【新春特辑】2025年春节技术展望:蛇年里的科技创新与趋势预测 📅 发布日期:2025年01月29日(大年初一) 在这个辞旧迎新的美好时刻,我们迎来了充满希望的2025年,也是十二生肖中的蛇…...
论文笔记(六十三)Understanding Diffusion Models: A Unified Perspective(五)
Understanding Diffusion Models: A Unified Perspective(五) 文章概括基于得分的生成模型(Score-based Generative Models) 文章概括 引用: article{luo2022understanding,title{Understanding diffusion models: A…...
C++并发:C++内存模型和原子操作
C11引入了新的线程感知内存模型。内存模型精确定义了基础构建单元应当如何被运转。 1 内存模型基础 内存模型牵涉两个方面:基本结构和并发。 基本结构关系到整个程序在内存中的布局。 1.1 对象和内存区域 C的数据包括: 内建基本类型:int&…...
JavaScript函数中this的指向
总结:谁调用我,我就指向谁(es6箭头函数不算) 一、ES6之前 每一个函数内部都有一个关键字是 this ,可以直接使用 重点: 函数内部的 this 只和函数的调用方式有关系,和函数的定义方式没有关系 …...
【java学习笔记】@Autowired注解 使用方法和作用 | 配合@Component注解使用 | IOC控制反转
原本在类中,要用什么对象,就直接new一个对象。这种原始的方式 是由应用本身去控制实例的。 用了Autowired注解后,就相当于把实例(对象)的控制权 交给外部容器来统一管理(降低耦合)。(…...
数论问题76一一容斥原理
容斥原理是一种计数方法,用于计算多个集合的并集中元素的个数,以避免重复计算。以下是其基本内容及相关公式: 两个集合的容斥原理 若有集合A和集合B,那么A与B的并集中元素的个数等于A集合元素个数加上B集合元素个数,再…...
Llama.cpp Docker镜像部署指南:快速搭建本地大模型运行环境
1. 项目概述:为什么需要为Llama.cpp准备Docker镜像? 在本地部署和运行大型语言模型(LLM)这件事上,Llama.cpp 几乎成了开源社区的“标准答案”。它用纯C/C编写,通过高效的量化技术,让我们能在消费…...
别再微调模型了!Claude 3.5 Sonnet新增3类零样本指令模板:Prompt工程师的最后护城河正在崩塌?
更多请点击: https://intelliparadigm.com 第一章:Claude 3.5 Sonnet零样本指令能力的范式跃迁 Claude 3.5 Sonnet 在零样本(zero-shot)场景下展现出前所未有的指令理解与泛化能力,标志着大模型从“模式复现”向“意图…...
AI产品经理转型指南——传统PM如何不被淘汰
文章针对想转型AI产品经理但缺乏经验的人提供了实用的转型路径。首先,文章指出传统产品经理的焦虑源于视角受限,而非技术能力不足,并提出AI无法替代产品经理对用户、业务和组织的深度理解。接着,文章建议转型者从“用AI重做一遍”…...
Windows本地AI开发环境搭建:OpenClaw与Ollama集成指南
1. 项目概述:一个为Windows开发者量身打造的本地AI开发环境如果你是一名在Windows 11上工作,同时又对本地运行大语言模型(LLM)和AI助手感兴趣的开发者,那么你很可能已经体验过那种“配置地狱”:WSL2、Docke…...
为AI智能体构建自动化RSS信息管道:agent-rss工具详解与实践
1. 项目概述:为AI智能体打造的RSS信息管道 如果你正在构建或使用AI智能体(比如Claude Code、OpenClaw这类工具),并且希望它们能像人类一样,定时、定向地获取互联网上的最新信息,那么你很可能需要一个专门为…...
FreeVA:零训练成本,用图像大模型实现视频理解的新范式
1. 项目概述:一个无需训练的“零成本”视频助手 最近在折腾多模态大模型(MLLM)的时候,我发现了一个挺有意思的现象:大家一提到让模型理解视频,第一反应就是得搞“视频指令微调”。简单说,就是拿…...
基于Helm与Kubernetes的以太坊节点自动化部署与运维实战
1. 项目概述:当以太坊遇见Kubernetes如果你和我一样,在区块链基础设施领域摸爬滚打多年,从早期手动编译客户端、配置systemd服务,到后来用Docker Compose编排节点,每一步都伴随着大量的重复劳动和运维痛点。当节点数量…...
Sora 2正式版突然开放API灰度权限?我们逆向解析了127行响应头与rate limit策略,发现3个隐藏调用阈值
更多请点击: https://intelliparadigm.com 第一章:Sora 2正式版核心能力与架构演进 Sora 2正式版标志着视频生成大模型从研究原型迈向工业级部署的关键跃迁。其底层架构采用分层时空联合建模(Hierarchical Spatio-Temporal Transformer&…...
ComfyUI-WanVideoWrapper:一站式AI视频生成插件解决方案
ComfyUI-WanVideoWrapper:一站式AI视频生成插件解决方案 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper ComfyUI-WanVideoWrapper是一个专为ComfyUI设计的视频生成插件包装器&#x…...
基于开关电容器的级联多电平逆变器,使用布尔PWM控制技术研究(Simulink仿真实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
