002 requests的使用方法

1、直接使用url,没用headers的请求

import requests

url = 'http://www.baidu.com'
# requests请求用get方法
response = requests.get(url)

# 返回的content是字节 需要解码
data = response.content.decode()
print(data)
# 而text返回的是字符串类型
data = response.text
print(data)
只有url的代码

2、有headers的GET请求

requests的get参数,headers传入的参数是字典,不用转成字符串

import requests

url = 'http://www.baidu.com'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36',

}
# requests请求用get方法
response = requests.get(url, headers=headers)

# 1. 获取请求头
print(response.request.headers)
# 2. 获取相应头
print(response.headers)
# 3. 获取状态码
print(response.status_code)
# 4. 请求的cookie
print(response.request._cookies)
# 5. 相应的cookie
print(response.cookies)
含有headers的代码

而 url = 'http://www.baidu.com/s?wd=你好' 中的汉字会自动转义,不需要调用其他模块

import requests

url = 'http://www.baidu.com/s?wd=你好'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36',
}
# requests请求用get方法
response = requests.get(url, headers=headers)

data = response.content.decode()
print(data)
在url后面直接拼接
import requests

url = 'http://www.baidu.com/'
params = {
    'wd': '你好',
}
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36',
}
# requests请求用get方法
response = requests.get(url, headers=headers, params=params)

data = response.content.decode()
print(data)
运用params字典类型进行拼接url
import requests

url = 'http://baidu.com'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36',
}
params = {
    'wd': '你好'
}
free_proxy = {
    'https': '153.232.156.201:8080',
}
# 加代理IP
response = requests.get(url, headers=headers, params=params, proxies=free_proxy)

data = response.content
print(data.decode())
代理IP

3、有headers的POST请求

import requests

url = 'http://iclass.ncut.edu.cn/iclass/'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36',
}
data = {
    'login': '17159010225',
    'password': '******',
}
# requests请求用post方法
response = requests.post(url, headers=headers, data=data)

data = response.content
with open('01 登录界面.html', 'wb') as fp:
    fp.write(data)
登录含有cookie的代码

猜你喜欢

转载自www.cnblogs.com/abc23/p/10670040.html
002