瀏覽器里面看到的表單數據映射到python_python爬蟲入門01:教你在 Chrome 瀏覽器輕松抓包...

通過

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

我們知道了什么是爬蟲

也知道了爬蟲的具體流程

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

要對其數據進行分析

就要知道應該怎么請求

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

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

209a4e6f08be33800e8143627afca9a0.gif

哦,不對。

我們要學會怎么數據抓包

雖然小饅頭也是包的一種

ok...anyway...

打開我們的 Chrome 瀏覽器

在這里 小帥b 提醒大家一句

盡量不要用國產瀏覽器

很多是有后門

0fa83a22d9938e7382473c4daeb36605.gif

所以

Chrome 是首選!

ok,打開 Chrome 瀏覽器之后呢

我們隨便輸入一個網址吧

比如

www.xxxhub.com

708f52986e477679ff038c9c42c2522b.gif

營養跟不上?那就...

輸入一個人人都能上的網站

www.baidu.com

用力回車

一個熟悉的頁面顯示在你的面前

6affe1f37806e8165216a67ae5b6dfa4.png

這個時候,你按下 F12

你可以看到彈出一個有點裝x的窗口

e01f672dc6da2981fe1033a1c18978a0.png

這個玩意

正是我們想要的

可以看到

Element 標簽下對應的 HTML 代碼

其實就是這個網頁的代碼

我們可以在這里除了看看它的代碼之外

我們還可以修改一些東西

比如我把這個按鈕改成小帥b

f39fa28d681bc68645aa0387f6e05b69.png

按下回車

d76e5a7229ae37cd417b4d3650f5c11f.png

是不是瞬間逼格滿滿

哦,不好意思

今天不是要說怎么裝x的

a1af17066183e04fbf4f0b5c03ad579b.png

我們點擊 Network 這個標簽

然后刷新一下

可以看到有很多的請求

7154fc92b8f8d077a77bfe03ce3ae438.png

HTTP 的請求方式有好幾種

GET, POST, PUT, DELETE, HEAD, OPTIONS, TRACE

不過最常見的就是 GET 和 POST 請求

咱們就一一說道說道

接下來就是

學習 python 的正確姿勢

0119323f0d3d5e8dc8f91017c27017d2.gif

我們直接搜索「蒼老師

然后我們就可以發現

有好多請求

49a23813383be17971e9e6cae54d4e31.png

這些都是 GET 請求

我們隨便點擊一個請求進去

647d45296d3c1ad217be7570d2b04580.png

可以看到我們的請求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 表單的形式將數據提交給服務器

我們來登錄一下百度

f423beb680ffbf006a55554b7b29742c.png

當我們點擊登錄的時候

就開始將我們的賬號密碼請求給百度服務器

可以看到我們請求了 login 這個接口

請求方法就是 POST

340adeefc0003a24587f26cc0b19b19a.png

而我們的請求參數是以 Form 表單的方式提交的

5c54b79d8283dcb52c8bca1a52048598.png

拉到下面就可以看到

username 就是 xiaoshuaib

而密碼,就是被加密了的

這些都是 POST 參數

可以發現

GET請求把請求參數都暴露在URL上

而POST請求的參數放在request body 里面

POST請求方式還對密碼參數加了密

這樣就相對安全一些

ok

你已經了解請求方式了

接下來說說請求頭

d150afe88e50d84e2d199c2c907b5dca.gif

當然說的不是上面這個 gou 頭哈

我們剛剛在訪問百度的時候

可以看到這個玩意

339483b2231caad791d98bbe4e28c455.png

這個就是請求頭

Request Header

我們在做 HTTP 請求的時候

除了提交一些參數之外

我們還有定義一些 HTTP 請求的頭部信息

比如 Accept、Host、cookie、User-Agent等等

這些參數也是我們在做爬蟲要用到

通過這些信息,欺騙服務器,告訴它我們是正規請求

比如

我們可以在代碼里面設置 cookie 告訴服務器我們就是在這個瀏覽器請求的會話

User-Agent 告訴服務器我們是瀏覽器請求的

60ef2efa24222c3178bd09c1d5311653.png

說完我們這邊的請求了

接著我們再說說服務器的響應

你一定遇到過 404 頁面吧

或者服務器錯誤返回個 502 吧

1e9e7c328a838939992bac46ff10ff75.gif

這些 404 啊,200啊,301啊,502啊

都是服務器的響應碼

一般服務器給我們返回 200

那就說明

我們成功請求了

