在利用 PMC OAI-PMH API 进行大规模文献检索时,正确处理 resumptionToken 是实现高效批量抓取的关键。该 API 遵循 Open Archives Initiative Protocol for Metadata Harvesting (OAI-PMH) 2.0 标准,支持通过固定数量的结果集进行分页获取。

当执行 ListIdentifiers 请求时,若返回结果超过 50 个标识符,API 将仅返回前 50 个,并在响应中包含 resumptionToken。用户需在后续请求中将该 token 作为参数传入,以获取下一批 50 个标识符。同理,ListRecords 请求每次最多返回 10 条记录,若结果更多,同样会附带 resumptionToken 用于续传。GetRecord 和 ListSets 等动词也遵循类似的机制,确保数据分块获取。

为符合高并发策略,系统需严格限制请求频率至每秒 3 次(rps)。超出此速率将触发错误响应。此外,脚本若超过 100 次请求,应安排在非高峰时段运行。美国东部时间周一至周五上午 5 点至晚上 9 点为高峰时段,期间应避免并发请求。

通信效率方面,API 支持 HTTP 压缩,客户端必须在 Accept-Encoding 头中设置'gzip, deflate'以提升数据传输性能。同时,需遵守版权许可条款,仅对允许重用的文章提取全文(metadataPrefix=pmc),其余情况可能返回错误。所有操作应通过官方指定服务进行,禁止其他自动化批量获取方式。

信息来源