资讯详情

资讯详情

ketch 进阶抓取终极指南:PDF 转 Markdown、cookies.txt 会话抓取与 User-Agent 覆盖

【免费下载链接】ketchFast, stateless CLI for web search and scrape. Built for AI agents.项目地址https://gitcode.com/gh_mirrors/ketch/ketch点击查看免费下载ketch 是一个无状态、单二进制的 Web 搜索与抓取 CLI 工具专为 AI agent 和终端用户设计。本文带你掌握 ketch 的三大进阶抓取技巧PDF 转 Markdown、cookies.txt 会话抓取和User-Agent 覆盖让受保护页面、文档型 PDF、反爬站点统统变成干净的 Markdown 文本。为什么需要这些进阶技巧基础的ketch scrape已经把网页变成干净的 Markdown但真实场景中你会遇到三类难题PDF 文档报告、白皮书、论文无法直接解析成文本需要登录态的内网/会员页面普通请求拿不到内容对 User-Agent 敏感的站点默认标识被拦截ketch 对这三种情况都有原生的、可持久化的解决方案无需写一行爬虫代码。PDF 转 Markdown一条命令提取文档文本自动识别 PDF直接输出 Markdownketch scrape会根据响应的MIME 类型或%PDF-文件签名自动识别 PDF并用内置的纯 Go 解析器提取文本输出和其他网页完全一致的 Markdown 格式ketch scrape https://example.com/report.pdf你不需要任何 batch 标志或格式参数——ketch 自动判断输入形态PDF 和 HTML 走同一条提取管线。核心实现见 extract/pdf.go。扫描件 PDF配置外部 PDF 转 Markdown 工具纯扫描版无文字层的 PDF 需要 OCR。此时可以配置一个外部 PDF 转 Markdown 转换器它必须把 Markdown 写到标准输出且命令经 shlex 解析后必须包含恰好一个{input}占位符ketch config set external_pdf_to_md_converter_command pdftotext {input} - ketch config set external_pdf_to_md_converter_timeout_sec 300几个关键行为要知道实现在 extract/pdf_external.go⚠️外部转换器一旦配置就是权威路径失败会直接报错不会静默回退到内置解析器子进程环境会清除 ketch 的密钥类环境变量凭证不会泄漏给外部命令输出上限 10 MiB防止超大文档撑爆管道PDF 抓取的注意事项--raw和--select会拒绝处理 PDF返回校验错误因为 PDF 没有二进制直出概念加上--force-browser时PDF 仍然走文本提取不会打开 Chromium 的 PDF 查看器输出永远是 Markdown--max-chars、--trim等常规参数照常生效cookies.txt 会话抓取带着登录态访问页面从浏览器导出 Netscape cookies.txt想让 ketch 以已登录的你的身份抓取页面只需从浏览器导出 Netscape 格式的cookies.txt各类 Get cookies.txt 浏览器扩展都能导出然后把它挂到任意抓取命令上ketch scrape url --cookie-file ~/cookies.txt支持scrape、crawl和search --scrape三条链路参数定义见 cmd/scrape.go 与 cmd/crawl.go。把 cookie_file 设为持久默认值不想每次敲参数用 config 持久化或临时为单次运行关闭ketch config set cookie_file ~/cookies.txt # 持久化为默认 ketch scrape url --cookie-file # 本次运行禁用 cookieketch 的 cookie 匹配与隐私保护ketch 并不是把 cookie 全量塞给每个请求解析逻辑在 cookies/cookies.go只有domain、path、secure 作用域都匹配的 cookie 才会随请求发送每次重定向都会重新评估匹配关系过期、格式错误的行被静默跳过 cookie 值永远不会被打印——不出现在输出、JSON、报错信息或 doctor 检查结果中文件权限过宽时会给出警告并只使用你自己的会话 cookie 是你的责任边界User-Agent 覆盖告别 403 拦截默认 User-Agent 是什么样的未配置时ketch 发送诚实的自报身份标识不伪装浏览器ketch/0.17.0 (https://github.com/1broseidon/ketch)逻辑见 scrape/useragent.go。三种覆盖方式# 1. 单次运行覆盖scrape / crawl / search --scrape 均支持 ketch scrape url --user-agent Mozilla/5.0 (compatible; MyAgent/1.0) # 2. 持久化到配置HTTP 与浏览器抓取同时生效 ketch config set user_agent MyBot/1.0 # 3. 传空值恢复内置默认 ketch scrape url --user-agent 两点细节值得注意User-Agent 中含\r、\n、\0等控制字符会被直接拒绝——这通常意味着粘贴错误见 scrape/useragent.go缓存键包含 User-Agent 指纹同一 URL 用不同 UA 抓取会分别缓存不会互相污染见 cache/tags.go组合拳一个生产级抓取示例把三项技巧组合起来抓取一个需要登录、文档是 PDF 的站点# 一次性配置 ketch config set cookie_file ~/cookies.txt ketch config set user_agent Mozilla/5.0 (compatible; ResearchBot/1.0) ketch config set external_pdf_to_md_converter_command pdftotext {input} - # 抓取登录后的 PDF 报告限制 8000 字符 ketch scrape https://docs.example.com/report.pdf --max-chars 8000 --trim所有输出都是可直接投喂给 LLM 的干净 Markdown配合--json还能得到结构化结果用于脚本控制流。总结场景ketch 方案关键参数/配置PDF 转 Markdown自动识别 纯 Go 解析external_pdf_to_md_converter_command登录态页面抓取Netscape cookies.txt--cookie-file/cookie_fileUA 拦截规避User-Agent 覆盖--user-agent/user_agent更多完整参数说明可查阅 MANUAL.md命令实现集中在 cmd/scrape.go 与 cmd/crawl.go。掌握这三招后ketch 能覆盖绝大多数普通 curl 搞不定的抓取场景——快、无状态、输出可预测。赞分享【免费下载链接】ketchFast, stateless CLI for web search and scrape. Built for AI agents.项目地址https://gitcode.com/gh_mirrors/ketch/ketch点击查看免费下载相关推荐Crawl4AI 技术指南从 LLM 友好的 Markdown 爬取到 Docker 部署与智能抓取进阶Crawl4AI 技术指南从 LLM 友好的 Markdown 爬取到 Docker 部署与智能抓取进阶 Crawl4AI 是一个开源的、面向 LLM 与 A网页爬虫AI 应用机器人抓取革命GGCNN智能抓取系统的终极指南 机器人抓取革命GGCNN智能抓取系统的终极指南 在机器人技术快速发展的今天GGCNNGenerative Grasping CNN作为一款 轻量级深度学习计算机视觉机器人科研Intel RealSense/librealsense 在 NVIDIA Jetson 设备上的安装指南Intel RealSense/librealsense 在 NVIDIA Jetson 设备上的安装指南 前言 Intel RealSense 深度摄像头与网页爬虫上一篇WezTerm domain:is_spawnable() 详解判断 Mux 域能否派生新 Pane/Tab/窗口下一篇Composio Canvas 工具包实战指南认证权限、触发器配置与故障排查创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →