Go to file
caoqianming 3ab18f3ed9 perf(resm): scihub改用curl-cffi轻量解析, 移除oa_url内联Playwright回退
download_pdf 链两处都不再在 worker 里起浏览器(此前是并发扩容的内存瓶颈):

- Sci-Hub: 新增 d_scihub.download_by_doi_http, 用 curl-cffi 取页面解析内嵌
  PDF 地址直接下载并校验魔数, 覆盖各域名 embed#pdf/iframe#pdf/location.href
  结构; 缓存存活域名做秒级故障切换; 撞 Cloudflare/DDoS 挑战返回
  scihub_need_play 交独立脚本兜底。浏览器版 download_paper_by_doi 保留。
- oa_url: 移除策略3内联 Playwright(还会开有头窗口), curl-cffi 失败即打
  oa_url_need_play, 交 scripts/get_pdf_by_playwright.py 兜底。
  run_async 保留(该脚本从 tasks 导入)。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 15:33:15 +08:00
.claude feat:修改json 2026-03-26 14:07:34 +08:00
apps perf(resm): scihub改用curl-cffi轻量解析, 移除oa_url内联Playwright回退 2026-07-21 15:33:15 +08:00
docs feat(resm): 对接材料前沿简报补充期刊/关键词监控 2026-06-29 13:23:55 +08:00
log 初始化happy-drf分支 2023-10-07 14:11:26 +08:00
media/default 初始化happy-drf分支 2023-10-07 14:11:26 +08:00
scripts refactor(resm): ScienceDirect 网页下载移出 resm 为独立脚本 2026-07-01 16:12:51 +08:00
server feat: 添加paper list 接口 2026-01-26 10:41:11 +08:00
.gitignore refactor(resm): ScienceDirect 网页下载移出 resm 为独立脚本 2026-07-01 16:12:51 +08:00
CLAUDE.md fix(resm): download_pdf链改用独立锁downloading_pdf, 修复并发闸门被其他链卡死 2026-07-21 14:16:34 +08:00
after_click_no.html feat: 修改pdf 验证cloudflare 2026-03-24 10:34:06 +08:00
after_click_no.png feat: 修改pdf 验证cloudflare 2026-03-24 10:34:06 +08:00
db.json feat: base 更新readme 2026-01-14 13:39:19 +08:00
manage.py 初始化happy-drf分支 2023-10-07 14:11:26 +08:00
readme.md feat: base 更新readme 2026-01-14 13:39:19 +08:00
requirements.txt fix(resm): 识别 Elsevier 摘要预览 PDF, 避免误标全文 2026-06-29 08:54:07 +08:00
ruff.toml 初始化happy-drf分支 2023-10-07 14:11:26 +08:00
scihub_page.html feat: 修改pdf 验证cloudflare 2026-03-24 10:34:06 +08:00
scihub_screenshot.png feat: 修改pdf 验证cloudflare 2026-03-24 10:34:06 +08:00
test.png feat: 修改pdf 验证cloudflare 2026-03-24 10:34:06 +08:00
todo.html feat: 修改pdf 验证cloudflare 2026-03-24 10:34:06 +08:00

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 文档