今天給你們介紹一個神奇的網站!堪稱偷懶神器!html
咱們在寫爬蟲,構建網絡請求的時候,不可避免地要添加請求頭( headers ),以 mdn 學習區爲例,咱們的請求頭是這樣的:python
通常來講,咱們只要添加 user-agent 就能知足絕大部分需求了,Python 代碼以下:web
1import requests
2
3headers = {
4 #'authority': 'developer.mozilla.org',
5 #'pragma': 'no-cache',
6 #'cache-control': 'no-cache',
7 #'upgrade-insecure-requests': '1',
8 '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',
9 #'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3',
10 #'accept-encoding': 'gzip, deflate, br',
11 #'accept-language': 'zh-CN,zh-TW;q=0.9,zh;q=0.8,en-US;q=0.7,en;q=0.6',
12 #'cookie': 你的cookie,
13}
14
15response = requests.get('https://developer.mozilla.org/zh-CN/docs/learn', headers=headers)
複製代碼
可是有些請求,咱們要把特定的 headers 參數添加上才能得到正確的網絡響應,不知道哪一個參數是必要的狀況下,就要先把全部參數都添加上,再逐個排除。正則表達式
可是手動複製粘貼 headers 字典裏的每個鍵值對太費事了編程
用正則表達式或者直接字符串替換,把 headers 字符串直接轉化爲字典,封裝成函數方便之後反覆調用。bash
有的人喜歡用這種方法,每次複製headers信息,而後調用本身封裝好的函數,但我以爲仍是挺麻煩的。cookie
這裏給你們介紹兩個:網絡
抓取網站:https://developer.mozilla.org/zh-CN/docs/learnapp
1,Chrome 打開開發者選項( f12 )---> network 選項卡 ---> 刷新頁面,獲取請求 ---> 找到頁面信息對應的請求 (經過請求的名稱、後綴和 response 內容來判斷)curl
2,右鍵,copy ---> copy as cURL (bash),注意不是【copy as cURL (cmd)】
3,打開網站,https://curl.trillworks.com/,粘貼 cURL (bash) 到左邊 curl command,右邊會自動出 Python 代碼
4,生成代碼以下圖
5,print ( response.text ) 就能夠直接打印網頁源代碼啦!
1,下載 postman ( Chrome 也有個 postman 的插件,操做應該差很少)
2,打開 postman,彈出的界面能夠直接關掉
3,import --> paste raw text,在 Chrome 裏複製 curl (bash),粘貼到下面的對話框裏,點擊 import 按鈕
4,點擊 send,模擬網絡請求,下方可查看源代碼
5,確保源代碼正常後,點擊 code
6,左上角能夠選擇編程語言,右上角複製到剪貼板
大功告成!
其實我本人平時都是用第一種,網站比較穩定,基本沒出現過異常;有了這個神器就不用本身再構造請求頭了,先一鍵生成,而後再根據需求調一調就行了,十幾秒鐘就搞定了。建議收藏網址。
https://curl.trillworks.com/