• python3 获取cookie解决方案


    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)
  • 相关阅读:
    HTML5结构
    HTML5新增的非主体元素header元素、footer元素、hgroup元素、adress元素
    CF GYM 100703G Game of numbers
    CF GYM 100703I Endeavor for perfection
    CF GYM 100703K Word order
    CF GYM 100703L Many questions
    CF GYM 100703M It's complicate
    HDU 5313 Bipartite Graph
    CF 560e Gerald and Giant Chess
    POJ 2479 Maximum sum
  • 原文地址:https://www.cnblogs.com/lizm166/p/10008634.html
Copyright © 2020-2023  润新知