获取数据 处理数据 存储数据–爬虫的三个步骤
将数据保存到csv | 将数据保存到excel |
---|---|
import csv | from openpyxl import Workbook |
-
excel文件写入的步骤
1.创建工作簿 web=openpyxl.Workbook() 2.选择工作簿 sheet=web.active或sheet=wb['工作表名'] 3.操作单元格 sheet['A1']=1或sheet.append([变量1,变量2,变量3]) 4.保存工作簿 web.save('文件名.xlsx')
excel文件写入
from openpyxl import Workbook
# 新建工作簿
wb = Workbook()
# 选择默认的工作表
sheet = wb.active
# 给工作表重命名
sheet.title = '考勤统计表'
data = [
['姓名', '出勤天数', '迟到次数'],
['张三', 20, 5],
['王五', 22, 0]
]
# 写入多行数据
for row in data:
sheet.append(row)
# 保存 Excel 文件
wb.save('数据.xlsx')
excel文件读取
from openpyxl import load_workbook
# 打开 Excel 文件
wb = load_workbook(‘数据.xlsx')
# 选择数据这张工作表
sheet = wb['工作表名']
# 打印出所有工作表名称
print(wb.sheetnames)
# 输出:['工作表名']
# 打印出 A1 单元格的值
print(sheet['A1'].value)
# 输出:姓名
# 打印所有单元格的值
for row in sheet.rows:
for cell in row:
print(cell.value)
# 逐行输出:姓名 出勤天数 迟到次数 张三 20 5 王五 22 0
首先是openpyxl实战项目
数据存储
import requests
from bs4 import BeautifulSoup
from openpyxl import Workbook
#创建个工作簿
wb = Workbook()
#默认值--工作表名称
sheet = wb.active
#修改工作表名称
sheet.title = '豆瓣图书Top250'
写入表头
header = ['书名', '评分', '链接']
sheet.append(header)
headers = {'user-agent': '这里是你的user-agent'}
res = requests.get('所要爬取的网站', headers=headers)
soup = BeautifulSoup(res.text, 'html.parser')
通过 class 属性选中所有包含图书信息的整个 HTML 元素
items = soup.select('.item')
遍历每个元素,即遍历每本图书
for i in items:
tag = i.select('div.pl2 a')[0] # 选中包含书名、书籍链接的 a 元素
rating = i.select('.rating_nums')[0].text # 书籍评分
name = tag['title'] # 书名
link = tag['href'] # 书籍链接
# 写入一行数据
row = [name, rating, link]
sheet.append(row)
print(name, rating, link)
保存为 豆瓣.xlsx
wb.save('豆瓣.xlsx')
csv写操作
csv读操作
1.首先在相同目录下创建csv文件–写入以英文为逗号分隔符的数据
CSV实战项目
csv 还提供了一个更加快捷的写入多行内容的方法——writerows(),通过该方法不再需要使用 for 循环
import csv
#这里是空表
with open('数据文件名.csv', 'w', newline='') as file:
csv_writer=csv.writer(file)
header=['书名','评分','链接']
#导入表头
csv_writer.writerow(header)
这里的和excel数据存储是一致的
row=[name,rating,link]
csv_writer.writerow(row)
最后不用进行保存
支持就点赞哦!!!