【Python网络爬虫】获取cookie的方法

本文详细介绍了手动、使用requests库、Session以及Selenium无头浏览器这四种方式来获取网页Cookie的方法。通过手动操作浏览器开发者工具,可以查看到Cookie;使用requests库的get方法获取Cookie;通过Session保持会话状态来获取;Selenium模拟浏览器行为,适用于动态加载的Cookie。示例代码中包含了具体的实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


原文作者:我辈理想
版权声明:文章原创,转载时请务必加上原文超链接、作者信息和本声明。

一、手动获取

1.通过浏览器打开网站
2.网页右键检查或F12
3.右上找到网络或network
4.在xhr下,重新刷新网页
5.左键名称下的链接,右侧弹出中headers(标头)中存在cookie

二、requsets获取

import requests

def fun_1():
    """方式一:CookieJar"""
    # province省份,creditcode统一社会信用代码,company市场主体(企业名字),cpmc地理标志(特产),
    url_search = 'https://dlbzsl.hizhuanli.cn:8888/Logo/Result?cpmc=' + '五常大米' + '&company=&creditcode='
    res = requests.get(url_search)
    cookiejar = res.cookies
    cookies = requests.utils.dict_from_cookiejar(cookiejar)
    print(cookiejar)
    print(cookies)

三、Session获取

import requests

def fun_2():
    """方式二:Session"""
    session = requests.Session()
    # province省份,creditcode统一社会信用代码,company市场主体(企业名字),cpmc地理标志(特产),
    url_search = 'https://dlbzsl.hizhuanli.cn:8888/Logo/Result?cpmc=' + '五常大米' + '&company=&creditcode='
    cookies = session.get(url_search).cookies.get_dict()
    print(cookies)

四、selenium获取

from selenium import webdriver

def fun_3():
    # province省份,creditcode统一社会信用代码,company市场主体(企业名字),cpmc地理标志(特产),
    url_search = 'https://dlbzsl.hizhuanli.cn:8888/Logo/Result?cpmc=' + '五常大米' + '&company=&creditcode='

    # 无头浏览
    option = webdriver.ChromeOptions()
    option.add_argument("headless")
    chrome_path = r'C:\Users\lenovo\PycharmProjects\爬虫示例代码\获取cookie\chromedriver.exe'
    browser = webdriver.Chrome(options=option)
    browser.get(url_search)
    # 延迟10秒
    time.sleep(10)
    cookies = browser.get_cookies()
    print(cookies)
    print('ASP.NET_SessionId的值:', cookies[0].get('value'))
    # 关闭浏览器
    browser.close()

五、其他示例代码

import requests

url = 'https://www.processon.com/login'
login_email = '283867@qq.com'
login_password = 'ZZZ0'
# 创建一个session,作用会自动保存cookie
session = requests.session()
data = {
    'login_email': login_email,
    'login_password': login_password
}
# 使用session发起post请求来获取登录后的cookie,cookie已经存在session中
response = session.post(url = url,data=data)

# 用session给个人主页发送请求,因为session中已经有cookie了
index_url = 'https://www.processon.com/diagrams'
index_page = session.get(url=index_url).text
print(index_page)

参考链接:

爬虫——cookie模拟登陆

爬虫之模拟登录、自动获取cookie值、验证码识别_小狐狸梦想去童话镇的博客-CSDN博客_go爬虫自动识别验证码登陆

爬虫中获取cookie的方式 - 程序员一学徒 - 博客园 (cnblogs.com)

利用requests库获取cookie的两种方式_龙王.*?的博客-CSDN博客_requests查看cookie

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我辈李想

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值