用Python展示全国高校的分布情况

网站建设4年前发布
67 0 0

20230306120610f33d01d482bac2519381658220cc6f3edaca0c106,要展示高校的分布情况,就得先获取全国高校的位置数据。本文的数据来源于掌上高考网(https://www.gaokao.cn/school/search)。
,2023030610302127b402393aec08439db271b6b969d5f2de8f2b857,在2022年6月写本文时,共获取到了2822所高校的信息。检查了数据,除了极个别空值外,整份数据是非常完整的,不影响使用。数据一共有44个字段,本文只会用几个字段,可以不做处理,使用时按需获取即可。
,20230306103418e36eeec10e2b9d5b2bd80282dac607842e3693452,数据获取方法介绍(基础爬虫知识):
,1.注册登录掌上高考网。在<查学校>页面选择全部学校。
,2.按F12键,点击到 Network > Fetch/XHR,然后点击几次<查学校>页面的<上一页>、<下一页>按钮,在XHR的页面会显示访问的API等信息。
,3.将每次翻页时的API复制出来进行对比,发现翻页时变化的参数有两个:page和signsafe,page为当前访问的页数,signsafe是一个md5值,没法反解,但可以把前面几次的值保存下来,后面随机变化使用。有了这个信息,不断改变访问的页数和signsafe值,就可以获取到所有的学校数据。,Response中的numFound参数值是学校总数,除以每页显示的学校个数可以得到总页数,也可以直接点击页面的<尾页>查看总页数,这样就确定了访问的次数。
,4.因为网站需要登录才能使用,所以还要获取访问时的Headers,如Request Method(此次用POST)、User-Agent等。
,5.有了上面的信息,循环拼接出所有页面的url,用requests发送请求即可获取到所有高校的数据,然后用pandas将数据写到excel中。
,补充说明:,人民网最新公布:全国的普通高校数是2759所,与本文从掌上高考网获取的2822所相差63所,主要是部分学校的分校统计方式不同造成的差异。本文所展示的是分布情况,这个差异的影响不大。,202303061030225510b291031a05032947291d03e04c7c8ea246756,
,掌上高考网是为高考填志愿服务的网站,虽然获取的数据有44个字段,但里面并没有学校的经纬度。为了更好地在地图上展示高校位置, 需要根据学校的地址获取对应的经纬度。
,本文使用百度地图开放平台:https://lbsyun.baidu.com/apiconsole/center#/home,可以用百度地图的开放接口获取地理位置的经纬度。
,使用步骤为:
,1.注册登录百度账号,这个账号可以是整个百度生态通用的账号(如网盘、文库等的账号是通用的)。
,2.登录到百度地图开放平台,点击进入<控制台>,然后在<应用管理>中点击<我的应用>,再点击<创建应用>创建一个应用。应用名称自定义,其他信息按提示和要求填写完整,并进行实名认证,成为个人开发者。
,20230306103023d5b468f3283e2ad244380904fe369560568901862,
,3.创建应用完成后,会获得一个应用的<访问应用(AK)>,用这个AK值可以调用百度的API,参考代码如下。,4.成功调用百度地图API后,读取所有高校的位置,依次调用上面的函数,获取所有高校的经纬度,重新写入excel中。,最终数据结果如下图:,20230306103024d87d7c9776a42261891999708a3f3b0ed525b2420,个人开发者使用百度地图开放平台时需注意,每天有额度限制,所以调试代码时先不要用所有数据,先用demo跑通,否则得等一天或购买额度。,20230306103026181f16a6170aa7b9bfe922c921e861483a82ad106
,数据准备好了,接下来将他们展示到地图上。
,本文使用百度开源的数据可视化工具Echarts,Echarts为Python语言提供了pyecharts库,使用很方便。
,安装命令:,1.标注高校的位置,2023030610302603a8b5a53f88f572388024a5b2f6dc2ca0cee1783,从标注结果来看,高校主要分布沿海、中部和东部,西部尤其是高海拔地区分布相对较少。,20230306103026679582a17a4b27ec9770404a4448a3b1115465537,从热力图看,高校分布较集中的地方主要是沿海、北上广、长江黄河流域,西部较多的地方只有川渝。
,20230306103419391d0e88733e11ab558989701d75d60927495f358,从省级分布密度图可以看出,高校数量多的省份集中在中部和东部,尤其是北京和上海附近的几个省。,筛选出211和985的高校数据,再绘制一次。(代码不重复粘贴,只需要加一行筛选代码即可)
,202303061034193828c3590054fd89e0e076edd5c2c11c07c9c8915,以上就是本文的全部内容。

© 版权声明

相关文章