任务描述:
编写Python程序,使用标准库urllib+re采集“2024年普通高校招生专业(专业类)选考科目要求”中各高校选考科目要求。
之前分享过采集该网站信息的两篇文章,详见:1)Python爬取2021年拟在山东招生普通高校专业(类)选考科目要求;2)Python爬取并简单分析2024年普通高校招生专业(专业类)选考科目要求
该网站近期进行了改版,使得之前的代码无法正确运行了,主要改动有两处:1)增加了对Cookie的验证;2)提交信息时额外增加了一个字段。
如果客户端发起请求时没有提供Cookie数据,会被服务器阻止访问,无法正常读取到网页内容,但不会引发异常。表现为代码可以运行但得不到任何结果,如下图,
如果客户端发起请求时没有提供所有必需的参数字段,服务器无法识别请求对象,阻止访问并提示400错误,这样的错误一般是客户端提供的请求不合法和格式不对造成的,例如下图,
详细步骤:
1)使用Chrome浏览器打开目标网站https://xkkm.sdzk.cn/web/xx.html,鼠标单击右上角按钮(1),依次展开“更多工具”(2)==>“开发者工具”(3),如下图,
2)依次展开“network”(1)==>“Doc”(2),然后刷新网页(3),再在右侧窗口中选择文件(4)==>“Headers”(5)==>“Cookie”(6),鼠标右键,选择“复制值”,后面代码中要用到这里复制的内容。
3)修改之前的代码,增加Cookie验证和额外字段,修改后代码如图。代码仅用于技术研究与交流,若用于非法用途,后果自负。