Python爬虫疑问:API链接末尾K1hOenRreVRmaWYwSGVzcERWVFpjZz09来源?
问题:API链接末尾的加密字符串来源是什么?
我编写了一段Python脚本用于爬取网页特定字段,使用链接https://api-emis.kemenag.go.id/v1/institutions/pontren/public/identity/K1hOenRreVRmaWYwSGVzcERWVFpjZz09时,它会返回JSON格式全量数据,可正常解析。
import requests link = 'https://api-emis.kemenag.go.id/v1/institutions/pontren/public/identity/K1hOenRreVRmaWYwSGVzcERWVFpjZz09' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36' } with requests.Session() as s: s.headers.update(headers) res = s.get(link) container = res.json()['results'] account_bank_holder = container['account_bank_holder'] organizer_name = container['organizer_name'] print((account_bank_holder,organizer_name))
但我无法弄清链接末尾的K1hOenRreVRmaWYwSGVzcERWVFpjZz09部分的来源。获取该链接的步骤如下:
- 访问网站https://emis.kemenag.go.id/pontren/
- 选择2023/2024 Genap
- 点击表格第一项:ACEH
- 点击新表格第一项:ACEH SELATAN
- 点击新表格第一项:500311010057
解答:
链接末尾的K1hOenRreVRmaWYwSGVzcERWVFpjZz09是目标宗教学校(pontren)的加密唯一标识符,具体来源如下:
- 当你在网页上逐步点击ACEH、ACEH SELATAN,最后点击编号500311010057的条目时,前端页面是从之前的接口请求中拿到这个加密ID,再拼接成你调用的API链接。
- 你可以用浏览器开发者工具的「Network」面板追踪整个流程的接口请求:
- 选择2023/2024 Genap后,页面会请求省级列表接口,返回的省份数据里包含后续请求所需的参数;
- 点击ACEH后,请求该省下属地区的接口,返回的地区数据同样携带对应参数;
- 点击ACEH SELATAN后,请求该地区下属机构列表的接口,返回的每个机构条目里就包含这个加密的
identity字段——也就是你看到的链接末尾字符串。
- 本质上,这个字符串是后端为每个机构生成的加密唯一标识,用来在API中精准定位对应机构的数据,同时避免直接暴露原始机构编号(比如500311010057)。
内容的提问来源于stack exchange,提问作者MITHU
相关产品推荐
相关产品推荐

