人类请用Requests

人类请用Requests

我们日常的脚本里会有很大HTTP的请求访问,python也自带了标准的HTTP lib库,比如urllib,urllib2但是这俩个库的API 实在是太不友好了

1.标准库的post 方法

import urllib2

import urllib

url = "http://127.0.0.1"

data = http://www.gunmi.cn/v/{"name":"python"}

res = urllib.urlopen(url,urllib.urlencode(data))

print res.read()

2.标准库的使用cookie

import urllib2

import cookielib

cookie = cookielib.CookieJar()

handler=urllib2.HTTPCookieProcessor(cookie)

opener = urllib2.build_opener(handler)

res = opener.open("http://www.baidu.com")

print res.read()

这么多行才实现了cookie,而且API极其难懂,如果你读懂了,我敬你一条汉子

那么人们肯定不甘于使用这么一个难用的库,所以Requests就诞生了,先来看看他的官网介绍

人类请用Requests

下面来看他的使用

一.post,get方法

import  requests

url ="http://127.0.0.1"

#get方法

get_res = requests.get(url)

print get_res.text

#post方法

mydata = http://www.gunmi.cn/v/{"name":"python"}

post_res = requests.post(url,data=http://www.gunmi.cn/v/mydata)

print post_res.text

二.提交json,解析反回json

#提交json

res = requests.post(url,json=mydata)

#解析json

print res.json()

三.更改header

myheader = {"User-Agent":"Intel Mac OS X 10_12_6","Referer":"http://127.0.0.1"}

res = requests.get(url,headers=myheader)

四.使用cookie

session = requests.session()

login_res = session.post("http://www.abc.com/login",data=http://www.gunmi.cn/v/{"user":"python","pwd":"123"})

#这时候已经保存了登录的cookie了,可以直接访问个人的信息页了

res = session.get("http://www.abc.com/profile")

print res.text

常用的方法基本都在这里了

人类请用Requests