通過 python爬蟲入門:什麼是爬蟲,怎麼玩爬蟲? 我們知道了什麼是爬蟲 也知道了爬蟲的具體流程 那麼在我們要對某個網站進行爬取的時候 要對其數據進行分析 就要知道應該怎麼請求 就要知道獲取的數據是什麼樣的 所以我們要學會怎麼抓咪咪! 哦,不對。 我們要學會怎麼數據抓包 雖然小饅頭也是包的一種 o ...
通過
我們知道了什麼是爬蟲
也知道了爬蟲的具體流程
那麼在我們要對某個網站進行爬取的時候
要對其數據進行分析
就要知道應該怎麼請求
就要知道獲取的數據是什麼樣的
所以我們要學會怎麼抓咪咪!
哦,不對。
我們要學會怎麼數據抓包
雖然小饅頭也是包的一種
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