xls文件的读写模块
xlwt:xls文件写操作。
xlrd:xls文件读操作。
openpyxl和xlwt\xlrd对比
- openpyxl行列号从1开始;xlwt、xlrd行列号从0开始。
- 两者都可以对工作表进行操作。
- 两者都可以用单位格定位的形式进行单元格操作。
- xlwt写操作使用过write()写。
安装命令:
pip/pip3 install xlwt
pip/pip3 install xlrd
xls文件的写操作
- 导入第三方库
import xlwt
import random
- 创建文件
wb = xlwt.Workbook()
- 创建工作表
sheet1 = wb.add_sheet('一年级一班成绩表')
sheet2 = wb.add_sheet('一年级二班成绩表')
sheet3 = wb.add_sheet('一年级三班成绩表')
- 写入数据
names = ['张飞','刘备','关羽','貂蝉','曹操']
for i in range(len(names)):
# 写入学生名字
sheet1.write(i,0,names[i])
for j in range(1,4):
# 工作表.write(row,col,content)
sheet1.write(i,j,random.randint(0,100))
- 保存关闭
wb.save('一年级成绩表.xls')
xls文件的读操作
- 导入第三方库
import xlrd
- 打开文件
wb = xlrd.open_workbook('一年级成绩表.xls')
- 选择工作表
sheet_names():查看存在的所有工作表。
print(wb.sheet_names())
# ['一年级一班成绩表', '一年级二班成绩表', '一年级三班成绩表']
sheet_by_index():根据下标查看某个工作表。
sheet_by_name():根据工作表名查看工作表。
ws1 = wb.sheet_by_index(0)
print(ws1.cell(0,0).value)
ws2 = wb.sheet_by_name('一年级一班成绩表')
print(ws2.cell(0,0).value)
# 张飞
# 张飞
- 获取最大行列数
nrows:获取最大行数、ncols:获取最大列数
print(ws2.nrows,ws2.ncols)
# 5 4
爬虫的初步了解
爬虫(网络数据采集):按照程序员的想法,由程序员自定义规则编写程序批量的爬取数据(图片、音频、视频、数据等)。
爬虫的流程:
- 解析HTML页面。
- 根据前端的语法或者正则表达式提取数据。
- 保存数据。
爬虫需要用到的模块:
requests、urllib、selenium、playwright等。
requests:通过网址向服务器发送请求,等待服务器的响应结果。
下载第三方模块requests:pip install requests
requests的使用
- 导入第三方库
import requests
- 获取网址,向网址发出请求
URL = 'https://pvp.qq.com/web201706/index.shtml'
# 向哔站发送请求
- 获取B站服务器的响应结果
response = requests.get(url=URL)
print(response)
# <Response [200]>
# status_code:状态码---判断服务器和网页状态
# 200:表示程序和服务器正常通信
# 403:表示服务器理解客户端的请求,但是拒绝了客户端的请求。
# 404:网页丢失。
# 500:服务器崩溃。
print(response.status_code)
# 如果网页发生乱码,只需要按照页面指定编码方式解码即可
# charset="gbk"
requests默认使用ISO-8859-1的编码(ASCLL
也能使用页面服务器所指定的编码方式。
UTF-8(万国码)、gbk(国标码)
如果页面中没有charset = ‘编码’:response.encoding = None
response.encoding = ‘gbk’
-
使用text:页面源代码(字符串类型)
print(response.text, type(response.text))
-
使用content:网页源代码(二进制形式(字节))
print(response.text, type(response.text))
使用requests进行图片下载
import requests
# 图片地址
# URL = 'https://game.gtimg.cn/images/yxzj/coming/v2/skins//image/20220623/16559729431894.png'
# 视频地址
URL = 'https://video.pearvideo.com/mp4/adshort/0220614/cont-1765337-15895934_adpkg-ad_hd.mp4'
response = requests.get(url=URL)
if response.status_code == 200:
print(response.content)
# 将图片写入本地文件
# photo = open('1.png','wb')
# photo.write(response.content)
# photo.close()
# 将视频写入本地文件
video = open('1.mp4','wb')
video.write(response.content)
video.close()
else:
print(f'状态码:{response.status_code}')