Elsevier Article API 对未授权/in-press 文章, application/pdf 端点会返回仅含 摘要的 1 页预览 PDF (魔数仍是 %PDF、体积也不小), 而全文 XML 可正常获取。旧逻辑 只校验魔数+体积, 误将预览页落库并置 has_fulltext_pdf=True。 - tasks.py: 新增 _pdf_page_count / _is_elsevier_preview_pdf (优先 pypdf, 退化 字节扫描), _elsevier_fetch_pdf 与 save_pdf_from_elsevier 落库前排除 1 页预览页, 打 fail_reason=elsevier_pdf_preview_only; 补抓队列 qs_pdf 排除该标记避免无限重试 - 新增管理命令 fix_preview_pdf: 扫描存量误标记录, 回退 has_fulltext_pdf; 无 XML 全文者一并回退 has_fulltext, 让其重进下载链 - requirements.txt: 增加 pypdf>=4.0.0 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| apps | ||
| log | ||
| media/default | ||
| server | ||
| .gitignore | ||
| CLAUDE.md | ||
| after_click_no.html | ||
| after_click_no.png | ||
| db.json | ||
| manage.py | ||
| readme.md | ||
| requirements.txt | ||
| ruff.toml | ||
| scihub_page.html | ||
| scihub_screenshot.png | ||
| test.png | ||
| todo.html | ||
readme.md
如何运行
将 server 下的 conf_e.json 以及 conf_e.py,移动到config文件夹下并重命名为 conf.json 和 conf.py。
根据自己的情况修改参数
进入虚拟环境后运行 python manage.py migrate
导入初始数据 python manage.py loaddata db.json
默认管理员账户密码为admin xtadmin123!
在项目目录下执行 python manage.py runserver 即可
运行后在 localhost:8000/api/swagger/下查看 api 文档