Python爬虫:将headers请求头字符串转为字典

作者阿里云代理 文章分类 分类:linux图文教程 阅读次数 已被围观 693

原生请求头字符串

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("\n")])

输出测试

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("\n") 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("; "))

如果需要临时转换一下,可以使用小工具 coder

本公司销售:阿里云、腾讯云、百度云、天翼云、金山大米云、金山企业云盘!可签订合同,开具发票。

我有话说: