zoukankan      html  css  js  c++  java
  • python—cookielib模块对cookies的操作

    最近用python写爬虫爬了点数据,确实是很好用的东西,今天对python如何操作cookie进行一下总结。

    python内置有cookielib模块操作cookie,配合urllib模块就可以了很轻易的爬取数据。

    #encoding:utf8
    import urllib2
    import cookielib
    
    #获取cookie,并将保存在变量中的cookie打印出来
    def Cookie():
        #声明一个CookieJar对象来保存cookie
        cookie = cookielib.CookieJar()
        #创建cookie处理器
        handler = urllib2.HTTPCookieProcessor(cookie)
        #构建opener
        opener = urllib2.build_opener(handler)
        #创建请求
        res = opener.open('http://www.baidu.com')
        for item in cookie:
            print 'name:' + item.name + '-value:' + item.value
    
    #将cookie保存在文件中
    def saveCookie():
        #设置保存cookie的文件
        filename = 'cookie.txt'
        #声明一个MozillaCookieJar对象来保存cookie,之后写入文件
        cookie = cookielib.MozillaCookieJar(filename)
        #创建cookie处理器
        handler = urllib2.HTTPCookieProcessor(cookie)
        #构建opener
        opener = urllib2.build_opener(handler)
        #创建请求
        res = opener.open('http://www.baidu.com')
        #保存cookie到文件
        #ignore_discard的意思是即使cookies将被丢弃也将它保存下来
        #ignore_expires的意思是如果在该文件中cookies已经存在,则覆盖原文件写入
        cookie.save(ignore_discard=True,ignore_expires=True)
    
    #从文件中获取cookie并且访问(我们通过这个方法就可以打开保存在本地的cookie来模拟登录)
    def getCookie():
        #创建一个MozillaCookieJar对象
        cookie = cookielib.MozillaCookieJar()
        #从文件中的读取cookie内容到变量
        cookie.load('cookie.txt',ignore_discard=True,ignore_expires=True)
        #打印cookie内容,证明获取cookie成功
        for item in cookie:
            print 'name:' + item.name + '-value:' + item.value
        #利用获取到的cookie创建一个opener
        handler = urllib2.HTTPCookieProcessor(cookie)
        opener = urllib2.build_opener(handler)
        res = opener.open('http://www.baidu.com')
        print res.read()
  • 相关阅读:
    Luogu P4205 [NOI2005]智慧珠游戏
    Luogu P3321 [SDOI2015]序列统计
    Luogu P2056 [ZJOI2007]捉迷藏
    Luogu P5168 xtq玩魔塔
    2019年一月刷题列表
    [转载]我们都是行走在镜面边缘的人
    [武汉加油] CF830C Bamboo Partition
    [武汉加油] [NOI Online 提高组]最小环
    [武汉加油] luogu P6178 【模板】Matrix-Tree 定理
    [武汉加油] bzoj 5099: [POI2018]Pionek 几何+双指针
  • 原文地址:https://www.cnblogs.com/isuifeng/p/5903116.html
Copyright © 2011-2022 走看看