requests库

requests 模块

requests 继承了 urllib2 的所有特性。requests 支持 HTTP 连接保持和连接池,支持使用 cookie 保持会话,支持文件上传,支持自动确定响应内容的编码,支持国际化的 URL 和 POST 数据自动编码
requests 的底层实现其实就是 urllib3

  1. request.get
# headers---->请求头的字典     params---->url请求参数的字典
# auth---->如果是Web客户端验证,需要添加 auth = (账户名, 密码)
requests.get(url, params, headers, auth)
# 查看响应内容,response.text 返回的是Unicode格式的数据
response.text  # <type 'unicode'>

# 查看响应内容,response.content 返回的字节流数据
print respones.content  # <type 'str'>

print response.url
print response.encoding
print response.status_code
  1. request.post
response = requests.post(url, data, headers)

# 如果是json文件可以直接显示
print response.json()
  1. 代理(proxies参数)
  • 如果需要使用代理,你可以通过为任意请求方法提供 proxies 参数来配置单个请求
  • 也可以通过本地环境变量 HTTP_PROXY 和 HTTPS_PROXY 来配置代理
export HTTP_PROXY = "http://12.34.56.79:9527"
export HTTPS_PROXY = "https://12.34.56.79:9527"
  1. cookies
# 返回CookieJar对象:
cookiejar = response.cookies

# 将CookieJar转为字典:
cookiedict = requests.utils.dict_from_cookiejar(cookiejar)
  1. session
# 创建 session 对象,可以保存 Cookie 值
ssion = requests.session()

# 发送附带用户名和密码的请求,并获取登录后的Cookie值,保存在ssion里
ssion.post()

#  ssion包含用户登录后的Cookie值,可以直接访问那些登录后才可以访问的页面
response = ssion.get()
  1. 处理HTTPS请求 SSL 证书验证
# verify 默认为True
response = requests.get("https://www.baidu.com/", verify=True) 
response = requests.get("https://www.12306.cn/mormhweb/", verify = False)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容