python爬蟲(chóng)小工具--快速獲得請(qǐng)求頭

我們?cè)趯?xiě)爬蟲(chóng)腳本的時(shí)候經(jīng)常要獲取請(qǐng)求頭,但是每次從瀏覽器粘貼到代碼里時(shí),都要費(fèi)一番功夫來(lái)處理格式。

于是寫(xiě)了一個(gè)請(qǐng)求頭轉(zhuǎn)換的腳本,可以將瀏覽器里復(fù)制過(guò)來(lái)的請(qǐng)求頭字符串轉(zhuǎn)換為字典并輸出。

import re


def headers_to_dict(headers_str, out_put=True):
    items = headers_str.strip().split('\n')
    headers_dict = {}
    for t in items:
        key, value = re.findall(r'^(\S+):\s*([\s\S]+)$', t)[0]
        headers_dict[key] = value
        if out_put:
            print(f"'{key}': '{value}',")
    return headers_dict

使用說(shuō)明:

  • headers_str 從瀏覽器復(fù)制的請(qǐng)求頭字符串,使用三個(gè)單引號(hào)
  • out_put 是否輸出格式化的字符串,為 True時(shí)會(huì)將每個(gè)鍵值對(duì)以 'key':'value', 的格式輸出,可以直接粘貼到字典中。覺(jué)得換行字符串不好看的可以用這個(gè)將請(qǐng)求頭輸出,然后手動(dòng)粘貼到代碼中。
  • 返回值,字符串對(duì)應(yīng)的請(qǐng)求頭字典。

使用示例:

headers_to_dict(''':authority: www.itdecent.cn
:method: GET
:path: /p/b671f67a5960
:scheme: https
accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
accept-encoding: gzip, deflate, br
accept-language: zh-CN,zh;q=0.9
cache-control: max-age=0
if-none-match: W/"0d1384f05bc47dfa8d8d26187e1b3f4f"
referer: http://www.itdecent.cn/writer
upgrade-insecure-requests: 1
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36''')

#輸出
"""
':authority': 'www.itdecent.cn',
':method': 'GET',
':path': '/p/b671f67a5960',
':scheme': 'https',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9',
'cache-control': 'max-age=0',
'if-none-match': 'W/"0d1384f05bc47dfa8d8d26187e1b3f4f"',
'referer': 'http://www.itdecent.cn/writer',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',
"""

#返回值
"""
{
    ':authority': 'www.itdecent.cn', 
    ':method': 'GET', 
    ':path': '/p/b671f67a5960', 
    ':scheme': 'https', 
    'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 
    'accept-encoding': 'gzip, deflate, br', 
    'accept-language': 'zh-CN,zh;q=0.9', 
    'cache-control': 'max-age=0',
    'if-none-match': 'W/"0d1384f05bc47dfa8d8d26187e1b3f4f"', 
    'referer': 'http://www.itdecent.cn/writer', 
    'upgrade-insecure-requests': '1', 
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'
}
"""

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容