python爬蟲之路(一)-----requests庫詳解

                                    requests庫python

requests庫是python實現的最簡單易用的http庫。json

 

requests庫的功能詳解。瀏覽器

咱們能夠天然而然地想到這些方法其實就是http協議對資源的操做。服務器

 

 

 

 

調用requests的get方法就是構造一個向服務器請求資源的requests對象,這個對象會返回一個包含服務器資源的response對象。cookie

下面咱們主要來說如下requests庫的request方法dom

request()中的參數post

------------url:擬獲取頁面的url連接url

------------**kwargs:控制訪問的參數,均爲可選項spa

         params : 字典形式,將params以字典的方式做爲傳入url中。設計

          

         headers :字典形式,http定製頭,咱們能夠這個來把爬蟲假裝成瀏覽器。

          

         data:字典形式、字符串或文件對象,用於向服務器提供或提交數據,做爲request的內容

import requests;
data={'id':"me","age":10}r=requests.request('post',"http://www.baidu.com",data=data);
data="人生苦短,及時行樂";r=requests.request('post',"http://www.baidu.com",data=data);

 

         json   :json格式的數據,做爲request的內容。

         timeout  :設置超時時間,以秒爲單位,在規定的時間沒有返回,拋出timeout異常。

 

         不經常使用參數:

          allow_redicts:  True/False  默認爲True,重定向開關

          stream:True/False  默認爲True  獲取內容當即下載

          verify:True/False   默認爲True   認證數字證書開關

          cert  :本地SSL路徑

          高級參數:

          1.獲取cookie

          cookies: 咱們能夠使用cookies參數傳入咱們設計好的cookies到服務器,此外,咱們也能夠經過cookies參數,獲取響應cookie的一些值。

//獲取cookie
import requests
url = 'http://httpbin.org/cookies';
response = requests.get(url) ;
print(response.cookies);



//向服務器傳入cookie
import requests
url = 'http://httpbin.org/cookies'
cookies = { 'domain':'httpbin.org', }
response = requests.get(url, cookies=cookies) ;
print(response.text);

          2.上傳文件

          files:字典類型,文件傳輸

import requests
url = "http://www.baidu.com";
fs={"files":open("F://imgs//timg.jpg","rb")};
r=requests.request("post",url,files=fs);

         3.設置代理

          所謂代理,其實就是把一件事交給別人去作。當咱們使用代理去訪問服務器時,本機會將請求先發到代理,而後在由代理髮到服務器。當接收服務器的響應時,先是代理收到響應,再轉發到本機。

         

import requests
proxies={
    "http":"http://127.0.0.1:9743",
    "https":"https://127.0.0.1:9743",
}
r=requests.request("get","http://www.baidu.com",proxies=proxies);
print(r.status_code);

 

 

再看一遍Requests庫的7個主要方法

 其實,get()/post()/head()/put()/patch()/delete()方法,均可以用request方法來取代,其參數也大致相同。

相關文章
相關標籤/搜索