资讯动态

Exa Web Extract 实战指南:用 scientific-agent-skills 批量提取网页与学术论文全文

发布时间:2026/9/10 6:53:18 来源:尧图企业网站定制
Exa Web Extract 实战指南用 scientific-agent-skills 批量提取网页与学术论文全文【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills本指南围绕scientific-agent-skills仓库中 exa-search 技能的Web ExtractURL 内容提取能力展开讲解如何借助exa_extract.py脚本与 Exa 的/contents接口从单个或批量 URL网页、文章、学术 PDF中提取结构化全文与高亮片段。读完本文你将掌握提取命令的参数语义、学术来源的取文策略、结果 JSON 的结构与响应格式化规范并了解底层 SDK 调用的实现细节可直接在科研调研与文献阅读场景中投入使用。一、能力定位什么时候该用 Web Extract在 exa-search 技能 中用户请求会被路由到两种能力之一用户想要…能力参考文档查找某个主题、调研、获取最新资讯Web Searchreferences/web-search.md抓取某个具体 URL 的内容网页、文章、PDFWeb Extractreferences/web-extract.md安装或认证Setup见 SKILL.md决策要点当用户给出明确 URL、或要求读取/抓取某个具体页面时应使用 Web Extract。相比内置的 WebFetchExa 提取能力在两类场景上更优——一次调用批量提取多个 URL以及提取学术 PDF 全文。对于XXX 是什么找一下相关论文这类主题性查询则默认走 Web Search两者可配合先搜索定位 URL再提取目标页面全文。二、环境准备一条命令即可运行Web Extract 依赖 exa-py因此无需独立安装即可直接运行uv run --with exa-py python $SKILL_PATH/scripts/exa_extract.py --help其中$SKILL_PATH指向本技能目录即仓库中的skills/exa-search。如需持久化安装可使用uv pip install exa-py1.14.0认证EXA_API_KEY所有命令都从EXA_API_KEY环境变量读取 API Key。推荐两种加载方式项目根目录存在.env文件时用dotenv加载dotenv -f .env run -- uv run --with exa-py python $SKILL_PATH/scripts/exa_extract.py https://example.com若dotenv未安装先执行uv pip install python-dotenv[cli]。无.env文件时为当前会话导出export EXA_API_KEYyour-key可用--help验证环境是否就绪——它会在没有真实查询时干净退出仅在真正发起提取请求时才校验密钥。若EXA_API_KEY缺失exa_extract.py 会向 stderr 打印错误并以退出码2结束。三、基础用法从单个 URL 提取全文提取命令的完整形态为uv run --with exa-py python $SKILL_PATH/scripts/exa_extract.py $ARGUMENTS \ --text \ -o $FILENAME.json其中$ARGUMENTS是被提取的 URL可多个$FILENAME是一个简短、可描述的文件名例如alphafold-paper、nature-editorial命名规范为小写字母 连字符、不含空格。-o将结果写入指定的 JSON 文件省略时结果直接打印到 stdout。参数速查exa_extract.py 定义的命令行参数如下参数类型说明urls位置参数nargs一个或多个待提取的 URL--text开关返回页面全文内容--highlights开关返回提取的关键段落而非全文-o, --output可选将结果写入指定 JSON 文件默认 stdout内容模式--text 与 --highlights模式行为适用场景--text返回全文内容默认模式未传任何模式时自动启用需要逐字引用、深度阅读时必选--highlights返回提取的精华段落信号噪声比高、token 成本低适合快速概览关键观点四、批量提取一次调用处理多个 URLWeb Extract 支持将多个 URL 作为位置参数一次传入脚本会在单次/contents调用中批量处理见 exa_extract.py比逐个 URL 循环调用更快、更省配额uv run --with exa-py python $SKILL_PATH/scripts/exa_extract.py \ https://arxiv.org/abs/2401.04088 \ https://www.nature.com/articles/s41586-024-07566-y \ --text \ -o batch-extract.json批量场景需要特别注意部分失败问题付费墙paywall、robots.txt拦截、超时都可能导致个别 URL 提取失败。响应时须明确报告哪些 URL 提取成功、哪些失败而不是静默丢弃失败项详见下文部分结果处理。五、学术内容提取策略从学术来源arXiv、PubMed、期刊站点、会议论文集提取内容时务必使用--text获取论文全文uv run --with exa-py python $SKILL_PATH/scripts/exa_extract.py $URL \ --text \ -o $FILENAME.jsonarXiv 的两种 URL 形式对于 arXiv既可以用/abs/页面 URL也可以用原始 PDF URL。优先使用/abs/——它附带更干净的元数据标题、作者、发表日期会挂载到结果中。这些元数据最终体现在 JSON 输出的title、author、published_date字段里是后续格式化引用信息的直接来源。这一偏好与整个技能的学术定位一致SKILL.md 明确建议在技术与科学类查询中优先同行评审期刊与会议论文、次选预印本arXiv、bioRxiv、medRxiv、再次机构与政府来源NIH、WHO、NASA、NIST提取时保留论文的图/表标题与参考文献正是为了维持学术引用的完整性。六、源码级解析exa_extract.py 的工作原理深入阅读 scripts/exa_extract.py 可以看到提取链路的完整实现。1. PEP 723 内联依赖声明脚本头部L1-L5声明运行环境# requires-python 3.11 # dependencies [exa-py1.14.0]这意味着uv run会自动创建隔离环境并注入exa-py无需预先激活虚拟环境。2. 内容模式组装_build_contents_build_contents 负责把--text/--highlights开关翻译为 API 请求体--text→{text: True}--highlights→{highlights: True}两者都未传 → 兜底为{text: True}与文档中默认全文模式的约定一一对应。3. 请求发出与响应归一化run 函数 的执行流程从环境变量读取EXA_API_KEY缺失则报错退出实例化Exa(api_key...)客户端并设置跟踪请求头调用client.get_contents(urlsargs.urls, **contents)——这是对 Exa/contents端点的封装支持一次传入 URL 列表将每个响应项经_to_typed转换为类型化的ExtractedDocument。4. 输出的 JSON 结构ExtractedDocument 定义了每条文档的字段main函数L103-L113将其序列化为带缩进的 JSON。最终输出形如{ urls: [https://arxiv.org/abs/2401.04088], num_results: 1, results: [ { url: https://arxiv.org/abs/2401.04088, id: …, title: …, author: …, published_date: …, text: … } ] }关键字段说明url请求的原始 URL即使重定向保留请求值idExa 索引中的文档标识title、author、published_date学术来源通常最完整的元数据正是格式化响应的数据基础text--text模式的全文highlights--highlights模式提取的段落列表。5. 集成跟踪头所有脚本都会在请求头中携带x-exa-integration: k-dense-ai--scientific-agent-skills常量定义于 L34供 Exa 归因本仓库的集成流量。按 SKILL.md 的要求改编脚本时不得移除或重命名该请求头。七、响应格式化规范提取完成后按以下格式组织输出内容**页面标题**学术论文在元数据可得时补充结构化信息Authors:作者列表来自author字段Published:来自published_date随后输出提取的正文内容并遵守这些规则逐字保留——不转述、不摘要原文完整解析列表——逐条提取每一个编号/项目符号条目不得遗漏只剔除明显噪声——导航菜单、页脚、广告等保留全部事实、名称、数字、日期、引文学术论文场景下保留图/表标题与参考文献。这些规则共同保证了提取结果既忠实于原文又具备可复用的引用价值。八、部分结果处理与输出文件批量提取时一次调用中可能有部分 URL 失败付费墙、robots.txt、超时。处理原则是透明汇报在响应中分别说明哪些 URL 提取成功、哪些失败而不是默默丢弃。例如提取成功https://arxiv.org/abs/2401.04088失败https://www.nature.com/articles/s41586-024-07566-y疑似被付费墙拦截建议换用 arXiv 版本。响应结束后务必告知用户输出文件的路径$FILENAME.json方便其对提取结果继续追问或复用无需重新发起 API 调用。九、完整实战示例批量提取学术文献综合以上要点一个面向学术场景的完整提取流程如下# 1. 设置认证 export EXA_API_KEYyour-key # 2. 批量提取两篇论文全文保存到 JSON uv run --with exa-py python $SKILL_PATH/scripts/exa_extract.py \ https://arxiv.org/abs/2401.04088 \ https://www.nature.com/articles/s41586-024-07566-y \ --text \ -o papers-batch.json拿到 JSON 后按第七节的格式规范输出每条论文给出标题、作者与发表日期再逐字呈现text字段中的正文保留图/表标题与参考文献若有 URL 失败则如实汇报最后向用户指明papers-batch.json的位置以便继续深入问答。若要进一步验证输出 JSON 的字段结构可直接查看 exa_extract.py 中的返回体组装逻辑搜索与提取的完整路由关系可参阅 SKILL.md 与 web-search.md。【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价