zoukankan      html  css  js  c++  java
  • Python爬虫:将headers请求头字符串转为字典

    第一种方法

    在这里插入图片描述

    如上图所示,然后复制粘贴到pycharm里,存放到字典里

    在这里插入图片描述

    然后使用ctrl+r快捷键打开替换功能,并勾选Regex

    替换源为:(.?): (.?)$

    替换为:"$1": “$2”,

    在这里插入图片描述

    然后点击Replace all替换全部:

    在这里插入图片描述

    最后再ctrl+alt+L键,整理一下格式就行了
    在这里插入图片描述

    第二种方法

    原生请求头字符串

    raw_headers = """Host: open.tool.hexun.com
    Pragma: no-cache
    Cache-Control: no-cache
    User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36
    Accept: */*
    Referer: http://stock.hexun.com/gsxw/
    Accept-Encoding: gzip, deflate
    Accept-Language: zh-CN,zh;q=0.9,en;q=0.8"""
    

    将字符串转为字典

    split(sep=None, maxsplit=None)
    
    headers = dict([line.split(": ",1) for line in raw_headers.split("
    ")])
    

    输出测试

    print(headers)
    """
    {
        'Accept-Language': ' zh-CN,zh;q=0.9,en;q=0.8', 
        'Accept-Encoding': ' gzip, deflate', 
        'Accept': ' */*', 
        'User-Agent': ' Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36', 
        'Host': ' open.tool.hexun.com', 
        'Referer': ' http://stock.hexun.com/gsxw/', 
        'Pragma': ' no-cache', 
        'Cache-Control': ' no-cache'
    }
    
    """
    

    封装为函数

    def get_headers(header_raw):
        """
        通过原生请求头获取请求头字典
        :param header_raw: {str} 浏览器请求头
        :return: {dict} headers
        """
       return dict(line.split(": ", 1) for line in header_raw.split("
    ") if line != '')
    
    
    def get_cookies(cookie_raw):
        """
        通过原生cookie获取cookie字段
        :param cookie_raw: {str} 浏览器原始cookie
        :return: {dict} cookies
        """
        return dict(line.split("=", 1) for line in cookie_raw.split("; "))
    

    说明:浏览器Header和cookie字符串形式转Json

    参考:https://pengshiyu.blog.csdn.net/article/details/105398552
    https://blog.csdn.net/weixin_44251004/article/details/91434588

  • 相关阅读:
    MonoRail学习Component
    Eclipse中用户库的使用
    ASP.Net2.0中自定义控件在page中的注册
    WF学习Console Workflow Application
    Which Style of Workflow When?[转]
    使用UserControl时,在Page中定义方式
    参数类型异常
    GridView使用一些记录
    在使用Mybatis进行测试时出现报错:Caused by: java.lang.ClassNotFoundException: Cannot find class: Student
    递归反向输出字符串
  • 原文地址:https://www.cnblogs.com/nmydt/p/14256316.html
Copyright © 2011-2022 走看看