Python 3学习笔记(2):使用Requests库实现HTTP请求

Python3使用Requests库实现HTTP请求

 

1.   安装Requests库

运行Pip install requests ,界面如下:

c:\python>Pip install requests

 

2.   验证库是否安装成功

Pythonshell下输入import requests,不报错,则是安装成功。

3.   实现一个完整的请求与响应Get

#coding:utf-8

# 实现一个完整的请求与响应模型:GET

import requests

r =requests.get('http://www.baidu.com')

print(r.content)

 

4.   实现一个完整的请求与响应post

#coding:utf-8

# 实现一个完整的请求与响应模型:POST

import requests

postdata={'key':'value'}

r =requests.post('http://www.baidu.com/login',data=postdata)

print(r.content)

 

5.   带参数的GET请求

#coding:utf-8

# 带参数的GET请求

import requests

payload = {'Keywords': 'blog:qiyeboy','pageindex':1}

r =requests.get('http://zzk.cnblogs.com/s/blogpost', params=payload)

print (r.url)

 

6.   响应与编码

#coding:utf-8

# 响应与编码

import requests

r =requests.get('http://www.baidu.com')

print('content-->',r.content)

print ('text-->',r.text)

print('encoding-->',r.encoding)

r.encoding='utf-8'

print ('new text-->',r.text)

 

7.   chardet:自动识别编码

#coding:utf-8

# chardet:自动识别编码

import requests

import chardet

r =requests.get('http://www.baidu.com')

print(chardet.detect(r.content))

r.encoding = chardet.detect(r.content)['encoding']

print (r.text)

 

8.   请求头headers处理

#coding:utf-8

# 请求头headers处理

import requests

user_agent = 'Mozilla/4.0(compatible; MSIE 5.5; Windows NT)'

headers={'User-Agent':user_agent}

r =requests.get('http://www.baidu.com',headers=headers)

print (r.content)

 

9.   响应码code和响应头headers处理

#coding:utf-8

# 响应码code和响应头headers处理

import requests

r =requests.get('http://www.baidu.com')

if r.status_code ==requests.codes.ok:

    print (r.status_code) #响应码

    print (r.headers)#响应头

    print (r.headers.get('content-type'))#推荐使用这种获取方式,获取其中的某个字段

    print (r.headers['content-type'])#不推荐使用这种获取方式

else:

    r.raise_for_status()

 

10.       Cookie处理:获取cookie

#coding:utf-8

# Cookie处理:获取cookie

import requests

user_agent = 'Mozilla/4.0(compatible; MSIE 5.5; Windows NT)'

headers={'User-Agent':user_agent}

r =requests.get('http://www.baidu.com',headers=headers)

#遍历出所有的cookie字段的值

for cookie in r.cookies.keys():

print(cookie+':'+r.cookies.get(cookie))

 

11.       Cookie处理:设置cookie

#coding:utf-8

# Cookie处理:设置cookie

import requests

user_agent = 'Mozilla/4.0(compatible; MSIE 5.5; Windows NT)'

headers={'User-Agent':user_agent}

cookies =dict(name='qiye',age='10')

r =requests.get('http://www.baidu.com',headers=headers,cookies=cookies)

print (r.text)

 

12.       Cookie处理:自动化

#coding:utf-8

# Cookie处理:自动化

import requests

loginUrl ='http://www.baidu.com/login'

s = requests.Session()

#首先访问登录界面,作为游客,服务器会先分配一个cookie

r =s.get(loginUrl,allow_redirects=True)

datas={'name':'qiye','passwd':'qiye'}

#向登录链接发送post请求,验证成功,游客权限转为会员权限

r = s.post(loginUrl,data=datas,allow_redirects= True)

print (r.text)

 

13.       重定向与历史

#coding:utf-8

# 重定向与历史

import requests

r =requests.get('http://github.com')

print (r.url)

print (r.status_code)

print (r.history)

 

14.       超时设置

requests.get('http://github.com', timeout=2)

 

15.       代理设置

#coding:utf-8

# 代理设置

import requests

proxies = {

  "http":"http://10.10.1.10:3128",

  "https":"http://10.10.1.10:1080",

}

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

 

 

 


猜你喜欢

转载自blog.csdn.net/dalong10/article/details/80035667
今日推荐