經過python
咱們知道了什麼是爬蟲安全
也知道了爬蟲的具體流程服務器
那麼在咱們要對某個網站進行爬取的時候cookie
要對其數據進行分析python爬蟲
就要知道應該怎麼請求學習
就要知道獲取的數據是什麼樣的網站
因此咱們要學會怎麼抓咪咪!加密
哦,不對。spa
咱們要學會怎麼數據抓包
雖然小饅頭也是包的一種
ok...anyway...
打開咱們的 Chrome 瀏覽器
在這裏 小帥b 提醒你們一句
儘可能不要用國產瀏覽器
不少是有後門的
因此
Chrome 是首選!
ok,打開 Chrome 瀏覽器以後呢
咱們隨便輸入一個網址吧
好比
www.pornhub.com
養分跟不上?那就...
輸入一我的人都能上的網站
www.baidu.com
用力回車
一個熟悉的頁面顯示在你的面前
這個時候,你按下 F12
你能夠看到彈出一個有點裝逼的窗口
這個玩意
正是咱們想要的
能夠看到
Element 標籤下對應的 HTML 代碼
其實就是這個網頁的代碼
咱們能夠在這裏除了看看它的代碼以外
咱們還能夠修改一些東西
好比我把這個按鈕改爲小帥b
按下回車
是否是瞬間逼格滿滿
哦,很差意思
今天不是要說怎麼裝逼的
咱們點擊 Network 這個標籤
而後刷新一下
能夠看到有不少的請求
HTTP 的請求方式有好幾種
GET, POST, PUT, DELETE, HEAD, OPTIONS, TRACE
不過最多見的就是 GET 和 POST 請求
我們就一一說道說道
接下來就是
咱們直接搜索「蒼老師」
而後咱們就能夠發現
有好多請求
這些都是 GET 請求
咱們隨便點擊一個請求進去
能夠看到咱們的請求URL
https://www.baidu.com/s?wd=%E8%8B%8D%E8%80%81%E5%B8%88&rsv_spt=1&rsv_iqid=0xad707ee600011b25&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&rqlang=cn&tn=baiduhome_pg&rsv_enter=0&oq=%25E8%258B%258D%25E8%2580%2581%25E5%25B8%2588&rsv_t=5d8eqNDy4ZpyUOz7ByzyIMYfH5Jc7861dr4CFQaY3WCiDnOpBLob6Eouk23%2F3L%2BTD46O&rsv_sug3=15&rsv_pq=996e776f0000df06&rsv_sug4=19123
在 ?後面的這些 jb 玩意兒
就是 GET 請求的參數
這些參數以「鍵值對」的形式實現
好比這裏的
wd=%E8%8B%8D%E8%80%81%E5%B8%88
就是告訴百度
咱們要查詢的是蒼老師相關的內容
這種方式的請求方式是最簡單的
因此之後咱們在 Python 寫 GET 請求的時候
直接在 URL 後面加個 ?而後添加參數值就行了
好比
我要百度搜索波多野結衣
那麼就是
https://www.baidu.com/s?wd=波多野結衣
不信你直接在瀏覽器這樣搜
是一毛同樣的
那麼,啥是 POST 請求呢?
咱們在作一些信息提交的時候
好比註冊,登陸
這時候咱們作的就是 POST 請求
POST 的參數不會直接放在 URL 上
會以 Form 表單的形式將數據提交給服務器
咱們來登陸一下百度
當咱們點擊登陸的時候
就開始將咱們的帳號密碼請求給百度服務器
能夠看到咱們請求了 login 這個接口
請求方法就是 POST
而咱們的請求參數是以 Form 表單的方式提交的
拉到下面就能夠看到
username 就是 xiaoshuaib
而密碼,就是被加密了的
這些都是 POST 參數
能夠發現
GET請求把請求參數都暴露在URL上
而POST請求的參數放在request body 裏面
POST請求方式還對密碼參數加了密
這樣就相對安全一些
ok
你已經瞭解請求方式了
接下來講說請求頭
固然說的不是上面這個 gou 頭哈
咱們剛剛在訪問百度的時候
能夠看到這個玩意
這個就是請求頭
Request Header
咱們在作 HTTP 請求的時候
除了提交一些參數以外
咱們還有定義一些 HTTP 請求的頭部信息
好比 Accept、Host、cookie、User-Agent等等
這些參數也是咱們在作爬蟲要用到
經過這些信息,欺騙服務器,告訴它咱們是正規請求
好比
咱們能夠在代碼裏面設置 cookie 告訴服務器咱們就是在這個瀏覽器請求的會話
User-Agent 告訴服務器咱們是瀏覽器請求的
說完咱們這邊的請求了
接着咱們再說說服務器的響應
你必定遇到過 404 頁面吧
或者服務器錯誤返回個 502 吧
這些 404 啊,200啊,301啊,502啊
都是服務器的響應碼
通常服務器給咱們返回 200
那就說明
咱們成功請求了
再來講說響應頭
當咱們請求成功以後
服務器會給咱們返回響應碼以外
還有響應頭
這個頭主要是告訴咱們數據以什麼樣的形式展示
告訴咱們cookie的設置
還有一個
就是響應體了
說白了,就是服務器返回給咱們的數據
咱們點擊 Response 就能夠看到相關的數據了
看,這些就是服務器返回給咱們的 HTML 源代碼
對於不一樣的請求
咱們獲取到的數據是不同的
除了 HTML的,也有 JSON 的
圖片二進制數據等等
能夠針對不一樣的狀況
用不一樣的手段來解析這些數據
說到這裏
想必你已經會在 Chrome 抓包了
所謂抓包
就是咱們摸清了瀏覽器裏面的套路
知道它是怎麼搞的
那麼經過咱們的請求
GET 請求也好
POST 請求也罷
只要知道請求方式
只要知道請求參數
只要知道請求頭定義
只要知道怎麼拿到返回的數據
這..
對咱們來講
爬蟲還難麼?
完了!
爽嗎?
那還不把這個公衆號設置爲「星標」?
那還不轉發?
那還不點好看?
那就趕忙掃一掃
加入pythonner的彙集地
咱們一塊兒從裝逼到牛逼
近期文章