配套教学视频地址:Python天气数据分析预测与可视化项目实战 计算机毕业设计 爬虫 简历项目 复试项目 课程设计 可视化 数据分析 大数据毕业设计_哔哩哔哩_bilibili
安装pycharm、Miniconda和phpenv
我用的是pycharm professional 2022.3.3
B站或者淘宝有安装教程
1. Miniconda的下载和环境的创建
Anaconda的下载地址是:Index of /anaconda/miniconda/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
1.1 Miniconda的安装
下载完成之后一路下一步安装即可,有两点需要注意:
- 安装路径不要选在C盘。
- 添加路径要勾选上。
1.2 Miniconda国内镜像加速
复制下列指令到cmd中执行即可完成加速。
conda config --remove-key channels
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
前端模板下载:
Github:
Gitee
为什么要定义type='no_select'
在定义query
函数时,type='no_select'
是一个默认参数,用于指示函数的调用者预期的SQL操作类型。这个参数的目的是为了区分两种不同的SQL操作:查询(SELECT)和其他类型的操作(如INSERT、UPDATE、DELETE等)。
当type
参数的值不是'no_select'
时,意味着执行的SQL语句是一个查询操作,函数期望从数据库中获取数据。在这种情况下,函数会调用cursor.fetchall()
来获取所有匹配的记录,并将这些记录作为列表返回。
当type
参数的值是'no_select'
时,意味着执行的SQL语句是除了查询以外的其他类型的操作,如插入、更新或删除记录。这些操作通常不返回数据,而是简单地更改数据库的状态。因此,函数不会尝试获取数据,而是返回一个表示操作成功的字符串'数据库语句执行成功'
。
通过这种方式,query
函数可以更加灵活地处理不同的SQL操作,并根据操作类型返回相应的结果。这样的设计可以让函数的使用者根据需要选择是否处理查询结果,同时也简化了函数的实现,因为它不需要为每种类型的SQL操作提供不同的返回值处理逻辑。
用户信息表:
CREATE TABLE users (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
password VARCHAR(255) NOT NULL
);
历史天气网站http://lishi.tianqi.com
headers = { # 请求标头,通过模拟请求标头以此实现仿人类登录进入网站并获取信息
'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
}
历史天气表:
CREATE TABLE lishiweathers (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
城市 VARCHAR(255),
日期 DATE,
最高温度 FLOAT,
最低温度 FLOAT,
天气 VARCHAR(255),
风向 VARCHAR(255)
);
实时天气sql插入语句:
sql = '''
INSERT INTO weatherdata (
城市, 时间, 温度, 体感温度, 天气情况,
风力等级, 湿度, 能见度
) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)
'''
values = (
city_name,
current_weather_data["obsTime"],
current_weather_data["temp"],
current_weather_data["feelsLike"],
current_weather_data["text"],
current_weather_data["windScale"],
current_weather_data["humidity"],
current_weather_data["vis"],
)
# 手动创建省份城市的列表 province_cities = { '北京': '北京', '天津': '天津', '河北': '石家庄', '山西': '太原', '内蒙古': '呼和浩特', '辽宁': '沈阳', '吉林': '长春', '黑龙江': '哈尔滨', '上海': '上海', '江苏': '南京', '浙江': '杭州', '安徽': '合肥', '福建': '福州', '江西': '南昌', '山东': '济南', '河南': '郑州', '湖北': '武汉', '湖南': '长沙', '广东': '广州', '广西': '南宁', '海南': '海口', '重庆': '重庆', '四川': '成都', '贵州': '贵阳', '云南': '昆明', '西藏': '拉萨', '陕西': '西安', '甘肃': '兰州', '青海': '西宁', '宁夏': '银川', '新疆': '乌鲁木齐', '台湾': '台北', '香港': '香港', '澳门': '澳门', }