openpyxl
要爬取的数据部分
# 爬取景区的天气预报
import requests
import re # 使用正则表达式的模块
#定义函数,封装
def get_html():
url = '要爬取的网址'
resp = requests.get(url)
print(resp.text)
# 设置为中文的编码格式
resp.encording = 'utf-8'
return resp.text
# print(resp.text)######用上一步代替
def parse_html(html_str):
#提取字符串数据进行解析
a = re.findall('以span class=''……字样的格式字符串''格式字符串',html_str )###将响应结果resp.text,换为参数:html_str
# 将提取到的数据进行打包
lst = []
for a, b, c, d in zip(a): # a可以是很多歌任意
lst.append([a, b, c, d]) # 四个变量,一个列表
# print(lst)#不打印
# for item in lst:
# print(item)
#不遍历
将数据放入Excel
#将爬取的数据存储到Excel中
import test2
# 数据所在模块
import openpyxl #导入Excel需要的模块
html=test2.get_html() #发出请求,得到响应结果
lst=test2.parse_html(html) #解析数据
#创建一个新的Excel工作簿
workbook=openpyxl.Workbook()
#在Excel文件中创建工作表
sheet=workbook.create_sheet('地区天气')
#向工作表中添加数据
for item in lst:
sheet.append(item)#循环一次添加一行
workbook.save('地区天气.xlsx')
读取Excel里的数据
import openpyxl
#打开要读取的文件
workbook=openpyxl.load_workbook('地区天气.xlsx')
#选择要操作的工作表
sheet=workbook['地区天气']
#表格数据都是二维列表,先遍历的是行,后遍历列
lst=[]#存储的是行数据
for row in sheet.rows:
sublst=[]#存储单元格数据
for cell in row:
sublst.append(cell.value)
lst.append(sublst)
for item in lst :
print(item)