在寫Python爬蟲的時候,常常要使用請求頭去假裝成正經常使用戶行爲。請求頭是向服務器發送請求時傳遞額外的重要信息。例以下圖:python
能夠看到請求頭裏包含了不少信息,Cookie、User-Agent、Host等。把這些信息複製到文件裏是這樣的:服務器
若是要使用請求頭,就要把這些信息存入字典,一個比較笨的方法就是在每一個鍵和值兩邊加上單引號。可是這樣的話未免太麻煩,並且不太符合咱們會python這個形象。那麼有沒有更好的方法呢?答案固然是確定的。在介紹這個方法以前,先來學習一下split()。ide
split()是字符串的方法,主要用來根據某個字符去分割字符串,而後把分割後的結果做爲列表返回。下面看一下一些例子。學習
#定義字符串s = 'To be or not to be,that\'s a question.'#默認以空格做爲分割符s.split()
#定義字符串s = '我是誰?我從哪裏來?我要到哪裏去?'#以「我」這個字符做爲分割符s.split('我')
#定義字符串s = '小明一把把把把把住了'>#當分割符在字符串裏相鄰時,會分割出空字符串s.split('把')
觀察一下請求頭,能夠發現每一行都是「鍵: 值」這樣的形式,那麼先用split()根據「\n」分割出每一行,而後根據「: 」分割出鍵值對,便可生成字典。spa
#定義請求頭字典headers = {}#定義請求頭字符串string = '''User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36'''#用循環將鍵值對寫入請求頭字典for line in string.split('\n'): key = line.split(': ')[0] value = line.split(': ')[1] headers[key] = value