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


通過

 

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

 

我們知道了什么是爬蟲

 

也知道了爬蟲的具體流程

 

那么在我們要對某個網站進行爬取的時候

 

要對其數據進行分析

 

就要知道應該怎么請求

 

就要知道獲取的數據是什么樣的

 

所以我們要學會怎么抓咪咪!

 

 

哦,不對。

 

我們要學會怎么數據抓包

 

雖然小饅頭也是包的一種

 

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的正確姿勢


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM