❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🚀 快速阅读
- 功能:Jina Reader 能够将网页内容转换为适合 LLM 处理的纯文本格式,支持多种输出格式。
- 技术:基于网页抓取、内容清洗、自然语言处理等技术,确保提取内容的准确性和结构化。
- 应用:适用于内容聚合、SEO 优化、学术研究、客户服务等多种场景。
正文(附运行示例)
Jina Reader 是什么
Jina Reader 是 Jina AI 推出的开源工具,旨在将互联网上的 HTML 网页内容转换为适合大型语言模型(LLMs)处理的纯文本格式。用户只需在网址前添加特定前缀,即可快速提取网页的主要内容,并用结构化文本形式输出,去除不必要的 HTML 标签和脚本。
该工具支持多种内容格式,包括 Markdown、HTML、Text 等,并具备流模式、JSON 模式和自动为图片生成描述的 Alt 生成模式,能够增强 LLMs 对网页内容的理解。
Jina Reader 的主要功能
- 网页内容提取:将 HTML 网页转换为纯文本格式,去除不必要的标签和脚本。
- 格式选择:支持将网页内容输出为 Markdown、HTML、Text、Screenshot、Pageshot 等多种格式。
- 流模式:适用于大型和动态网页,支持更长时间的页面渲染,确保内容的完整性。
- JSON模式:输出包含 URL、标题和内容的结构化 JSON 数据,便于后续处理。
- Alt生成模式:为缺少 alt 标签的图片自动生成描述,帮助 LLMs 更好地理解网页中的图像内容。
- 目标选择器和等待选择器:用 CSS 选择器指定页面中特定部分的内容提取,或等待特定元素出现后再提取内容。
Jina Reader 的技术原理
- 网页抓取与解析:使用网络爬虫技术抓取网页内容,基于 HTML 解析器解析网页的 DOM 树结构,提取出网页的文本内容。
- 内容清洗与结构化:清洗 HTML 标签、JavaScript 代码和 CSS 样式,只保留纯文本内容,并识别和提取网页中的标题、段落、链接、图片等结构化元素。
- 自然语言处理(NLP):对提取的文本进行自然语言处理,提高文本的质量,例如去除停用词、词干提取等,并生成图像的替代文本(alt text)。
- 动态内容处理:对于单页应用程序(SPA)和动态加载的内容,使用如 Puppeteer 这样的无头浏览器模拟用户交互,等待 JavaScript 执行完成,捕获最终的页面内容。
- 流式处理与实时解析:支持流式解析网页内容,对于大型和动态网页尤为重要,能实时处理网页内容。
如何运行 Jina Reader
1. 使用 r.jina.ai
提取单个网页内容
只需在目标 URL 前添加 https://r.jina.ai/
前缀即可。例如,提取维基百科关于人工智能的页面内容:
curl https://r.jina.ai/https://en.wikipedia.org/wiki/Artificial_intelligence
2. 使用 s.jina.ai
进行网页搜索
在搜索查询前添加 https://s.jina.ai/
前缀。例如,搜索“2024 年美国总统大选谁会赢?”:
curl https://s.jina.ai/Who%20will%20win%202024%20US%20presidential%20election%3F
3. 使用流模式处理动态网页
对于动态加载的网页,可以使用流模式确保内容的完整性:
curl -H "Accept: text/event-stream" https://r.jina.ai/https://en.m.wikipedia.org/wiki/Main_Page
资源
- 项目官网:https://jina.ai/reader
- GitHub 仓库:https://github.com/jina-ai/reader
- 技术文档:https://jina.ai/reader#apiform
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