import csv
import os.path
import time
from selenium import webdriver
from selenium.webdriver.support.select import Select
def save_province_name():
driver.get("https://yz.chsi.com.cn/zsml/queryAction.do")
province = driver.find_element_by_id("ssdm") # 省市
province_list = Select(province)
for option in province_list.options:
province_name.append(option.text)
def find_data(s):
for zhuanye_num in range(1, 14): # 遍历13个专业
driver.get("https://yz.chsi.com.cn/zsml/queryAction.do")
province = driver.find_element_by_id("ssdm") # 省市
Select(province).select_by_index(s)
menlei = driver.find_element_by_id("mldm") # 门类/专业学位
Select(menlei).select_by_index(1)
zyly = driver.find_element_by_id("yjxkdm") # 专业领域/(21/0854)电子信息
Select(zyly).select_by_index(21)
zuanye = driver.find_element_by_id("zymc") # 13个专业
Select(zuanye).select_by_index(zhuanye_num)
xxfs = driver.find_element_by_name("xxfs") # 学习方式:全日制
Select(xxfs).select_by_index(1)
driver.find_element_by_name('button').click() # 查询按钮
school_urls = driver.find_elements_by_xpath(
'//*[@id="form3"]/a') # 学校链接
school_url = []
for i in school_urls:
school_url.append(i.get_attribute('href'))
# print('school_url:\n', len(school_url))
for n in range(0, len(school_url)):
# time.sleep(6)
driver.get(school_url[n]) # 进入学校各学院
colleges = driver.find_elements_by_xpath(
'/html/body/div[2]/div[3]/div/div[2]/table/tbody/tr') # 一个学校的所有学院
each_college(colleges) # 循环每个学院
save_data() # 保存一个专业的所有学校
# time.sleep(2)
list_clear()
# driver.quit()
def each_college(colleges): # 循环每个学院
for each in range(1, len(colleges)+1):
str_each = str(each)
# time.sleep(6)
driver.find_element_by_xpath(
'/html/body/div[2]/div[3]/div/div[2]/table/tbody/tr['+str_each+']/td[8]/a').click() # 进入详细页面
windows = driver.window_handles
data_details(windows)
def list_clear():
school_name.clear()
test_methd.clear()
yuanxi.clear()
zy.clear()
research.clear()
teacher.clear()
students.clear()
notes.clear()
examinations.clear()
def data_details(windows): # 获取详细页面数据
driver.switch_to.window(windows[1])
school_name.append(driver.find_element_by_xpath(
'.//table/tbody/tr[1]/td[2]').text)
test_methd.append(driver.find_element_by_xpath(
'.//table/tbody/tr[1]/td[4]').text)
yuanxi.append(driver.find_element_by_xpath(
'.//table/tbody/tr[2]/td[2]').text)
zy.append(driver.find_element_by_xpath('.//table/tbody/tr[2]/td[4]').text)
research.append(driver.find_element_by_xpath(
'.//table/tbody/tr[3]/td[4]').text)
teacher.append(driver.find_element_by_xpath(
'.//table/tbody/tr[4]/td[2]').text)
students.append(driver.find_element_by_xpath(
'.//table/tbody/tr[4]/td[4]').text)
notes.append(driver.find_element_by_xpath(
'.//table/tbody/tr[5]/td[2]').text)
obj1 = driver.find_element_by_xpath(
'/html/body/div[2]/div[3]/div[1]/div[1]/div/table/tbody/tr/td[1]').text
obj2 = driver.find_element_by_xpath(
'/html/body/div[2]/div[3]/div[1]/div[1]/div/table/tbody/tr/td[2]').text
obj3 = driver.find_element_by_xpath(
'/html/body/div[2]/div[3]/div[1]/div[1]/div/table/tbody/tr/td[3]').text
obj4 = driver.find_element_by_xpath(
'/html/body/div[2]/div[3]/div[1]/div[1]/div/table/tbody/tr/td[4]').text
examinations.append(obj1.split(
"\n")[0]+obj2.split("\n")[0]+obj3.split("\n")[0]+obj4.split("\n")[0])
driver.switch_to.window(windows[1])
driver.close()
driver.switch_to.window(windows[0])
def save_data():
if(len(zy) != 0):
with open(os.path.join(path_csv, csv_name), 'a', newline='') as f:
csv_write = csv.writer(f)
csv_write.writerow([f'{zy[0]}'])
csv_write.writerow(
['招生单位', '院系所', '专业', '研究方向', '考试方式', '考试科目', '招录人数', '指导老师', '备注'])
for i in range(0, len(zy)):
print("招生单位:", school_name[i])
print("院系所:", yuanxi[i])
print("专业:", zy[i])
print("研究方向:", research[i])
print("考试方式:", test_methd[i])
print("考试科目:", examinations[i])
print("招录人数:", students[i].split(
":")[1].split("(")[0])
print("指导老师:", teacher[i])
print("备注:", notes[i])
with open(os.path.join(path_csv, csv_name), 'a', newline='') as f:
csv_write = csv.writer(f)
# csv_write.writerow([zy[i]])
csv_write.writerow([school_name[i], yuanxi[i], zy[i], research[i], test_methd[i], examinations[i], students[i].split(
":")[1].split("(")[0], teacher[i], notes[i]])
# f.close()
if __name__ == '__main__':
option = webdriver.ChromeOptions()
option.add_argument('headless')
driver = webdriver.Chrome(options=option) # 浏览器驱动,不打开浏览器运行
# driver = webdriver.Chrome() # 打开浏览器
province_name = [] # 省/市名
school_name = [] # 学校名
test_methd = [] # 考试方式
yuanxi = [] # 院系
zy = [] # 专业
research = [] # 研究方向
teacher = [] # 指导老师
students = [] # 招收人数
notes = [] # 备注
examinations = [] # 考试科目
save_province_name() # 保存省名
path_csv = r"D:\桌面\考研大数据\数据分析\data" # 保存路径
csv_name = '' # 文件名
for s in range(1, 32): # 遍历31个省份
page = 0
csv_name = f'{province_name[s]}.csv' # 保存文件名称
find_data(s)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
<项目介绍> 高分课程设计-基于python+flask+echarts 的大数据分析与可视化,可视化大屏,地图可视化,数据分析 - 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
资源推荐
资源详情
资源评论
收起资源包目录
高分课程设计-基于python+flask+echarts 的大数据分析与可视化,可视化大屏,地图可视化,数据分析+源码+文档说 (103个子文件)
index.css 5KB
(11)北京市.csv 123KB
(32)江苏省.csv 91KB
(21)辽宁省.csv 71KB
(61)陕西省.csv 70KB
北京市.csv 64KB
(44)广东省.csv 59KB
(42)湖北省.csv 52KB
(51)四川省.csv 48KB
(37)山东省.csv 46KB
(50)重庆市.csv 45KB
(34)安徽省.csv 44KB
辽宁省.csv 43KB
江苏省.csv 40KB
(31)上海市.csv 39KB
(33)浙江省.csv 36KB
(35)福建省.csv 35KB
(41)河南省.csv 35KB
(13)河北省.csv 34KB
(36)江西省.csv 33KB
(43)湖南省.csv 25KB
广东省.csv 25KB
陕西省.csv 25KB
湖北省.csv 25KB
山东省.csv 25KB
河北省.csv 23KB
安徽省.csv 21KB
上海市.csv 21KB
重庆市.csv 21KB
(12)天津市.csv 21KB
浙江省.csv 21KB
大学名.csv 20KB
(23)黑龙江省.csv 20KB
福建省.csv 19KB
(62)甘肃省.csv 17KB
河南省.csv 17KB
江西省.csv 16KB
(14)山西省.csv 16KB
四川省.csv 15KB
(22)吉林省.csv 14KB
(53)云南省.csv 12KB
湖南省.csv 10KB
甘肃省.csv 10KB
大学(维度_经度).csv 9KB
(15)内蒙古自治区.csv 9KB
(45)广西壮族自治区.csv 9KB
云南省.csv 8KB
山西省.csv 7KB
(52)贵州省.csv 7KB
天津市.csv 6KB
内蒙古自治区.csv 6KB
吉林省.csv 5KB
(46)海南省.csv 5KB
黑龙江省.csv 5KB
大学名(wash).csv 4KB
广西壮族自治区.csv 4KB
贵州省.csv 3KB
(64)宁夏回族自治区.csv 3KB
(65)新疆维吾尔自治区.csv 2KB
(63)青海省.csv 2KB
青海省.csv 2KB
新疆维吾尔自治区.csv 1KB
宁夏回族自治区.csv 1KB
海南省.csv 1KB
数据统计.csv 880B
西藏自治区.csv 539B
(54)西藏自治区.csv 424B
index.html 419KB
index.html 5KB
ECharts配置说明.html 3KB
ECharts使用步骤.html 1KB
背景.jpg 3.72MB
bg.jpg 252KB
echarts.min.js 999KB
echarts.min.js 727KB
china.js 136KB
echarts-wordcloud.js 85KB
jquery.js 82KB
echarts-wordcloud.min.js 19KB
index.js 11KB
flexible.js 1KB
index.less 5KB
markdown 388B
实验三.md 23KB
实验一.md 19KB
实验二.md 8KB
map.png 302KB
lbx.png 81KB
jt.png 72KB
head_bg.png 8KB
line(1).png 4KB
weather.png 2KB
dataCollect.py 6KB
app.py 4KB
universityData.py 4KB
dataWash.py 3KB
worldCloud.py 2KB
mapVisualization.py 2KB
studentsDataVisualization.py 1KB
collegeDataVisualization.py 1019B
共 103 条
- 1
- 2
资源评论
奋斗奋斗再奋斗的ajie
- 粉丝: 229
- 资源: 2104
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功