python网络请求简洁之道–python requests简介

 

python网络请求简洁之道–python requests简介

强烈推荐!

requests官方文档已有了中文版,请见http://cn.python-requests.org/en/latest/ 。

 

引言

requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的:

python的标准库urllib2提供了大部分需要的HTTP功能,但是API太逆天了,一个简单的功能就需要一大堆代码。

 

概览

安装方式大家可以在网上搜一搜有很多这里先给出一个简要的例子,让大家先体会一二。

  >>>import requests
  >>> r = requests.get('http://www.zhidaow.com')  # 发送请求
  >>> r.status_code  # 返回码 200
  >>> r.headers['content-type']  # 返回头部信息'text/html; charset=utf8'
  >>> r.encoding  # 编码信息'utf-8'
  >>> r.text  #内容部分(PS,由于编码问题,建议这里使用r.content)
  u'<!DOCTYPE html>\n<html xmlns="http://www.w3.org/1999/xhtml"...'...


各种HTTP请求的例子

  >>> r = requests.post("http://httpbin.org/post")
  >>> r = requests.put("http://httpbin.org/put")
  >>> r = requests.delete("http://httpbin.org/delete")
  >>> r = requests.head("http://httpbin.org/get")
  >>> r = requests.options("http://httpbin.org/get")

 

带参数的请求的例子

  >>> payload = {'wd': '张亚楠', 'rn': '100'}
  >>> r = requests.get("http://www.baidu.com/s", params=payload)
  >>> print r.url
  u'http://www.baidu.com/s?rn=100&wd=%E5%BC%A0%E4%BA%9A%E6%A5%A0'

哈哈,不用自己进行urlencode了。^_^

 

获取json结果

  >>>r = requests.get('...')
  >>>r.json()['data']['country']
  '中国'

 

 

评论

还没有任何评论,你来说两句吧

发表评论

浙ICP备16008686 -
善始者实繁,克终者盖寡