paper_server/apps/resm
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
..
management refactor(resm): ScienceDirect 网页下载移出 resm 为独立脚本 2026-07-01 16:12:51 +08:00
migrations feat(resm): 对接材料前沿简报补充期刊/关键词监控 2026-06-29 13:23:55 +08:00
__init__.py feat: 添加resm app 2026-01-23 10:37:41 +08:00
admin.py feat(resm): 期刊/关键词监控 PaperMonitor + 移除每日增量周期任务 2026-06-21 23:43:58 +08:00
apps.py feat: 添加resm app 2026-01-23 10:37:41 +08:00
cloudflare_checkbox2.png feat: 添加pyautogui调用 2026-02-09 15:17:02 +08:00
d_oaurl.py feat:通过cloudflare 验证 2026-03-23 16:30:18 +08:00
d_scihub.py perf(resm): scihub改用curl-cffi轻量解析, 移除oa_url内联Playwright回退 2026-07-21 15:33:15 +08:00
filters.py feat(resm): paper 查询加 publication_date 精确 + 范围过滤 2026-06-22 11:12:00 +08:00
models.py fix(resm): download_pdf链改用独立锁downloading_pdf, 修复并发闸门被其他链卡死 2026-07-21 14:16:34 +08:00
pdf_utils.py perf(resm): fix_preview_pdf 多进程并发扫描 2026-06-29 13:24:45 +08:00
serializers.py feat: paper list 加 pdf_url / xml_url 直链字段 + pg_trgm GIN 索引 2026-05-21 13:48:52 +08:00
services.py feat: 增加download_pdf 2026-01-28 15:01:49 +08:00
tasks.py perf(resm): scihub改用curl-cffi轻量解析, 移除oa_url内联Playwright回退 2026-07-21 15:33:15 +08:00
tests.py feat: 添加resm app 2026-01-23 10:37:41 +08:00
urls.py feat: 修改pdf 验证cloudflare 2026-03-24 10:34:06 +08:00
views.py feat(system): 增加ApiKey管理, resm paper接口需API Key或登录访问 2026-07-06 10:35:39 +08:00