溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python爬蟲的請求方法是什么

發(fā)布時間:2022-02-28 14:56:23 來源:億速云 閱讀:204 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“Python爬蟲的請求方法是什么”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Python爬蟲的請求方法是什么”文章能幫助大家解決問題。

一、請求目標(URL)

URL又叫作統(tǒng)一資源定位符,是用于完整地描述Internet上網(wǎng)頁和其他資源的地址的一種方法。類似于windows的文件路徑。

二、網(wǎng)址的組成:

1.http://:這個是協(xié)議,也就是HTTP超文本傳輸協(xié)議,也就是網(wǎng)頁在網(wǎng)上傳輸?shù)膮f(xié)議。

2.mail:這個是服務(wù)器名,代表著是一個郵箱服務(wù)器,所以是mail。

3.163.com:這個是域名,是用來定位網(wǎng)站的獨一無二的名字。

4.mail.163.com:這個是網(wǎng)站名,由服務(wù)器名+域名組成。

5./:這個是根目錄,也就是說,通過網(wǎng)站名找到服務(wù)器,然后在服務(wù)器存放網(wǎng)頁的根目錄。

6.index.html:這個是根目錄下的網(wǎng)頁。

7.http://mail.163.com/index.html:這個叫做URL,統(tǒng)一資源定位符,全球性地址,用于定位網(wǎng)上的資源。

三、請求體(request)

就像打電話一樣,HTTP到底和服務(wù)器說了什么,才能讓服務(wù)器返回正確的消息的,其實客戶端的請求告訴了服務(wù)器這些內(nèi)容:請求行、請求頭部、空行、請求數(shù)據(jù)

四、請求方法(Method)

HTTP請求可以使用多種請求方法,但是爬蟲最主要就兩種方法:GETPOST方法。

get請求:一般情況下,只從服務(wù)器獲取數(shù)據(jù)下來,并不會對服務(wù)器資源產(chǎn)生任何影響的時候會使用get請求。

post請求:向服務(wù)器發(fā)送數(shù)據(jù)(登錄)、上傳文件等,會對服務(wù)器資源產(chǎn)生影響的時候會使用
post請求。

以上是在網(wǎng)站開發(fā)中常用的兩種方法。并且一般情況下都會遵循使用的原則。但是有的網(wǎng)站和服務(wù)器為了做反爬蟲機制,也經(jīng)常會不按常理出牌,有可能一個應(yīng)該使用get方法的請求就一定要改成post請求,這個要視情況而定。

GET與POST方法的區(qū)別:

1.GET是從服務(wù)器上獲取數(shù)據(jù),POST是向服務(wù)器傳送數(shù)據(jù)

2.GET請求參數(shù)都顯示在瀏覽器網(wǎng)址上,即Get"請求的參數(shù)是URL的一部分。例如: http://www.baidu.com/s?wd=Chinese

3.POST請求參數(shù)在請求體當中,消息長度沒有限制而且以隱式的方式進行發(fā)送,通常用來向HTTP服務(wù)器提交量比較大的數(shù)據(jù)。請求的參數(shù)類型包含在"Content-Type"消息頭里,指明發(fā)送請求時要提交的數(shù)據(jù)格式。

注意:

網(wǎng)站制作者一般不會使用Get方式提交表單,因為有可能會導(dǎo)致安全問題。比如說在登陸表單中用Get方式,用戶輸入的用戶名和密碼將在地址欄中暴露無遺。并且瀏覽器會記錄歷史信息,導(dǎo)致賬號不安全的因素存在。

五、常用的請求報頭

請求頭描述了客戶端向服務(wù)器發(fā)送請求時所使用的編碼,以及發(fā)送內(nèi)容的長度,告訴服務(wù)器自己有沒有登陸,采用的什么瀏覽器訪問的等等。

1.Accept:瀏覽器告訴服務(wù)器自己接受什么數(shù)據(jù)類型,文字,圖片等。

2.Accept-charset:瀏覽器申明自己接收的字符集。

3.Accept-Encoding:瀏覽器申明自己接收的編碼方法,通常指定壓縮方法,是否支持壓縮,支持什么壓縮方法(gzip, deflate,br)。

4.Accept-Language:瀏覽器申明自己接收的語言。

5.Authorization:授權(quán)信息,通常出現(xiàn)在對服務(wù)器發(fā)送的WWW-Authenticate頭的應(yīng)答中。

6.content-Length表示請求消息正文的長度。

7.origin:聲明請求資源的起始位置

8.connection:處理完這次請求后,是斷開連接還是繼續(xù)保持連接。9.Cookie:發(fā)送給WEB服務(wù)器的Cookie內(nèi)容,經(jīng)常用來判斷是否登陸了。

9.Cookie:發(fā)送給WEB服務(wù)器的Cookie內(nèi)容,經(jīng)常用來判斷是否登陸了。

10.Host:客戶端指定自己想訪問的WEB服務(wù)器的域名/IP地址和端口號。

11.If-Modified-since:客戶機通過這個頭告訴服務(wù)器,資源的緩存時間。只有當所請求的內(nèi)容在指定的時間后又經(jīng)過修改才返回它,否則返回304"Not Modified"應(yīng)答。

12.Pragma:指定"no-cache"值表示服務(wù)器必須返回一個刷新后的文檔,即使它是代理服務(wù)器而且已經(jīng)有了頁面的本地拷貝。

13.Referer:告訴服務(wù)器該頁面從哪個頁面鏈接的。

14.From∶請求發(fā)送者的email地址,由一些特殊的Web客戶程序使用,瀏覽器不會用到它。

15.(user-Agent:瀏覽器表明自己的身份(是哪種瀏覽器)

16.upgrade-insecure-requests∶申明瀏覽器支持從http請求自動升級為https請求,并且在以后發(fā)送請求的時候都使用https。

UA-Pixels,uA-Color,uA-oS,UA-CPU:由某些版本的IE瀏覽器所發(fā)送的非標準的請求頭,表示屏幕大小、顏色深度、操作系統(tǒng)和CPu類型。

六、requests模塊查看請求體

在我們用requests模塊請求數(shù)據(jù)的時候攜帶上訴請求報頭的字段信息,將我們的爬蟲代碼進行偽裝。同樣的偽裝之后我們也可以通過代碼查看請求體的字段信息,有如下幾種常見的屬性:

#查看請求體中的url地址
response.request.url
#查看請求體中的請求頭信息
response.request.headers
#查看請求體中的請求方法
response.request.method

關(guān)于“Python爬蟲的請求方法是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI