python requests模块使用方法,python requests文档

  python requests模块使用方法,python requests文档

  文章目录1.简介2.安装3.方法3.1 发送带参数的得到请求3.2 发送带数据的邮政请求3.3员额也可以用于上传文件3.4 设置与查看请求头(标题)3.5代理代理3.6保存饼干

  1.简介要求是大蟒的一个超文本传送协议客户端库,跟urllib,urllib2类似,那为什么要用要求而不用urllib2呢?

  2.安装点安装请求

  3.方法导入请求

  超文本传送协议请求:获取、发布、上传、删除、标题、选项

  requests.get(http://xxxx.com/)

  请求。帖子( http://xxxx。 com/post ,data={key:value})

  请求。放( http://xxxx。com/put ,data={key:value})

  请求。删除(《http://xxxx.com/delete》)

  请求。头( http://xxxx。com/get’)

  请求。选项(" http://xxxx。com/get”)

  为统一资源定位器传递参数

  要求模块使用参数关键字参数,以一个字典的形式来提供参数。

  有效负载={key1 :值, key2 :值2}

  RES=请求。get( http://http bin。org/get ,params=有效负载)

  资源全球资源定位器(Uniform Resource Locator)

  uhttp://httpbin.org/get? key2=value2 key1=value

  r=请求。get( http://www。zhidaow。com )#发送请求

  r。状态代码#返回码

  200

  r.headers[content-type] #返回头部信息

  文本/html; charset=utf8

  r。编码#编码信息

   utf-8

  r。文本#内容部分(PS,由于编码问题,建议这里使用r。内容)

   u\n

  .

  res.json()

  res.rawresponse文本和响应。内容的区别在于:

  回复。文本是解过码的字符串(比如超文本标记语言代码)。当要求发送请求到一个网页时,请求库会推测目标网页的编码,并对其解码,转为字符串(str)。这种方法比较容易出现乱码响应.内容是未解码的二进制格式(字节),不仅支持文本内容,还适用于二进制文件内容如图片和音乐等。如果需要把文本内容转化为字符串,一般使用response.content.decode(utf-8 )方法即可。

  3.1 发送带参数的得到请求导入请求

  params={

  wd: python , pn: 10,

  }

  响应=请求。得到( https://www。百度一下。 com/s ,params=params)

  打印(响应. url)

  打印(响应。文本)

  3.2 发送带数据的邮政请求导入请求

  post_data={ 用户名:值1 ,密码:值2}

  响应=请求。帖子( http://XXX。com/log in/,data=post_data)

  response.raise_for_status()

  3.3员额也可以用于上传文件导入请求

  url=http://httpbin.org/post

  files={file: open(report.xls , rb)}

  r=requests.post(url,files=files)

  3.4 设置与查看请求头(标题)很多网站都有反爬机制,如果一个请求不携带请求头标题,很可能被禁止访问。我们可以按如下方式设置请求头。你也可以通过打印响应。标题查看当前请求头。

  导入请求

  标题={

  用户代理:‘Mozilla/5.0(麦金塔;英特尔Mac OS X 10_12_4) AppleWebKit/

  537.36 (KHTML,像壁虎一样)Chrome/58。0 .3029 .110 Safari/537.36

  }

  响应1=请求。得到( https://www。百度一下。 com ,头=头)

  响应2=请求。帖子( https://www。xxxx。com),data={key: value},

  标题=标题)

  打印(响应1 .标题)

  打印(响应1。标题[内容类型])

  打印(响应2 .文本)

  3.5 代理代理人有的网站反爬机制会限制单位时间内同一互联网协议(互联网协议)的请求次数,这时我们可以通过设置互联网协议(Internet Protocol)代理代理来应对这个反爬机制106 .请求里设置代理人也非常简单,如下面代码所示。

  导入请求

  代理={

  http: http://10.10.1.10:3128 ,

  https: http://10.10.1.10:1080 ,

  }

  requests.get(http://example.org ,proxies=proxies)

  3.6 保存cookies cookies=请求。饼干。requestscookiejar()

  定义登录(端点ip):

  endpoint= http://终结点IP :8080/upcdb _ manager/v 1.0/log in

  header={}

  头[内容类型]=应用程序/json

  有效负载={

  登录名:用户名,

  密码:密码

  }

  响应=请求。请求( POST ,端点,数据=json.dumps(有效负载),标题=标题)

  返回response.cookies

  if __name__==__main__ :

  cookies=登录( 192.168.1.19 )

  url=www.baidu.com/xxx

  r=requests.get(url,cookies=cookies)

  来自

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: