Python3获取cookie常用三种方案


Posted in Python onOctober 05, 2020

方案一:

利用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库获取:

(1)Python2

import cookielib
import urllib2
Url = "https://et.xiamenair.com/xiamenair/book/findFlights.action?lang=zh&tripType=0&queryFlightInfo=XMN,PEK,2018-01-15"
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
urllib2.install_opener(opener)
resp = urllib2.urlopen(Url)
for index, cookie in enumerate(cj):
  print '[',index, ']',cookie

(2)Python3

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库获取:

Python3

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)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python编程中time模块的一些关键用法解析
Jan 19 Python
Python实现的异步代理爬虫及代理池
Mar 17 Python
python 内置模块详解
Jan 01 Python
Python图像的增强处理操作示例【基于ImageEnhance类】
Jan 03 Python
详解Python基础random模块随机数的生成
Mar 23 Python
numpy库与pandas库axis=0,axis= 1轴的用法详解
May 27 Python
使用python实现男神女神颜值打分系统(推荐)
Oct 31 Python
详解Python可视化神器Yellowbrick使用
Nov 11 Python
Python自动采集微信联系人的实现示例
Feb 28 Python
Anaconda的安装及其环境变量的配置详解
Apr 22 Python
详解python的super()的作用和原理
Oct 29 Python
python百行代码实现汉服圈图片爬取
Nov 23 Python
Python collections.deque双边队列原理详解
Oct 05 #Python
Python全局变量与global关键字常见错误解决方案
Oct 05 #Python
Python定时任务框架APScheduler原理及常用代码
Oct 05 #Python
Python xmltodict模块安装及代码实例
Oct 05 #Python
Python pathlib模块使用方法及实例解析
Oct 05 #Python
Python fileinput模块如何逐行读取多个文件
Oct 05 #Python
Python利用Pillow(PIL)库实现验证码图片的全过程
Oct 04 #Python
You might like
晶体管来复再生式二管收音机
2021/03/02 无线电
php实现微信公众号无限群发
2015/10/11 PHP
php生成mysql的数据字典
2016/07/07 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
2017/10/23 PHP
如何使用Jquery获取Form表单中被选中的radio值
2013/08/09 Javascript
深入理解JavaScript高级之词法作用域和作用域链
2013/12/10 Javascript
javascript浏览器兼容教程之事件处理
2014/06/09 Javascript
jQuery学习总结之jQuery事件
2014/06/30 Javascript
jquery中EasyUI使用技巧小结
2015/02/10 Javascript
浅谈javascript语法和定时函数
2015/05/03 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
2016/05/10 Javascript
在JavaScript中模拟类(class)及类的继承关系
2016/05/20 Javascript
Canvas放置反弹效果随机图形(实例)
2017/08/17 Javascript
springMvc 前端用json的方式向后台传递对象数组方法
2018/08/07 Javascript
JS实现textarea通过换行或者回车把多行数字分割成数组并且去掉数组中空的值
2018/10/29 Javascript
深入webpack打包原理及loader和plugin的实现
2020/05/06 Javascript
js操作两个json数组合并、去重,以及删除某一项元素
2020/09/22 Javascript
NodeJS模块Buffer原理及使用方法解析
2020/11/11 NodeJs
python查询sqlite数据表的方法
2015/05/08 Python
python如何获取服务器硬件信息
2017/05/11 Python
Python时间的精准正则匹配方法分析
2017/08/17 Python
Centos部署django服务nginx+uwsgi的方法
2019/01/02 Python
Python脚本按照当前日期创建多级目录
2019/03/01 Python
Python-Seaborn热图绘制的实现方法
2019/07/15 Python
python处理大日志文件
2019/07/23 Python
Python如何使用内置库matplotlib绘制折线图
2020/02/24 Python
Pytest如何使用skip跳过执行测试
2020/08/13 Python
五分钟带你搞懂python 迭代器与生成器
2020/08/30 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
2021/02/26 Python
女装和独特珠宝:Sundance Catalog
2018/09/19 全球购物
如何写一个Java类既可以用作applet也可以用作java应用
2016/01/18 面试题
毕业生工作求职信
2014/06/30 职场文书
运动会跳远广播稿5篇
2014/09/17 职场文书
2015年转正工作总结范文
2015/04/02 职场文书
解决Git推送错误non-fast-forward的方法
2022/06/25 Servers
html解决浏览器记住密码输入框的问题
2023/05/07 HTML / CSS