17e78167548368c0c29e8f215cd10610.png
fbb91c30251222395e7b350314121006.png

再來說說響應頭

fc3bcbb78118e6b32c70853c649d3915.png

當我們請求成功之后

服務器會給我們返回響應碼之外

還有響應頭

這個頭主要是告訴我們數據以什么樣的形式展現

告訴我們cookie的設置

還有一個

就是響應體

說白了,就是服務器返回給我們的數據

我們點擊 Response 就可以看到相關的數據了

d8473ae4274241a861d42c90d99581c0.png

看,這些就是服務器返回給我們的 HTML 源代碼

對于不同的請求

我們獲取到的數據是不一樣的

除了 HTML的,也有 JSON 的

圖片二進制數據等等

可以針對不同的情況

用不同的手段來解析這些數據

說到這里

想必你已經會在 Chrome 抓包

所謂抓包

就是我們摸清了瀏覽器里面的套路

知道它是怎么搞的

那么通過我們的請求

GET 請求也好

POST 請求也罷

只要知道請求方式

只要知道請求參數

只要知道請求頭定義

只要知道怎么拿到返回的數據

這..

對我們來說

爬蟲還難么?

6a17149ec2939433b81844506936d90e.png

完了!

爽嗎?

那還不轉發?

那還不點贊?

6d79e01156af105e7aadc7d9c7d097f8.png
db10d3f3240a7b492310cde29dff08b6.png

那就趕緊關注

加入pythoner的聚集地

我們一起牛逼

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/529006.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529006.shtml
英文地址,請注明出處:http://en.pswp.cn/news/529006.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

sql查詢mysql參數配置_查詢參數配置

示例請求示例http(s)://rds.aliyuncs.com/?ActionDescribeParameters&DBInstanceIdrm-uf6wjk5xxxxxxx&正常返回示例XML 格式此選項設置服務器范圍內的默認填充因子值。提供填充因子是為了優化索引數據存儲和性能。fill factor50mssql2008r2此選項設置服務器范圍內的默…

python3類的繼承詳解_基于python3 類的屬性、方法、封裝、繼承詳解

下面小編就為大家帶來一篇基于python3 類的屬性、方法、封裝、繼承實例講解。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧Python 類Python中的類提供了面向對象編程的所有基本功能:類的繼承機制允許多個基類…

linux本地mysql與服務器同步數據_linux下指定mysql數據庫服務器主從同步的配置實例...

一、 概念:① 數據庫同步 (主從同步 --- 主數據庫寫的同時 往從服務器寫數據)② 數據庫同步 (主主同步 --- 兩臺數據庫服務器互相寫數據)二、 舉例數據庫服務器(A) 主數據庫 IP:192.168.1.134數據庫服務器(B) 主數據庫 IP:192.168.1.13…

c#二叉樹 取葉子節點個數_兩種類似但是原理不同的算法求二叉樹的所有葉子節點和...

技術提高是一個循序漸進的過程,所以我講的leetcode算法題從最簡單的level開始寫的,然后到中級難度,最后到hard難度全部完。目前我選擇C語言,Python和Java作為實現語言,因為這三種語言還是比較典型的。由于篇幅和精力有…

所有的service報紅但不報錯_從一個應用報錯來看centos系統的/tmp目錄自動清理規則...

概述分享最近應用碰到的一個奇怪bug,一開始以為是代碼上的問題,找了一段時間發現居然是因為系統的一個自動清理規則導致,下面一起來看看吧~一、應用報錯:logwire.core.exceptions.GeneralUnhandledException: 服務端未處理異常...…

python對瀏覽器的常用操作_Selenium元素的常用操作方法分析

本文實例講述了Selenium元素的常用操作方法。分享給大家供大家參考,具體如下:Selenium是一個用于Web應用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE(7, 8, 9, 10, 11),Mozill…

springboot中接口實例化_AngularJs中控制器的定義,實例化,作用域范圍

AngularJs中控制器的定義,實例化,作用域范圍基于AngularJS入門與進階(江榮波 著)這本書的筆記AngularJS 1.x的demoAngularJS1.x和Angular2,4,5是不一樣的兩個東西,構建方式,語法,都很多不同AngularJs控制器定義與實例化…

高斯核函數參數確定_高斯過程

之前看過高斯過程(GP),不過當時也沒太看懂,最近花時間認真研究了一下,感覺總算是明白咋回事了,本文基于回歸問題解釋GP模型的思想和方法。文中的想法是自己思考總結得來,并不一定準確,也可能存在錯誤性。為…

