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方法来取代,其参数也大致相同。

相关文章
相关标签/搜索