NSFC爬虫练习
需求
从国家自然科学基金大数据知识管理服务门户爬取论文数据。
搜索API
- 打开浏览器的开发者工具(如 Chrome 的 F12);
- 在网络(Network)选项卡中,监控搜索的请求;
- 找到接口()[https://kd.nsfc.cn/api/baseQuery/completionQueryResultsData];
- 其请求体如下:
1 |
|
需要用到的字段只有:
1 |
|
- 观察其返回内容:
为一串无规律的长字符串,初步判断是经过了某种加密;
解密
页面的HTML文件:
1 |
|
在网页的 JavaScript 文件中,尝试寻找相关的解密代码,最终在app.17b88e26.js中找到以下内容(注释为后期补充):
1 |
|
使用 Python 的 pycryptodome 库来实现解密:
1 |
|
1 |
|
对网页发送请求,成功得到解密后的JSON文件:
NSFC爬虫练习
https://blog.yokumi.cn/2025/01/22/NSFC爬虫练习/