uniapp光標自動定義到文本框_特檢自動化行吊靜力檢測方案

主要測量功能使用徠卡測量開發的Windows版數據傳輸軟件,通過藍牙連接徠卡DISTO,經過簡單的測量周期設置,即可實現自動化的距離檢測。測量數據還可以輸出Excel,甚至可以實時發送至PC運行的第三方軟件中,這么強大的軟件還…

安裝python時需要勾選_一體化污水處理設備安裝時需要注意事項

一體化污水處理設備用于處理生活污水和低濃度有機污水,它基本上采用機電完全封閉的結構,不需要專業人員進行管理。它方便且易于清潔,因此引起了很多關注。一體化污水處理設備的安裝方法通常為三種:地埋式,地上式和半地…

oracle驅動maven報錯_在Maven倉庫中添加Oracle JDBC驅動

由于Oracle授權問題,Maven3不提供Oracle JDBC driver,為了在Maven項目中應用Oracle JDBC driver,必須手動添加到本地倉庫。一.首先要得到Oracle JDBC Driver2.通過Oracle的安裝目錄獲得,位置在“{ORACLE_HOME}jdbclibojdbc14.jar”二.手動安裝…

python3.6程序_python3.6如何生成exe程序

PyInstaller的原理簡介PyInstaller其實就是把python解析器和你自己的腳本打包成一個可執行的文件,和編譯成真正的機器碼完全是兩回事,所以千萬不要指望成打包成一個可執行文件會提高運行效率,相反可能會降低運行效率,好處就是在運…

java切片_ java中一個極其強悍的新特性Stream詳解(非常實用)

java8中有兩個非常有名的改進,一個是Lambda表達式,一個是Stream。如果我們了解過函數式編程的話,都知道Stream真正把函數式編程的風格引入到了java中。這篇文章由簡入繁逐步介紹Stream。一、Stream是什么從名字來看,Stream就是一個…

java獲取網絡圖片_有了這50套Java畢設項目(源碼 案例),offer拿到手軟,無償分享...

簡介:又到了開學季,不少人都很是煩惱,手把手教你做Java畢設項目,有教程視頻源碼100套隨意選擇,試試手!!列舉其中2個系統大綱在線考試系統1.綜述網絡考試系統的項目背景及國內外發展現狀&#xf…

python字典的建立和輸出_字典的創建和使用

直接創建d {age: 23, name: Daniel, sex: 1}輸出結果:{age: 23, name: Daniel, sex: 1}dict函數# 通過序列對建立字典vaulues [(name, Daniel), (age, 23), (sex, 1)]print dict(values)# 通過關鍵字建立字典print dict(nameDaniel, age23, sex1)# 如果 dict 不傳…

python字符串出棧方法_1.Python實現字符串反轉的幾種方法

1.Python實現字符串反轉的幾種方法題目: 在Python環境下用盡可能多的方法反轉字符串,例如將s "abcdef"反轉成 "fedcba"第一種:使用字符串切片result s[::-1]第二種:使用列表的reverse方法l list(s)l.reverse()result …

linux將日期和日歷信息追加到文件中_Linux常用指令

常用指令 1、幫助指令 man [指令或者配置文件] help 指令 2、文件目錄類指令 1、pwd 功能:顯示當前工作目錄的絕對路徑 2、ls [選項] [目錄或者文件] 功能:列出文件名和目錄使用:ls -l 以列表的形式顯示信息ls -a …

python播放音樂同步歌詞_使用Python下載歌詞并嵌入歌曲文件中的實現代碼

使用python掃描本地音樂并下載歌詞這次這個真的是干貨哦,昨晚弄了半晚上,,,,從8點吃完飯就開始寫,一直到了快12點才弄好,,,新手,傷不起呀。。。。先簡單的說下…

ajax mysql點贊_php+mysql結合Ajax實現點贊功能完整實例

phpmysql結合Ajax實現點贊功能完整實例131415161718192021222324252627282930313233343536//判斷是否已經存在了cookiefunction checkcookie(gindex){var thiscookie goodplus gindex;var mapcookie getCookie(thiscookie)if (mapcookie!null && mapcookie!"&q…

一個搜索框多個按鈕_網站搜索欄設計指南:要不要?怎么設計?

在網站的設計過程中,搜索欄是一個很容易被忽略的部分,但用戶卻依賴它來尋找特定的信息。由于搜索欄是網站中最常用的元素之一,所以搜索欄的設計對用戶體驗有著重要的影響。網站是否需要搜索欄?搜索欄使用背后的思維和心理是幫助用…