python中的requests

Requests

前言

pythonVersion: python3.6.5

Requests: 更人性化, 更优雅的请求库.

link: http://www.python-requests.org/en/master/


安装与使用

安装

win: pip install requests

linux: pip3 install requests


使用

简单的实例
import requests


# get method.
req_url = 'https://www.baidu.com'
resp_get = requests.get(req_url)
print(resp_get.text)    # 打印源码.

# Or
# post method.
data = {
    'name': 'lls',
    'age': 18
}
resp_post = requests.post(url, data=data)
print(resp_post.text)
更多的选择
import requests


# get request.
req_url = 'https://www.baidu.com'
resp_get = requests.get(req_url)

resp_get.content    # 返回bytes类型的response源代码.
resp_get.text       # 返回response源代码.
resp_get.status_code    # 返回request的http状态码.
resp_get.json()     # 将response的json数据json化为py对象.
resp_get.headers    # 返回request的headers.
resp_get.encoding   # 返回response的encoding.
resp_get.url        # 返回request的url.
resp_get.cookies    # 返回response的cookiJar对象.
# post同上.
# get 带上参数请求.
params = {
    'thing1': 'some',
    'thing2': 'some'
}
resp_get = requests.get(req_url, params=params)
print(resp_get.url)     # 运行可以看出url被方便的格式化了.
request参数
  • params: 接收一个字典类型的数据, 内容为请求要发送出去的数据.

    • resp.url: https://www.baidu.com/?thing=some
  • headers: 接收一个字典类型的数据, 内容为定义请求的头文件信息.

  • cookies: 接收一个字典类型的数据, 内容为定义的需要传递的cookies值.
  • data: 接收一个字典类型的数据, 内容为需要发送的post数据.
  • proxies: 接收一个字典类型的数据, 内容是键为http, https的请求url.

    • proxiesEg: {'http': 'http://IP:PORT', 'https': 'https://IP:PORT'}
  • timeout: 接收一个整型对象, 定义请求在多少时间内未完成请求则请求失败并报error.

  • allow_redirect: 接收一个bool值即FalseORTrue, 定义请求是否进行重定向, 默认为True即允许重定向.
  • verify: 接收一个bool值即FalseORTrue, 定义请求是否严格要求网站https的证书的安全性.
    • https证书: 有时我们请求的https类型的网站的安全证书是私有的, 不是公认的.
    • True: 表示严格要求证书是否为公认, 否则请求失败.
    • False: 表示不要求证书的安全性.
session使用

从前面可以看出, 如果我们要请求某个网站就得发送get或者post请求, 并且每次的请求需要的数据都需要准备好, 前后多次的请求是不相关的.

那么session(会话)有什么用呢? 为了能让我们的请求有类型浏览器的某些功能的功能.

不需要每次请求都传递cookies或headers等.

import requests


session = requests.Session()    # 创建对象.
# 请求一个网站.
session.get('http://httpbin.org/cookies/set/sessioncookie/123456789')
resp = session.get('http://httpbin.org/cookies')

# 设置整个headers
session.headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'
}
# 增加一条headers
session.headers.update({'x-test': 'true'})
print(resp.text)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值