1、安装requests库
reqests是python的第三方库,使用前需要安装好requests库
使用pip3j进行安装
pip3 instaall requests
2、GET请求
使用get()方法进行发送get请求
import requests
resp = requests.get('https://www.httpbin.org/get')
print(resp.text) # 打印请求响应
print(resp.status_code) # 返回求情页面的状态码
带参数的get请求
1、直接构建请求的url
import requests
resp = requests.get('https://www.httpbin.org/get?name=germey&age=15')
print(resp.text)
2、将参数以字典的形式传给get方法的params参数
import requests
data = {
'name': 'germey',
'age': '15'
}
resp = requests.get('https://www.httpbin.org/get', params=data)
print(resp.text)
添加header请求头
在发送请求的时候一般会有一个请求头Request Header,某些网站会检测请求头信息,识别请求是否是一个正常浏览器发送的,如果检测到不是正常的浏览器发出的,则会返回异常结果,导致页面抓取失败
import requests
# 添加User-Agent字段
header = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/"
}
resp = requests.get("https://ssr1.scrape.center/", headers=header)
print(resp.text)
3、post请求
使用post() 发送post请求
import requests
data = {
'name': 'germey',
'age': 15,
}
resp = requests.post('https://www.httpbin.org/post', data=data)
print(resp.text)
4、响应
请求发送后,会得到响应,可以使用text(返回字符串数据)和content(返回二进制数据)获取响应的内容 ,还可以使用其他属性、方法来获得其他信息,比如状态码(status_code)、响应头(headers)、Cookie等
import requests
resp = requests.get('https://www.httpbin.org/get')
print(resp.text) # 返回html页面(字符串数据)
print(resp.content) # 返回二进制数据
print(resp.status_code) # 返回响应的状态码
print(resp.cookies) # 返回响应的Cookie,返回的数据类型为RequestsCoolieJar对像
print(resp.headers) # 返回响应的头部信息
print(resp.url) # 返回响应的url
print(resp.history) # 得到请求历史
补充
requests 库提供一个内置的状态码查询对象 requests,codes
import requests
resp = requests.get('https://www.httpbin.org/get')
exit() if not resp.status_code == requests.codes.ok else print('request successfully')