目錄
- 一、請求目標(URL)
- 二、網(wǎng)址的組成:
- 三、請求體(response)
- 四、請求方法(Method)
- 五、常用的請求報頭
- 六、requests模塊查看請求體
一、請求目標(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)上的資源。
三、請求體(response)
就像打電話一樣,HTTP到底和服務(wù)器說了什么,才能讓服務(wù)器返回正確的消息的,其實客戶端的請求告訴了服務(wù)器這些內(nèi)容:請求行、請求頭部、空行、請求數(shù)據(jù)
四、請求方法(Method)
HTTP請求可以使用多種請求方法,但是爬蟲最主要就兩種方法:GET和POST方法。
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爬蟲基礎(chǔ)講解之請求的文章就介紹到這了,更多相關(guān)Python請求內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 基于python爬取鏈家二手房信息代碼示例
- Python爬蟲之爬取二手房信息
- python爬取安居客二手房網(wǎng)站數(shù)據(jù)(實例講解)
- Requests什么的通通爬不了的Python超強反爬蟲方案!
- python使用pywinauto驅(qū)動微信客戶端實現(xiàn)公眾號爬蟲
- Python爬蟲之m3u8文件里提取小視頻的正確姿勢
- Python爬蟲之爬取最新更新的小說網(wǎng)站
- python爬取鏈家二手房的數(shù)據(jù)