Python編寫多行Header請求的方法

SN-Grotesque發表於2020-12-30

起因

這幾天我研究起了Python網路程式設計,今天玩到了HTTP請求的地方,又是一通操作,困惑我的事情就出現了,那就是如何編寫請求標頭(Header)呢?
我百度了一下,有了結果但全是那種只有一行的,而有些伺服器會有特殊限制,比如你得有CookieKEY否則直接阻止連線,但是網上教程都是隻有一行Header請求的,於是我自己摸索了一段時間終於明白怎麼編寫了,這就告訴給各位。

錯誤示範

url = "https://www.csdn.net"

#錯誤程式碼開始
header = {"內容資訊":"內容資訊"}
header = {"內容資訊":"內容資訊"}
header = {"內容資訊":"內容資訊"}
header = {"內容資訊":"內容資訊"}
header = {"內容資訊":"內容資訊"}
#錯誤程式碼結束

使用這種去爬取網站資訊會被某些特殊限制的伺服器給攔下來,你需要將Header偽裝成其他裝置比如手機。
但是這堆程式碼的意思會直接讓Python暴露,因為沒有Header相當於是分開的而不是合在一起的。

錯誤示範

url = "https://www.csdn.net"

#錯誤程式碼開始
header = {"內容資訊":"內容資訊"}
html = requests.get(url, headers=header).text
header = {"內容資訊":"內容資訊"}
html = requests.get(url, headers=header).text
header = {"內容資訊":"內容資訊"}
html = requests.get(url, headers=header).text
header = {"內容資訊":"內容資訊"}
html = requests.get(url, headers=header).text
header = {"內容資訊":"內容資訊"}
html = requests.get(url, headers=header).text
#錯誤程式碼結束

以上程式碼不知道的可能以為只要一行一行解釋header就行了吧,但犯了和上面一樣的錯誤,Header是分開的。

解決辦法

url = "https://www.csdn.net"

header = {
	"內容資訊":"內容資訊",		#注意每行最後有個逗號
	"內容資訊":"內容資訊",		#注意每行最後有個逗號
	"內容資訊":"內容資訊",		#注意每行最後有個逗號
	"內容資訊":"內容資訊",		#注意每行最後有個逗號
	"內容資訊":"內容資訊",		#注意每行最後有個逗號
	}

問題解決

相關文章