requests详解和csv文件操作
1. csv文件
csv文件又叫逗号分割值文件。它保存的数据数的时候是以行列的形式保存,一行内容对应表格中的一行,一行中不同列的数据用逗号分割。
csv文件操作
2. csv读取文件操作
from csv import reader, DictReader
# 1.以读的方式打开csv文件
f = open('files/data1.csv', encoding='utf-8')
# 2.创建reader获取csv文件,返回值是文件内容对应的迭代器
# 1)reader(文件对象) 返回值对应的迭代器中的元素是每一行内容对应的列表
content = reader(f)
print(list(content))
# 2)DictReader(文件对象) 返回值对应的迭代器中的元素是每一行内容对应的字典
content = DictReader(f)
print(list(content))
# 3.读完数据后关闭文件
f.close()
3. csv写入文件操作
from csv import writer, DictWriter
# 1.以写的方式打开csv文件
f = open('files/data2.csv', 'w', encoding='utf-8', newline='')
# newline让其没空行
# 2.创建writer
# 1)writer(文件对象)
writer1 = writer(f)
# 2)Dictwriter(文件对象, 键对应的列表作为csv文件第一行)
writer2 = DictWriter(f, ['学号', '姓名', '年龄', '电话'])
# --------------------------使用writer对象写入-----------------------------
# 3.写入数据
# writer对象.writerow〔一行内容)
# writer对象.writerows(多行内容对应打大列表)
writer1.writerow(['学号', '姓名', '年龄', '电话'])
writer1.writerow(['001', '小红', 25, '110'])
writer1.writerows([
['002', '张三', 22, '119'],
['003', 'Tom', 26, '10293'],
['004', '小王', 28, '9122']
])
# 4.写完数据后关闭文件
f.close()
# -----------------------使用Dictwriter对象写入 ----------------------------
# 3.将字典的键作为第一行内容写入到文件中
writer2.writeheader()
# 4.写入数据
writer2.writerow({'学号': '001', '姓名': '小红', '年龄': 25, '电话': '110'})
writer2.writerows([
{'学号': '002', '姓名': '小红2', '年龄': 25, '电话': '110'},
{'学号': '003', '姓名': '小红3', '年龄': 25, '电话': '110'},
{'学号': '004', '姓名': '小红4', '年龄': 25, '电话': '110'}
])
# 5.关闭文件
f.close()
request详解
# 1.请求地址
"""
1) 网页地址 - 爬虫(爬网页数据)
2) 数据接口
3) 文件地址(图片、视频、音频)- 下载文件
"""
response = requests.get('https://cd.zu.ke.com/zufang/')
# print(response) # <Response [200]>
# 2.获取状态码
print(response.status_code) #200
# 3.获取响应头
print(response.headers)
# 4.设置文本编码方式(请求结果是乱码的时候才需要将编码方式设置成和网页编码方式一致)
response.encoding = 'utf-8'
# 获取请求结果
"""
1) 响应对象.text - 请求对象是网页地址(结果都是字符串)
2) 响应对象.json() - 请求对象是json接口(结果类型由json格式决定)
3) 响应对象.content - 请求对象是文件地址
"""
print(response.text)