python爬虫之获取谷歌浏览器所有cookie

文章介绍了如何使用Python从谷歌浏览器中获取并解密cookie,详细讲解了cookie的工作原理、类型和存储位置。提供的代码示例展示了如何通过SQLite数据库连接提取特定域名的cookie,并使用解密函数处理加密的cookie值。

python爬虫之获取谷歌浏览器所有cookie

前言:爬虫大家肯定都不陌生了,但是有的网站就设计了爬虫和反爬虫的措施,下面就介绍一下爬虫的思路

先来彻底了解一下cookie

cookie介绍:
cookie是保存在客户机中以键值对形式存储的少量信息的文本文件(重点),是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。

定义于 RFC2109 和 2965 中的都已废弃,最新取代的规范是 RFC6265。

cookie的工作流程:
cookie 其实是存储在浏览器中的纯文本,这个文件路径也很好找,下面会详细的说明。(不要着急)

当网页要发http请求时,浏览器会先检查是否有相应的cookie,有则自动添加在request header中的cookie字段中。这些是浏览器自动帮我们做的,每次都会被浏览器自动放在http请求中。

但在 localStorage 出现之前,cookie被滥用当做了存储工具。什么数据都放在cookie中,即使这些数据只在页面中使用而不需要随请求传送到服务端。当然cookie标准还是做了一些限制的:每个域名下的cookie 的大小最大为4KB,每个域名下的cookie数量最多为20个(但很多浏览器厂商在具体实现时支持大于20个)。

cookie的分类:
cookie分为会话cookie和持久cookie,会话cookie是指在不设定它的生命周期expires时的状态,浏览器的开启到关闭就是一次会话,当关闭浏览器时,会话cookie就会跟随浏览器而销毁。当关闭一个页面时,不影响会话cookie的销毁。会话cookie就像我们没有办理积分卡时,单一的买卖过程,离开之后,信息则销毁。

持久cookie则是设定了它的生命周期expires,此时,cookie像商品一样,有个保质期,关闭浏览器之后,它不会销毁,直到设定的过期时间。对于持久cookie,可以在同一个浏览器中传递数据,比如,你在打开一个淘宝页面登陆后,你在点开一个商品页面,依然是登录状态,即便你关闭了浏览器,再次开启浏览器,依然会是登录状态。这就是因为cookie自动将数据传送到服务器端,在反馈回来的结果。持久cookie就像是我们办理了一张积分卡,即便离开,信息一直保留,直到时间到期,信息销毁。

cookie的位置:
Chrome的Cookie存放位置:C:\Users\xxx\AppData\Local\Google\Chrome\User Data\Default

进入这个文件夹可以发现一个cookie文件

查阅资料说是一个sqlite数据库文件,我们通过谷歌浏览器访问的网站所产生的sookie都存在这个文本文件里,打开后就是这个样子

乱码一大片,不过仔细观察还能发现点东西的

是不是似曾相识的感觉,以百度页面为例

这点东西就是我们后面需要用的

python代码:

import csv
import sqlite3
import urllib3
import os
import json
import sys
import base64
from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)


def dpapi_decrypt(encrypted):
    import ctypes
    import ctypes.wintypes
    class DATA_BLOB(ctypes.Structure):
        _fields_ = [('cbData'
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值