基于python实现的“千锋教育数据可视化大屏”
一、开发环境
开发工具
- IntelliJ IDEA 2023.2.1
- Visual Studio Code
- MongoDB Compass
- Google Chrome
开发环境 (技术)
- python 3.11.4
- MongoDB 7.0.1
- HTML
- JS
- CSS
所用到主要的python库
- requests
- pymongo
- pandas
- pyecharts
二、整体效果
三、目录详情
四、启动教程
-
安装依赖库
-
pymongo
pip install pymongo
-
pandas
pip install pandas
-
pyecharts
pip install pyecharts
-
-
启动“启动程序.py”
控制台出现以下界面,说明启动成功!
五、爬取到的数据(MongoDB数据库)
-
数据集
-
学生数据
六、代码部分
-
config.py
# 数据库服务器 MONGO_URL = 'localhost' # 数据库 MONGO_DB = 'qianfeng' # 数据库表 MONGO_TABLE = 'student'
-
千锋教育数据爬虫.py
import json import random import pymongo import requests import logging as log from src.前锋教育可视化.config import * '''' 【第一部分】用于初始化对象 ''' # 请求url BasicsUrl = 'http://www.qfedu.com/student/employment/' # 日志级别:DEBUG # 输出文件:default.log fm = "%(asctime)s [%(funcName)s:%(lineno)d] %(levelname)s [%(name)s] %(message)s" log.basicConfig(level=log.DEBUG,format=fm,filename="default.log",encoding="UTF-8") # log.basicConfig(level=log.DEBUG, format=fm, encoding="UTF-8") log.debug("程序初始化中......") # 创建MongoDB连接对象 client = pymongo.MongoClient(MONGO_URL) db = client[MONGO_DB] # 创建浏览器对象 # browser = webdriver.Chrome() # 城市参照字典(为了避免多次去请求,已将响应数据写成字典) contrast = { '盐城市': '江苏', '宿州市': '安徽', '岳阳市': '湖南', '邵阳市': '湖南', '乌兰察布市': '内蒙古自治区', '新乡市': '河南', '呼伦贝尔市': '内蒙古自治区', '长沙市': '湖南', '广州市': '广东', '宁德市': '福建', '阳江市': '广东', '毕节地区': '贵州', '无锡市': '江苏', '东营市': '山东', '仙桃市': '湖北', '太原市': '山西', '濮阳市': '河南', '驻马店市': '河南', '丹东市': '辽宁', '许昌市': '河南', '庆阳市': '甘肃', '商洛市': '陕西', '惠州市': '广东', '朝阳市': '辽宁', '渭南市': '陕西', '莆田市': '福建', '淮南市': '安徽', '海口市': '海南', '巴中市': '四川', '台州市': '浙江', '辽阳市': '辽宁', '哈尔滨市': '黑龙江', '忻州市': '山西', '沈阳市': '辽宁', '泰安市': '山东', '南阳市': '河南', '龙岩市': '福建', '舟山市': '浙江', '保山市': '云南', '珠海市': '广东', '随州市': '湖北', '临沂市': '山东', '攀枝花市': '四川', '天门市': '湖北', '西安市': '陕西', '泰州市': '江苏', '阜新市': '辽宁', '达州市': '四川', '牡丹江市': '黑龙江', '锡林郭勒盟': '内蒙古自治区', '吕梁市': '山西', '湛江市': '广东', '南京市': '江苏', '资阳市': '四川', '济南市': '山东', '乌鲁木齐市': '新疆维吾尔自治区', '江门市': '广东', '凉山彝族自治州': '四川', '玉溪市': '云南', '通辽市': '内蒙古自治区', '广元市': '四川', '南通市': '江苏', '扬州市': '江苏', '漯河市': '河南', '潮州市': '广东', '东莞市': '广东', '池州市': '安徽', '酒泉市': '甘肃', '玉林市': '广西壮族自治区', '焦作市': '河南', '柳州市': '广西壮族自治区', '六盘水市': '贵州', '湘潭市': '湖南', '佳木斯市': '黑龙江', '克拉玛依市': '新疆维吾尔自治区', '淄博市': '山东', '常德市': '湖南', '西宁市': '青海', '北海市': '广西壮族自治区', '湘西土家族苗族自治州': '湖南', '蚌埠市': '安徽', '绥化市': '黑龙江', '天水市': '甘肃', '福州市': '福建', '十堰市': '湖北', '日照市': '山东', '佛山市': '广东', '沧州市': '河北', '天津': '天津', '连云港市': '江苏', '德阳市': '四川', '绍兴市': '浙江', '德州市': '山东', '云浮市': '广东', '承德市': '河北', '宜昌市': '湖北', '济宁市': '山东', '泉州市': '福建', '内江市': '四川', '银川市': '宁夏回族自治区', '上饶市': '江西', '松原市': '吉林', '唐山市': '河北', '重庆': '重庆', '固原市': '宁夏回族自治区', '芜湖市': '安徽', '保定市': '河北', '运城市': '山西', '宿迁市': '江苏', '绵阳市': '四川', '周口市': '河南', '徐州市': '江苏', '青岛市': '山东', '厦门市': '福建', '汉中市': '陕西', '邢台市': '河北', '三亚市': '海南', '河源市': '广东', '嘉兴市': '浙江', '潍坊市': '山东', '大庆市': '黑龙江', '济源市': '河南', '金华市': '浙江', '襄樊市': '湖北', '枣庄市': '山东', '桂林市': '广西壮族自治区', '张家界市': '湖南', '晋城市': '山西', '三门峡市': '河南', '萍乡市': '江西', '南充市': '四川', '平顶山市': '河南', '清远市': '广东', '南昌市': '江西', '泸州市': '四川', '郴州市': '湖南', '博尔塔拉蒙古自治州': '新疆维吾尔自治区', '湖州市': '浙江', '镇江市': '江苏', '贵阳市': '贵州', '包头市': '内蒙古自治区', '南宁市': '广西壮族自治区', '马鞍山市': '安徽', '武威市': '甘肃', '北京': '北京', '崇左市': '广西壮族自治区', '邯郸市': '河北', '梧州市': '广西壮族自治区', '荆州市': '湖北', '吴忠市': '宁夏回族自治区', '株洲市': '湖南', '晋中市': '山西', '亳州市': '安徽', '盘锦市': '辽宁', '长治市': '山西', '成都市': '四川', '石家庄市': '河北', '黄冈市': '湖北', '曲靖市': '云南', '孝感市': '湖北', '吐鲁番地区': '新疆维吾尔自治区', '榆林市': '陕西', '大理白族自治州': '云南', '温州市': '浙江', '上海': '上海', '大连市': '辽宁', '肇庆市': '广东', '金昌市': '甘肃', '景德镇市': '江西', '汕头市': '广东', '滁州市': '安徽', '黑河市': '黑龙江', '吉安市': '江西', '海南藏族自治州': '青海', '丽水市': '浙江', '锦州市': '辽宁', '临汾市': '山西', '廊坊市': '河北', '永州市': '湖南', '威海市': '山东', '杭州市': '浙江', '延安市': '陕西', '六安市': '安徽', '衡阳市': '湖南', '中山市': '广东', '阜阳市': '安徽', '宁波市': '浙江', '阿克苏地区': '新疆维吾尔自治区', '常州市': '江苏', '滨州市': '山东', '开封市': '河南', '信阳市': '河南', '赣州市': '江西'