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

  • 相关阅读:
    【Java123】enum枚举及其应用
    sql查询优化_慢查询
    9.4 如何实现属性可修改的函数装饰器?
    9.2 如何为被装饰的函数保存元数据?
    python的如何通过实例方法名字的字符串调用方法?
    9.1 如何使用函数装饰器 用装饰器解决重复计算问题
    asyncio 笔记
    python笔记截图
    list绑定
    表单数据交互
  • 原文地址:https://www.cnblogs.com/nmydt/p/14256316.html
Copyright © 2011-2022 走看看