Python爬蟲基礎講解之請求

一、請求目標(URL)

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

二、網址的組成:

1.http://:這個是協議,也就是HTTP超文本傳輸協議,也就是網頁在網上傳輸的協議。

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

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

4.mail.163.com:這個是網站名,由服務器名+域名組成。

5./:這個是根目錄,也就是說,通過網站名找到服務器,然後在服務器存放網頁的根目錄。

6.index.html:這個是根目錄下的網頁。

7.http://mail.163.com/index.html:這個叫做URL,統一資源定位符,全球性地址,用於定位網上的資源。

三、請求體(response)

就像打電話一樣,HTTP到底和服務器說瞭什麼,才能讓服務器返回正確的消息的,其實客戶端的請求告訴瞭服務器這些內容:請求行、請求頭部、空行、請求數據

四、請求方法(Method)

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

get請求:一般情況下,隻從服務器獲取數據下來,並不會對服務器資源產生任何影響的時候會使用get請求。

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

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

GET與POST方法的區別:

1.GET是從服務器上獲取數據,POST是向服務器傳送數據

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

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

註意:

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

五、常用的請求報頭

請求頭描述瞭客戶端向服務器發送請求時所使用的編碼,以及發送內容的長度,告訴服務器自己有沒有登陸,采用的什麼瀏覽器訪問的等等。

1.Accept:瀏覽器告訴服務器自己接受什麼數據類型,文字,圖片等。

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

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

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

5.Authorization:授權信息,通常出現在對服務器發送的WWW-Authenticate頭的應答中。

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

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

8.connection:處理完這次請求後,是斷開連接還是繼續保持連接。9.Cookie:發送給WEB服務器的Cookie內容,經常用來判斷是否登陸瞭。

9.Cookie:發送給WEB服務器的Cookie內容,經常用來判斷是否登陸瞭。

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

11.If-Modified-since:客戶機通過這個頭告訴服務器,資源的緩存時間。隻有當所請求的內容在指定的時間後又經過修改才返回它,否則返回304″Not Modified”應答。

12.Pragma:指定”no-cache”值表示服務器必須返回一個刷新後的文檔,即使它是代理服務器而且已經有瞭頁面的本地拷貝。

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

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

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

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

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

六、requests模塊查看請求體

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

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

到此這篇關於Python爬蟲基礎講解之請求的文章就介紹到這瞭,更多相關Python請求內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: