跳转至

图书馆(Primo)

通过 Primo 检索馆藏和文章、读取书目详情。LibAuth 使用共享 CAS 登录; 原有 TLS 兼容配置同时覆盖直连和代理连接池,无需关闭本地代理。 登录会话和浏览器渲染保留 cookie 的实际域名、路径及更新。

安装页面渲染依赖及浏览器:

python -m pip install 'sustech_survival[playwright]'
python -m playwright install chromium
sustech lib search '微分几何入门与广义相对论' --limit 8 --json
sustech lib detail <docid> --json
from sustech_survival.lib.search import search, detail, LibraryError

try:
    rows = search("微分几何入门与广义相对论", scope="default", limit=8)
    if rows:
        record = detail(rows[0].docid)
except LibraryError as exc:
    print(exc)

catalog 为全部资源,default 为本馆目录,eresource 为电子资源。 检索使用当前 /discovery/search 页面;筛选参数传入 Primo URL。 Primo 会把深链接偏移重置为零,因此分页窗口直接应用到页面发出的只读 PNX 查询。 详情按稳定字段标记读取,避免把页面标题或推荐书目拼进题名、ISBN 和出版信息。

只有 Primo 查询响应确认当前窗口无记录时才返回空数组。认证失败、缺少 Playwright/Chromium、 HTTP 错误、跳回登录或交互挑战、结果页未加载或数据不完整均抛出 LibraryError;CLI 非零退出,诊断输出到 stderr,不会伪装成成功的 []。 CAS 网络错误区分登录和票据交换阶段、指明失败主机,不输出 ticket 或原始响应。 遇到交互认证挑战会在提交凭据前停止。

IC 空间查询及预约使用独立的 lib-booking,见图书馆预约。 馆藏检索成功不代表出版社全文访问成功,也不会创建任何预约。