11_Python_请求库_Requests的使用

目录

1.安装Requests

pip install requests

2.导入 Requests 模块:

import requests

3.发送请求

import requests

# 使用get的请求方式,尝试获取某个网页。
response = requests.get('https://www.baidu.com/')

# 发送一个post请求
response = requests.post('http://httpbin.org/post', data={'key': 'value'})

# 其他 HTTP 请求类型:PUT,DELETE,HEAD 以及 OPTIONS
response = requests.put('http://httpbin.org/put', data={'key': 'value'})
response = requests.delete('http://httpbin.org/delete')
response = requests.head('http://httpbin.org/get')
response = requests.options('http://httpbin.org/get')

4.为URL传递参数

import requests

#为URL传递参数
payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.get("http://httpbin.org/get", params=payload)

print(r.url)
#输出内容:http://httpbin.org/get?key1=value1&key2=value2

5.响应内容

5.1 文本响应内容

import requests

# 文本响应内容
r = requests.get("https://www.baidu.com/")

print(r.text)
# 注意:
#   1.请求发出后,Requests会基于HTTP头部对响应的编码作出有根据的推测。
#   2.当你访问r.text 之时,Requests会使用其推测的文本编码,返回页面内容。

# 使用 r.encoding 设置文本编码格式:

print(r.encoding)
# 输出内容:ISO-8859-1
r.encoding = 'ISO-8859-1'

5.2 二进制响应内容

import requests

# 二进制响应内容
r = requests.get("https://www.baidu.com/")
print(r.content)

5.3 JSON 响应内容

import requests

# JSON 响应内容
r = requests.get("https://api.github.com/events")
print(r.json())

6.定制请求头

import requests

# 定制请求头
url = 'https://www.baidu.com/'
headers  = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'}

r = requests.get(url, headers=headers)

7.响应状态码

import requests

# 响应状态码
url = 'https://www.baidu.com/'
headers  = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'}
r = requests.get(url, headers=headers)

#打印响应状态码
print(r.status_code)

#输出内容:200

8.响应头

import requests

# 响应头
url = 'https://www.baidu.com/'
headers  = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'}
r = requests.get(url, headers=headers)

#打印响应头
print(r.headers)
#输出内容:200

#获取请求头中的信息
print(r.headers.get('Bdqid'))
#输出内容:0xa44ddfe600007e3f

9.Cookie

import requests

# Cookie
url = 'https://www.baidu.com/'
r = requests.get(url)
#方法一:直接设置Cookie
r.cookies['Cookie_valves']

#方法二:使用字典传入
cookies = {'Cookie':'Cookie_valves'}
cookies = dict(Cookie='Cookie_valves')

r = requests.get(url, cookies=cookies)

10.超时

  • 通过给requests中的timeout传入参数,设定的秒数时间之后停止等待响应。
import requests

# timeout 参数设定的秒数时间之后停止等待响应
url = 'https://www.baidu.com/'
r = requests.get(url,timeout = 5)
# 如果5秒内服务器没有回应我们的请求,就提示超时的错误

11.保持会话:Session()

import requests

#  保持会话
s = requests.Session()
r = requests.get('https://www.baidu.com/')

12.代理

import requests

proxies = {
  "http": "http://10.10.1.10:3128",
  "https": "http://10.10.1.10:1080",
}

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

参考资料:

猜你喜欢

转载自www.cnblogs.com/jasontang369/p/9240897.html