今天介紹個(gè)神奇的網(wǎng)站,!堪稱爬蟲偷懶的神器! 我們?cè)趯懪老x,,構(gòu)建網(wǎng)絡(luò)請(qǐng)求的時(shí)候,,不可避免地要添加請(qǐng)求頭( headers ),以 mdn 學(xué)習(xí)區(qū)為例,我們的請(qǐng)求頭是這樣的: 一般來說,,我們只要添加 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è):
實(shí)戰(zhàn)演練 抓取網(wǎng)站: https://developer.mozilla.org... 網(wǎng)站在線轉(zhuǎn)換 1,,Chrome 打開開發(fā)者選項(xiàng)( f12 )---> network 選項(xiàng)卡 ---> 刷新頁面,獲取請(qǐng)求 ---> 找到頁面信息對(duì)應(yīng)的請(qǐng)求 (通過請(qǐng)求的名稱,、后綴和 response 內(nèi)容來判斷) 2,右鍵,,copy ---> copy as cURL (bash),,注意不是【copy as cURL (cmd)】 3,打開網(wǎng)站,, https://curl./ ,,粘貼 cURL (bash) 到 左邊 curl command,右邊會(huì) 自動(dòng) 出 Python 代碼 4,,生成代碼如下圖 5,,print ( response.text ) 就可以直接打印網(wǎng)頁源代碼啦! Postman 1,,下載 postman ( Chrome 也有個(gè) postman 的插件,,操作應(yīng)該差不多) 2,打開 postman,,彈出的界面可以直接關(guān)掉 3,,import --> paste raw text,在 Chrome 里復(fù)制 curl (bash),,粘貼到下面的對(duì)話框里,,點(diǎn)擊 import 按鈕 4,點(diǎn)擊 send,,模擬網(wǎng)絡(luò)請(qǐng)求,,下方可查看源代碼 5,,確保源代碼正常后,點(diǎn)擊 code 6,,左上角可以選擇編程語言,,右上角復(fù)制到剪貼板 大功告成! 其實(shí)我本人平時(shí)都是用第一種,,網(wǎng)站比較穩(wěn)定,,基本沒出現(xiàn)過異常;有了這個(gè)神器就不用自己再構(gòu)造請(qǐng)求頭了,,先一鍵生成,,然后再根據(jù)需求調(diào)一調(diào)就好了,幾秒鐘就搞定了,。建議收藏網(wǎng)址。 |
|