python爬蟲入門01:教你在 Chrome 瀏覽器輕鬆抓包

經過python

 

 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 請求

 

我們就一一說道說道

 

 

 

接下來就是

 

學習 python 的正確姿式

 

 

 

咱們直接搜索「蒼老師

 

而後咱們就能夠發現

 

有好多請求

 

 

這些都是 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的彙集地

咱們一塊兒從裝逼到牛逼

                    

 

近期文章

 

對不起,我不該該出軌的!

 

python爬蟲入門:什麼是爬蟲,怎麼玩爬蟲?

 

 

 

 

學習python的正確姿式

相關文章
相關標籤/搜索