详细揭秘⚡🧊专业
好吧,我是标题党x
请各位完成一份杭州电子科技大学院系逻辑结构,以树形结构描述出来,叶子结点为各专业,可去各分院官网搜索信息,作为本学期的思政作业。
我发现学校总是喜欢布置些奇怪的任务x
不过不会真有人手写吧(x
记录一下我是怎么做这个作业的(
这个应该算可以公开的信息吧(?
获取数据
我记得教务网站选课那里有所有学院和对应专业的信息。 Ctrl+Shift+I
搜一下,发现所有信息都是明文存储的,所以打算从这里入手。
但是有个问题,要选择对应的学院才会有其下相关的专业,如果手动选择再记录数据还是很麻烦,并且也很无聊...
所以我上网搜索了一下,有没有模拟点击并且能记录网页源码的自动化工具,了解到这个其实就属于
python 爬虫干的活。
在这里稍微学习了一下前几章后为什么他有这么多神比表情包,我想了下,这个
selenium 不就能实现我的需求。
于是便很快写了一个脚本,实现了以下操作: 1. 登陆
2. 在下拉框依次选择学院
3. 提取当前相关专业的信息
但是并没有那么顺利
在模拟选择下拉框时,遇到报错 1
selenium Select could not be scrolled into view
1 |
|
这个报错浪费了我很多时间,后来突然发 style="display:none" 才恍然大雾,只需要让这个框可见就行了。
1 |
|
画图
经过简单🔎找到了这个开源的库,anytree
1
2>>> udo = Node("Udo")
>>> marc = Node("Marc", parent=udo)1
UniqueDotExporter(ROOT).to_picture("tree.png")
1
2$ identify ./tree.png
./tree.png PNG 32767x226 32767x226+0+0 8-bit sRGB 997678B 0.000u 0:00.000 但是并不知道该怎么实现,也就作罢了
- 这个方法比较暴力,直接按列把图片切割就行了 不过我觉得这个方法不能说差强人意,只能说聊胜于无
1
convert -crop 1700x226 ./HDU_Majors_Map.png ./HDU_Majors_Map.png
- anytree 自带的 RenderTree 实现和 linux 的 tree
命令一样的效果,我自己认为这是最好的解决办法,不知道这样的形式能不能被老师接受。
附上结果(
1
2for pre, fill, node in RenderTree(ROOT):
print("%s%s" % (pre, node.name))1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127杭州电子科技大学
├── 机械工程学院
│ ├── 车辆工程(0105)
│ ├── 机械工程新工科创新实验班(0112)
│ ├── 机械类(0107)
│ ├── 机械设计制造及其自动化(0101)
│ ├── 机械设计制造及其自动化(第二学士学位专业)(0109)
│ └── 智能制造工程(0108)
├── 管理学院
│ ├── 保密管理(0301)
│ ├── 电子商务(0316)
│ ├── 电子商务(联合培养专升本)(0306)
│ ├── 工商管理(0312)
│ ├── 工商管理类(0373)
│ ├── 工业工程(0368)
│ ├── 管理科学与工程类(0304)
│ ├── 人力资源管理(0315)
│ ├── 信息管理与信息系统(0313)
│ └── 信息管理与信息系统(第二学士学位专业)(0305)
├── 电子信息学院(集成电路科学与工程学院)
│ ├── 电子科学与技术(0420)
│ ├── 电子信息工程(0418)
│ ├── 电子信息工程(第二学士学位专业)(0404)
│ ├── 电子信息类(电子信息学院)(0406)
│ ├── 电子信息新工科实验班(0407)
│ └── 集成电路设计与集成系统(0422)
├── 计算机学院(软件学院)
│ ├── 计算机科学与技术(0523)
│ ├── 计算机科学与技术(第二学士学位专业)(0506)
│ ├── 计算机类(0505)
│ ├── 计算机信息技术(微专业)(0586)
│ └── 软件工程(0527)
├── 自动化学院(人工智能学院)
│ ├── 测控技术与仪器(0661)
│ ├── 测控技术与仪器(第二学士学位专业)(0606)
│ ├── 电气工程及其自动化(0601)
│ ├── 医学信息工程(0687)
│ ├── 智能科学与技术(0631)
│ ├── 自动化(0628)
│ ├── 自动化(新工科实验班)(0609)
│ └── 自动化(第二学士学位专业)(0605)
├── 理学院
│ ├── 光电信息科学与工程(0707)
│ ├── 民族预科生(0799)
│ ├── 数学类(0706)
│ ├── 数学与应用数学(0733)
│ ├── 信息与计算科学(0731)
│ └── 应用物理学(0732)
├── 通信工程学院
│ ├── 电子信息类(通信工程学院)(0805)
│ ├── 通信工程(0834)
│ ├── 通信工程(第二学士学位专业)(0804)
│ ├── 通信新工科创新实验班(0806)
│ └── 信息对抗技术(0835)
├── 外国语学院
│ ├── 俄语语言文学(微专业)(1105)
│ └── 英语(1137)
├── 体育教学部
├── 会计学院
│ ├── 财务管理(1409)
│ ├── 会计学(1406)
│ ├── 会计学(ACCA)(1401)
│ ├── 会计学(第二学士学位专业)(1407)
│ └── 审计学(1447)
├── 经济学院
│ ├── 国际经济与贸易(1508)
│ ├── 国际经济与贸易(联合培养专升本)(1515)
│ ├── 金融学(1510)
│ ├── 金融学(CFA)(1509)
│ ├── 金融学(第二学士学位专业)(1514)
│ ├── 经济学(1511)
│ ├── 经济学类(1513)
│ └── 统计学(1507)
├── 国际教育学院
│ ├── 电气工程及其自动化(国际教育学院)(全英文)(1726)
│ ├── 电子信息工程(国际教育学院)(全英文)(1719)
│ ├── 工商管理(国际教育学院)(1721)
│ ├── 工商管理(国际教育学院)(全英文)(1798)
│ ├── 国际经济与贸易(国际教育学院)(1711)
│ ├── 国际经济与贸易(国际教育学院)(全英文)(1704)
│ ├── 汉语国际教育(国际教育学院)(1716)
│ ├── 机械设计制造及其自动化(国际教育学院)(全英文)(1718)
│ ├── 计算机科学与技术(国际教育学院)(全英文)(1709)
│ ├── 软件工程(国际教育学院)(全英文)(1725)
│ ├── 通信工程(国际教育学院)(全英文)(1708)
│ ├── 医学信息工程(国际教育学院)(全英文)(1751)
│ └── 智能制造工程(国际教育学院)(全英文)(1750)
├── 卓越学院
│ ├── 大数据与智能决策(管理科学与工程类)(1874)
│ ├── 计算机科学英才班(1871)
│ ├── 金融科技(金融学)(1872)
│ ├── 经管类实验班(1842)
│ ├── 理工类实验班(1841)
│ ├── 人工智能(智能科学与技术)(1879)
│ ├── 智能安全(网络空间安全类)(1880)
│ ├── 智能财务(会计学)(1865)
│ ├── 智能计算与数据科学(计算机科学与技术)(1862)
│ ├── 智能硬件与系统(电子信息工程)(1860)
│ └── 智能硬件与系统(集成电路设计与集成系统)(1861)
├── 材料与环境工程学院
│ ├── 材料科学与工程(2088)
│ └── 环境工程(2003)
├── 数字媒体与艺术设计学院
├── 马克思主义学院
├── 网络空间安全学院(浙江保密学院)
│ ├── 网络工程(2724)
│ ├── 网络空间安全(2703)
│ └── 信息安全(2736)
├── 人文艺术与数字媒体学院、法学院
│ ├── 产品设计(2807)
│ ├── 产品设计(专升本)(2817)
│ ├── 传播学(2811)
│ ├── 法学(2810)
│ ├── 法学(联合培养专升本)(2819)
│ ├── 法学(第二学士学位专业)(2820)
│ ├── 工业设计(2805)
│ ├── 汉语国际教育(2803)
│ ├── 社会学(2809)
│ ├── 设计学类(2806)
│ ├── 数字媒体技术(2804)
│ ├── 数字媒体艺术(2808)
│ └── 数字媒体艺术(专升本)(2818)
├── 继续教育学院
├── 圣光机联合学院
│ ├── 计算机科学与技术(中外合作办学)(3201)
│ └── 自动化(中外合作办学)(3202)
└── 教务处
可以发现泥电大多都是工科专业
还有这个教务处是什么