最近一周一直在帮家里小弟看高考志愿,所以更新的没那么频繁了,请大家见谅。
在看各高校的往年分数时,忍不住手痒,想着能不能给它爬下来?哈哈,说干就干!
1 流程分析
之前无意中在这个网站发现有各个高校的历年录取分数线:https://gkcx.eol.cn。
我们的目标是用 Python 将下面页面的数据导出到 Excel:
这个页面的 URL 是:https://gkcx.eol.cn/schoolhtm...,显然是需要一个 school_id 拼接而成的,那么如何获取这个 school_id 呢?
除非想办法爬取到所有院校的 school_id,这里我想着是从上面图中的搜索框进入:
这样,整体的业务流程我们就理清楚了:
先调用搜索的 URL 获取到高校的 school_id,拼接到高校的详情访问地址
访问详情地址,抓取目标数据
处理目标数据,存储到 Excel 中
2 获取 school_id
按下 F12,可以看出搜索调用的 URL 是:https://gkcx.eol.cn/soudaxue/queryschool.html?&keyWord1=南京邮电大学,但是我们发现该请求的 response 里并没有高校列表,所以猜测这里是有二次数据请求获取到高校的列表,然后解析显示到页面的。
顺着请求流,我们看到了这么一个请求:
并且它的 response 刚好是一个包含高校信息的 json,到这里应该还是顺利的,我们只要从这个 json 里解析出我们想要的东西,然后继续后面的步骤就可以了。要注意该请求的 Ref