2、python get请求
1、使用requests模块发起网络请求
导入模块
import requests #导入之后才可以进行使用#定义一个字符串,保存请求网址
url ='https://www.baidu.com/'
发起get请求,
def geturl,params=None, **kwargs)
requests.get(url) #先导入后使用
requests.get(a=a) 错误写法 #如果使用关键字实参,名字必须要和形参名保持一致
print(requests.get(url=url)
print(requests.get(url=url)) # get函数会有返回值,返回的是响应对象Response
定义一个变量,接收响应
res =requests.get(url=url)
如果得到响应之后,还需要其它的操作,推荐使用变量保存响应
print(res)
获取响应内容
响应.text
print(res.text)
print(res.text)输出响应内容,发现响应中符号,字母,数字显示是正常的,但是中文显示不正常
响应.encoding='从响应内容中找charset的值
res.encoding='utf-8'
如果要设置编码,再输出内容之前进行设置
print(res.text)
2、请求图片
import requests
图片网址,一般图片网址可以直接在浏览器中鼠标右键复制图片地址(单张)
url ='https://gips0.baidu.com/it/u=838505001,1009740821&fm=3028&app=3028&f=PNG&fmt=auto&q=100&size=f254_80'
发起请求,得到响应
res = requests.get(url)
输出响应的内容
图片的内容并不是中文数据 二进制数据
print(res.text) 得到为字符串类型件
响应.content 得到字节数据类型(图片,视频,音频)
x94\xa2\xcb\xd6TaD\n|z`\xa7N\xf2,\xbbW\x
print(res.content)
如何实现图片的保存
open()
'''
file:位置参数,文件的路径
文件路径:
绝对路径:从盘符出发 D:/111/222\表示windows电脑中文件分隔符死板
相对路径:相对python文件
如果和python文件所属同一个文件夹:直接写文件的名字或者./文件名
文件名:
文件名.后缀
.py 类型:python文件
.png 类型:图片文件
.jpg 类型:图片文件
.mp3 类型:音频文件
.mp4类型:视频文件
文件打开模式
mode='r'默认参数
r w a操作的都是字符串数据
r:文件读取模式:如果文件存在,则读取文件的内容,如果文件不存在,则报错
w:文件写入数据模式,如果文件存在,则覆盖文件的内容,如果文件不存在,则创建文件,写入数据
a:文件写入数据模式,如果文件存在,则追加文件内容,如果文件不存在,则创建文件,写入数据
rb : 操作的是字节数据 文件读取模式:如果文件存在,则读取文件的内容,如果文件不存在,则报错
wb:操作的是字节数据,如果文件存在,则覆盖文件的内容,如果文件不存在,则创建文件,写入数据
ab:操作的是字节数据,如果文件存在,则追加文件内容,如果文件不存在,则创建文件,写入数据
'''
def open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True):
with open('1.png',mode='wb') as f: #f = open('1.png','wb') 自动关闭资源
f.write(res.content)