目錄
- 一個(gè)不那么方便的解決方案:
- 實(shí)戰(zhàn)演練
- 網(wǎng)站在線轉(zhuǎn)換
- Postman
今天介紹個(gè)神奇的網(wǎng)站!堪稱爬蟲偷懶的神器!
我們?cè)趯懪老x,構(gòu)建網(wǎng)絡(luò)請(qǐng)求的時(shí)候,不可避免地要添加請(qǐng)求頭( headers ),以 mdn 學(xué)習(xí)區(qū)為例,我們的請(qǐng)求頭是這樣的:
![](http://img.jbzj.com/file_images/article/202103/202134153750364.jpg?20212415581)
一般來(lái)說(shuō),我們只要添加 user-agent 就能滿足絕大部分需求了,Python 代碼如下:
import requests
headers = {
#'authority': 'developer.mozilla.org',
#'pragma': 'no-cache',
#'cache-control': 'no-cache',
#'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 YaBrowser/19.7.0.1635 Yowser/2.5 Safari/537.36',
#'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
#'accept-encoding': 'gzip, deflate, br',
#'accept-language': 'zh-CN,zh-TW;q=0.9,zh;q=0.8,en-US;q=0.7,en;q=0.6',
#'cookie': 你的cookie,
}
response = requests.get('https://developer.mozilla.org/zh-CN/docs/learn', headers=headers)
但是有些請(qǐng)求,我們要把特定的 headers 參數(shù)添加上才能獲得正確的網(wǎng)絡(luò)響應(yīng),不知道哪個(gè)參數(shù)是必要的情況下,就要先把所有參數(shù)都添加上,再逐個(gè)排除。
但是手動(dòng)復(fù)制粘貼 headers 字典里的每一個(gè)鍵值對(duì)太費(fèi)事了
一個(gè)不那么方便的解決方案:
用正則表達(dá)式或者直接字符串替換,把 headers 字符串直接轉(zhuǎn)化為字典,封裝成函數(shù)方便以后反復(fù)調(diào)用。
有的人喜歡用這種方法,每次復(fù)制headers信息,然后調(diào)用自己封裝好的函數(shù),但我覺得還是挺麻煩的。
那么還有沒有快速一鍵生成 Python 爬蟲請(qǐng)求頭的方法呢?
這里給大家介紹兩個(gè):
- 網(wǎng)站在線轉(zhuǎn)換
- Postman
實(shí)戰(zhàn)演練
抓取網(wǎng)站:https://developer.mozilla.org...
網(wǎng)站在線轉(zhuǎn)換
1,Chrome 打開開發(fā)者選項(xiàng)( f12 )---> network 選項(xiàng)卡 ---> 刷新頁(yè)面,獲取請(qǐng)求 ---> 找到頁(yè)面信息對(duì)應(yīng)的請(qǐng)求 (通過(guò)請(qǐng)求的名稱、后綴和 response 內(nèi)容來(lái)判斷)
![](http://img.jbzj.com/file_images/article/202103/202134153906607.jpg?202124155933)
2,右鍵,copy ---> copy as cURL (bash),注意不是【copy as cURL (cmd)】
![](http://img.jbzj.com/file_images/article/202103/202134154158210.jpg?2021241600)
3,打開網(wǎng)站,https://curl.trillworks.com/,粘貼 cURL (bash) 到左邊 curl command,右邊會(huì)自動(dòng)出 Python 代碼
![](http://img.jbzj.com/file_images/article/202103/202134154238350.jpg?20212416141)
4,生成代碼如下圖
![](http://img.jbzj.com/file_images/article/202103/202134154313496.jpg?20212416153)
5,print ( response.text ) 就可以直接打印網(wǎng)頁(yè)源代碼啦!
Postman
1,下載 postman ( Chrome 也有個(gè) postman 的插件,操作應(yīng)該差不多)
2,打開 postman,彈出的界面可以直接關(guān)掉
![](http://img.jbzj.com/file_images/article/202103/202134154349195.jpg?20212416214)
3,import --> paste raw text,在 Chrome 里復(fù)制 curl (bash),粘貼到下面的對(duì)話框里,點(diǎn)擊 import 按鈕
![](http://img.jbzj.com/file_images/article/202103/202134154447945.jpg?20212416227)
4,點(diǎn)擊 send,模擬網(wǎng)絡(luò)請(qǐng)求,下方可查看源代碼
![](http://img.jbzj.com/file_images/article/202103/202134154625567.jpg?20212416252)
5,確保源代碼正常后,點(diǎn)擊 code
![](http://img.jbzj.com/file_images/article/202103/202134154733809.jpg?2021241637)
6,左上角可以選擇編程語(yǔ)言,右上角復(fù)制到剪貼板
![](/d/20211017/97e060498aa8847eba2d16745e0513a5.gif)
大功告成!
其實(shí)我本人平時(shí)都是用第一種,網(wǎng)站比較穩(wěn)定,基本沒出現(xiàn)過(guò)異常;有了這個(gè)神器就不用自己再構(gòu)造請(qǐng)求頭了,先一鍵生成,然后再根據(jù)需求調(diào)一調(diào)就好了,幾秒鐘就搞定了。
以上就是快速一鍵生成Python爬蟲請(qǐng)求頭的詳細(xì)內(nèi)容,更多關(guān)于快速一鍵生成Python爬蟲請(qǐng)求頭的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
您可能感興趣的文章:- 使用Python制作一個(gè)數(shù)據(jù)預(yù)處理小工具(多種操作一鍵完成)
- 如何打包Python Web項(xiàng)目實(shí)現(xiàn)免安裝一鍵啟動(dòng)的方法
- 利用Python代碼實(shí)現(xiàn)一鍵摳背景功能
- Ubuntu18.04 一鍵升級(jí)Python所有第三方包 及安裝python包的方法
- Python一鍵安裝全部依賴包的方法
- Python一鍵查找iOS項(xiàng)目中未使用的圖片、音頻、視頻資源
- Python 一鍵獲取百度網(wǎng)盤提取碼的方法
- Python 一鍵制作微信好友圖片墻的方法
- Python字典循環(huán)添加一鍵多值的用法實(shí)例
- Python趣味爬蟲之用Python實(shí)現(xiàn)智慧校園一鍵評(píng)教