首页 > 编程语言 >python中3种获取cookie解决方案

python中3种获取cookie解决方案

时间:2023-08-17 16:59:30浏览次数:41  
标签:__ get python 解决方案 获取 html cookie opener

方案一:

利用selenium+phantomjs无界面浏览器的形式访问网站,再获取cookie值:

from selenium import webdriver
 
driver=webdriver.PhantomJS()
url="https://et.xiamenair.com/xiamenair/book/findFlights.action?lang=zh&tripType=0&queryFlightInfo=XMN,PEK,2018-01-15"
driver.get(url)
# 获取cookie列表
cookie_list=driver.get_cookies()
# 格式化打印cookie
for cookie in cookie_list:
    cookie_dict[cookie['name']]=cookie['value']

方案二:

利用cookielib库获取:

from urllib import request
from http import cookiejar

#跳过SSL验证证书
import ssl
#设置忽略SSL验证
ssl._create_default_https_context = ssl._create_unverified_context

if __name__ == '__main__':
    #声明一个CookieJar对象实例来保存cookie
    cookie = cookiejar.CookieJar()
    #利用urllib.request库的HTTPCookieProcessor对象来创建cookie处理器,也就CookieHandler
    handler=request.HTTPCookieProcessor(cookie)
    #通过CookieHandler创建opener
    opener = request.build_opener(handler)
    #此处的open方法打开网页
    response = opener.open('http://www.baidu.com')
    #打印cookie信息
    for item in cookie:
        print('Name = %s' % item.name)
        print('Value = %s' % item.value)

方案三:

利用requests库获取:

def getCookie():
    url = "****"
    Hostreferer = {
        #'Host':'***',
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36'
    }
    #urllib或requests在打开https站点是会验证证书。 简单的处理办法是在get方法中加入verify参数,并设为False
    html = requests.get(url, headers=Hostreferer,verify=False)
    #获取cookie:DZSW_WSYYT_SESSIONID
    if html.status_code == 200:
        print(html.cookies)
        for cookie in html.cookies:
            print(cookie)

标签:__,get,python,解决方案,获取,html,cookie,opener
From: https://www.cnblogs.com/xxpythonxx/p/17638089.html

相关文章

  • python3添加ssl模块
    1.安装opensslwget https://www.openssl.org/source/openssl-1.1.1v.tar.gztar openssl-1.1.1v.tar.gzcd openssl-1.1.1v./config--prefix=/usr/local/opensslsharedzlib测试/usr/local/openssl/bin/openssl 若报错:/usr/local/openssl/bin/openssl:errorwhileloa......
  • Python实现自定义请求头消息headers
    使用python爬虫爬取数据的时候,经常会遇到一些网站的反爬虫措施,一般就是针对于headers中的User-Agent,如果没有对headers进行设置,User-Agent会声明自己是python脚本,而如果网站有反爬虫的想法的话,必然会拒绝这样的连接。而修改headers可以将自己的爬虫脚本伪装成浏览器的正常访问,来......
  • Python 有趣的模块之pynupt——通过pynput控制鼠标和键盘
    写在前面Python中有许多有趣和强大的模块,其中一个非常有趣的模块就是pynupt。pynupt是基于pynput模块的一个封装,用于控制鼠标和键盘。它可以实现自动化操作和游戏外挂等功能。本文将详细介绍pynupt模块的使用方法和常见的功能。1.安装pynput模块在开始使用pynupt之前,我们需要......
  • python3 安装clickhouse_sqlalchemy(greenlet) 失败
    环境信息:centos7操作系统,python3.8执行pip3installclickhouse_sqlalchemy或者pip3installgreenlet报以下报错:Command"/opt/python3.6.10-customized/bin/python3.6-u-c"importsetuptools,tokenize;file='/tmp/pip-install-wbyi43ip/greenlet/setup.py';f=g......
  • python中%d、%i、%.nf、%s占位符
     001、%d:整数%i:十进制整数%.nf:浮点数%s:字符串 举例:>>>print("aaaa%dbbbb"%10)##整数aaaa10bbbb>>>print("aaaa%ibbbb"%10)##十进制整数aaaa10bbbb>>>print("aaaa%.2fbbbb"%10)##浮点数......
  • python
    importrandomdefgenerate_random_number(start,end):returnrandom.randint(start,end)示例输入start=1end=100调用函数并打印结果random_number=generate_random_number(start,end)print("生成的随机整数为:",random_number)......
  • python中SeqIO模块处理fasta文件
     001、分别输出染色体ID、序列和序列的长度[root@PC1test02]#lsa.fatest.py[root@PC1test02]#cata.fa##测试数据>seq1AGAAGGGG>seq2AAACCTTTT>seq3AAATTTCCGG[root@PC1test02]#cattest.py##程序#!/usr/bin/envpython#-*-coding:......
  • Python 有趣的模块之pynupt——通过pynput控制鼠标和键盘
    写在前面Python中有许多有趣和强大的模块,其中一个非常有趣的模块就是pynupt。pynupt是基于pynput模块的一个封装,用于控制鼠标和键盘。它可以实现自动化操作和游戏外挂等功能。 本文将详细介绍pynupt模块的使用方法和常见的功能。1.安装pynput模块在开始使用pynupt之前,我们......
  • 桌面云教学一体机解决方案有哪些
    桌面云教学一体机是指将计算资源和教学软件部署在云端,通过终端设备(如终端电脑、平板等)进行访问和使用,实现远程教学的解决方案,可以在教学过程中可以涵盖各种场景。一、桌面云一体机的教学场景云端课堂:桌面云的一体机解决方案可以帮助教师实现远程课堂,对比以前传统的教师教学环境,......
  • 适用于各行业的桌面云解决方案-青椒云
    青椒云是一款基于云计算技术的桌面云解决方案,通过将计算资源和应用程序虚拟化在云服务器上,实现了将高性能计算和资源共享带入到用户的终端设备中。青椒云可以帮助用户实现远程访问、数据存储、多人协作和数据安全等功能,适用于各行业的桌面云需求。一、设计类行业对于设计行业来......