python requests 模块

一.requests 模拟登录的三种方法

        1.发送  post 请求 模拟登录 

           1. 利用抓包 获取 post登录  url,  以及登录时的 form 表单 难度较大  

           2.将 form 表单中的数据封装成一个字典 , data={  'a': '1'  , 'b':  '2' } 的形式    

           3.requests .post( url,data=data   )  post登录

       2.利用cookie字段 直接获取指定页面 

         利用抓包工具获取登录后页面的cookie字符串   利用字典推导式   将它转换为 字典

cookie_str='td_cookie=184467440760818981; username=20163229; JSESSIONID=3855910A612495830AF74A7D' 
cookie_dic={i.split('=')[0]:i.split('=')[1] for i in cookie_str.split('; ')}

        requests.get(url ,  cookies= cookie_dic ) 

                但是直接利用 requests .get(url  ,cookies= cookie_str )   也能成功

    3.将cookie放在headers中 

           headers={ 

            'Cookie' : 'td_cookie=184467440720608981; username=0163229; JSESSIONID=3855910A61F34A7D'}

            requests .get (url ,headers=headers ) 获取指定页面 

   二.编码问题

       1.response.encoding()                              根据响应头拿取的  如果没有默认为ISO-8859-1编码

       2.response.apparent_encoding()             根据内容猜测的编码 较准确

       3.response.raise_for_status()                  请求不成功时(200 )抛出HTTPERROR异常

      4. GB2312,由中华人民共和国政府制定的,简体汉字编码规范与此对应的还有BIG5,是中华民国政府制定的,繁体汉字的编码规范

       5.GBK,又称GBK大字符集,包括简体中文,繁体中文,日语,韩语等,都使用 一种格式编码,兼容所有平台的上的语言。GBK大字符集包含的汉字数量比GB2312和BIG5多,使得汉字兼容足够使用。


  三.requests中的session , cookiejar

    一.1.session=requests.session()       2.session.headers={}设置session 请求头              3. response=session.get( url=ur)

       4.获取cookies   session.cookies   

    二. response=requests.get(url)

        cookie_jar=  response.request. _cookies                                  此时 cookiejar 是一个对象

        cookies_dic=requests.utils.dict_from_cookiejar(cookie_jar)     将cookiejar对象转换为字典

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值