首页 > 其他分享 >浅谈爬虫开发中几种形式的cookie的互相转换与利用

浅谈爬虫开发中几种形式的cookie的互相转换与利用

时间:2023-02-01 16:35:14浏览次数:45  
标签:BD cookie 浅谈 爬虫 BAIDUID dict import browser

前言

在我们写爬虫的过程中,cookie一般是我们最经常接触到的东西。而由于在爬虫过程中的各个阶段的难度往往不同,所以我们很多时候会采用浏览器、requests等等各种方案来在采集效率和开发难度中取得平衡。因此经常会遇到cookie的各种互相转换。

Cookie的转换

  • 字符串string形式转换为字典dict形式
from http.cookies import SimpleCookie
import json

cookie_str = """PHPSESSID=ufl7bh3adse15vvks0kusmgt92; ezoadgid_55920=-1; ezoref_55920=google.com"""

cookie = SimpleCookie()
cookie.load(cookie_str)

cookie_dict = {k: v.value for k, v in cookie.items()}

print(json.dumps(cookie_dict,indent=2))

结果为

{
  "PHPSESSID": "ufl7bh3adse15vvks0kusmgt92",
  "ezoadgid_55920": "-1",
  "ezoref_55920": "google.com"
}
  • selenium的name-value形式cookie转字典dict的cookie
from selenium import webdriver
import json

browser = webdriver.Chrome()

browser.get("https:///www.baidu.com")

browser_cookie = browser.get_cookies()

dict_cookie = {}

for c in browser_cookie:
    dict_cookie[c['name']] = c['value']

print(json.dumps(dict_cookie,indent=2))

结果为

{
  "ZFY": "g3:AuUuEFuAF1L0Zpt9:B3:BSIIYEoAucw7cHt4QJFly9s:C",
  "BAIDUID_BFESS": "64BC7B5CD127208685D64C19DB5A01FA:FG=1",
  "BA_HECTOR": "2pak8l2k000g2gck80000lj81htjm6j1l",
  "H_PS_PSSID": "36549_38105_38094_37907_37989_37800_37925_38086_26350_38101_38008_37881",
  "BAIDUID": "64BC7B5CD127208685D64C19DB5A01FA:FG=1",
  "BIDUPSID": "64BC7B5CD1272086BBA474D012BB5674",
  "PSTM": "1675221202",
  "BD_UPN": "12314753",
  "BD_HOME": "1"
}
  • 字典dict形式的cookie转requests cookie_jar
from requests.cookies import cookiejar_from_dict

dict_cookie = {
    "ZFY": "g3:AuUuEFuAF1L0Zpt9:B3:BSIIYEoAucw7cHt4QJFly9s:C",
    "BAIDUID_BFESS": "64BC7B5CD127208685D64C19DB5A01FA:FG=1",
    "BA_HECTOR": "2pak8l2k000g2gck80000lj81htjm6j1l",
    "H_PS_PSSID": "36549_38105_38094_37907_37989_37800_37925_38086_26350_38101_38008_37881",
    "BAIDUID": "64BC7B5CD127208685D64C19DB5A01FA:FG=1",
    "BIDUPSID": "64BC7B5CD1272086BBA474D012BB5674",
    "PSTM": "1675221202",
    "BD_UPN": "12314753",
    "BD_HOME": "1"
    }

cookie_jar  = cookiejar_from_dict(dict_cookie)

标签:BD,cookie,浅谈,爬虫,BAIDUID,dict,import,browser
From: https://www.cnblogs.com/dingnosakura/p/17083255.html

相关文章

  • 爬虫经验
    示例网站:  1、点页码只有后一部分start=1改变  2、点步长只有第一次url改变  构造方法 :尝试在1后加上2的一部分 ......
  • 爬虫工具(tkinter+scrapy+pyinstaller)
    需求介绍输入:关键字文件,每一行数据为一爬取单元。若一行存在多个and关系的关键字,则用|隔开处理:爬取访问6个网站的推送,获取推送内容的标题,发布时间,来源,正文第一段(不是图片......
  • 浅谈搜索引擎之solr篇
    Solr安装与配置1.1什么是Solr大多数搜索引擎应用都必须具有某种搜索功能,问题是搜索功能往往是巨大的资源消耗并且它们由于沉重的数据库加载而拖垮你的应用的性能。这就是为......
  • 博奥智源公司,浅谈软件运维服务项目需求设计
    1.企业门户网站(1)根据企业要求调整网站的排版;(2)根据第三方安全测评单位的检测报告对网站系统本身的漏洞和BUG进行修正;(3)在省、市政府测评范围内对网站系统功能进行变更和完......
  • python爬虫(三)- HTML解析之BeautifulSoup4
    BeautifulSoup可以从HTML、XML中提取数据。官网https://www.crummy.com/software/BeautifulSoup/官方中文文档https://www.crummy.com/software/BeautifulSoup/bs4/doc.......
  • [Python] 爬虫系统与数据处理实战 Part.4 数据库
    表单<form>...</form>创建HTML表单用于向服务器提交数据登录方式form-datax-www-form-urlencodedajax以json方式提交数据登录是为了得到cookie登录成功后Hea......
  • [Python] 爬虫系统与数据处理实战 Part.3 多线程和分布式
    为什么用快反爬虫 多线程复杂性资源、数据的安全性:锁保护原子性:数据操作是天然互斥的同步等待:wait()、notify()、notifyall()死锁:多个线程对资源互锁容灾:任......
  • 浅谈群论
    群一些基础子群若\(H\)是\(G\)的子集且\(<H,op>\)为群,则\(<H,op>\)为\(<G,op>\)的子群则\(H\)既满足封闭性且求逆封闭,\(\foralla,b\inH,ab\inH,a^{-1}\inH\)等......
  • 浅谈SQL Server 对于内存的管理
    简介   理解SQLServer对于内存的管理是对于SQLServer问题处理和性能调优的基本,本篇文章讲述SQLServer对于内存管理的内存原理。 二级存储(secondarystorage)......
  • 从Web服务器的攻击防御工具HttpGuard(防cc攻击等)看Web服务器的反爬虫设置 —— 如何
    HttpGuard网址:https://github.com/centos-bz/HttpGuard   从https://vv1234.cn/archives/243.html可知,如果同个IP的访问在一定时间内超过一定数量那么就会被判为......