Python爬蟲:將headers請求頭字串轉為字典
阿新 • • 發佈:2019-02-01
原生請求頭字串
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("; "))