cookie解析

__author__ = 'huafeng'
#coding:utf-8
import requests

url = 'http://www.zhihu.com/topics#%E6%91%84%E5%BD%B1'
# s = requests.session()
r = requests.get(url)#如果不请求过程中不涉及session信息的修改,则无需使用request.session(),因为源码中
'''
    def request():
        session = sessions.Session()
        return session.request(method=method, url=url, **kwargs)
'''
#即,requests本身已经封装了session请求,第一次请求返回的session信息都会作为参数出现在之后的请求中,但是若新的请求有session信息返回,则会覆盖前一次的session信息
#若需要在执行过程中去更新session则需要使用s = requests.session(),执行过程中通过s来修改session信息

cookie = r.cookies
#cookie 的属性以及方法:['_MutableMapping__marker', '__abstractmethods__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dict__', '__doc__', '__eq__', '__format__', '__getattribute__', '__getitem__', '__getstate__', '__hash__', '__init__', '__iter__', '__len__', '__metaclass__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_abc_cache', '_abc_negative_cache', '_abc_negative_cache_version', '_abc_registry', '_cookie_attrs', '_cookie_from_cookie_tuple', '_cookies', '_cookies_for_domain', '_cookies_for_request', '_cookies_from_attrs_set', '_cookies_lock', '_find', '_find_no_duplicates', '_normalized_cookie_tuples', '_now', '_policy', '_process_rfc2109_cookies', 'add_cookie_header', 'clear', 'clear_expired_cookies', 'clear_session_cookies', 'copy', 'domain_re', 'dots_re', 'extract_cookies', 'get', 'get_dict', 'items', 'iteritems', 'iterkeys', 'itervalues', 'keys', 'list_domains', 'list_paths', 'magic_re', 'make_cookies', 'multiple_domains', 'non_word_re', 'pop', 'popitem', 'quote_re', 'set', 'set_cookie', 'set_cookie_if_ok', 'set_policy', 'setdefault', 'strict_domain_re', 'update', 'values']
cookie_dic = cookie.get_dict()#cookie信息的key, value对,这里返回cookie信息为{'q_c1': '780da897999c4c3abe34b3ae0fc49078|1423644473000|1423644473000', '_xsrf': 'b8ae94c0a340f623650777667e798cbf'}
cookie_val = cookie.get('_xsrf')#据指定key值获取cookie信息
#因为在做具体请求时,只需要该cookie_val信息故这里只做了这些尝试

#**************session信息的特殊使用实例*************************
# sess = requests.Session()
# sess.headers['User-Agent'] = AGENT
# sess.verify = False
# sess.mount('https://', requests.adapters.HTTPAdapter())
# self.session = sess
# res = sess.post(url_login, data=_form)
# self.memeber_auth = sess.cookies['member_auth']
# self.uid, self.user_name = urllib.unquote(sess.cookies['user']).split('"')[0:2]
# self.token = sess.cookies['_xiamitoken']
# return True

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值