1. 程式人生 > >Python爬蟲:將headers請求頭字串轉為字典

Python爬蟲:將headers請求頭字串轉為字典

原生請求頭字串

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