zoukankan      html  css  js  c++  java
  • python3 获取cookie

    方案一:

    利用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)
  • 相关阅读:
    Edge 修改使用的默认搜索引擎
    VSCode 插件之
    Visual Studio Code 插件之
    一个随笔
    COGS 2479 偏序 题解
    [NOIP2015] 子串substring 题解
    [CQOI2011]动态逆序对
    树套树三题 题解
    一个随笔
    HEOI 2016 游记
  • 原文地址:https://www.cnblogs.com/lincappu/p/12911412.html
Copyright © 2011-2022 走看看