Skip to main content

Diffbot

与传统的网络爬虫工具不同,Diffbot不需要任何规则来读取页面上的内容。 它从计算机视觉开始,将页面分类为20种可能的类型之一。然后,通过机器学习模型对页面上的关键属性进行解释,该模型是根据页面类型进行训练的。 结果是将网站转换为干净的结构化数据(如JSON或CSV),可供您的应用程序使用。

这部分介绍了如何使用Diffbot提取API从URL列表中提取HTML文档,以便我们可以在下游使用文档格式。

urls = [
"https://python.langchain.com/en/latest/index.html",
]

Diffbot提取API需要一个API令牌。一旦您拥有它,就可以提取数据。

阅读说明以获取Diffbot API令牌。

import os
from langchain.document_loaders import DiffbotLoader

loader = DiffbotLoader(urls=urls, api_token=os.environ.get("DIFFBOT_API_TOKEN"))

使用.load()方法,您可以查看加载的文档。

loader.load()
    [Document(page_content='LangChain是一个由语言模型驱动的应用程序开发框架。我们相信,最强大和独特的应用程序不仅会通过API调用语言模型,还会:\n具有数据感知性:将语言模型与其他数据源连接起来\n具有代理性:允许语言模型与其环境进行交互\nLangChain框架是根据上述原则设计的。\n这是文档的Python特定部分。有关LangChain的纯概念指南,请参见此处。有关JavaScript文档,请参见此处。\n入门\n请查看下面的指南,了解如何使用LangChain创建语言模型应用程序的步骤。\n入门文档\n模块\nLangChain提供对几个主要模块的支持。对于每个模块,我们提供一些入门示例、操作指南、参考文档和概念指南。这些模块按复杂性递增的顺序排列:\n模型:LangChain支持的各种模型类型和模型集成。\n提示:这包括提示管理、提示优化和提示序列化。\n内存:内存是在链/代理的调用之间保持状态的概念。LangChain提供了一个标准的内存接口、一组内存实现和使用内存的链/代理示例。\n索引:当与您自己的文本数据结合使用时,语言模型通常更强大-此模块介绍了执行此操作的最佳实践。\n链:链不仅仅是对单个LLM调用的扩展,它们是一系列调用(无论是对LLM还是其他实用程序)。LangChain提供了链的标准接口、与其他工具的许多集成以及用于常见应用程序的端到端链。\n代理:代理涉及LLM对要采取的操作进行决策、执行该操作、查看观察结果并重复此过程直到完成。LangChain为代理提供了一个标准接口、一系列可供选择的代理和端到端代理的示例。\n用例\n上述模块可以以多种方式使用。LangChain还提供了指导和帮助。以下是LangChain支持的一些常见用例。\n个人助理:主要的LangChain用例。个人助理需要执行操作、记住交互并了解您的数据。\n问答:第二个重要的LangChain用例。回答特定文档上的问题,仅利用这些文档中的信息构建答案。\n聊天机器人:由于语言模型擅长生成文本,因此它们非常适合创建聊天机器人。\n查询表格数据:如果您想了解如何使用LLM查询存储在表格格式(csv、SQL、数据帧等)中的数据,您应该阅读此页面。\n与API交互:使LLM能够与API交互非常强大,以便为其提供更实时的信息并允许其执行操作。\n提取:从文本中提取结构化信息。\n摘要:将较长的文档总结为更短、更简洁的信息块。一种数据增强生成的类型。\n评估:生成模型在传统指标上很难评估。一种新的评估方法是使用语言模型本身进行评估。LangChain提供了一些用于辅助评估的提示/链。\n参考文档\nLangChain的所有参考文档都在一个地方。LangChain的所有方法、类、安装方法和集成设置的完整文档。\n参考文档\nLangChain生态系统\n如何使用其他公司/产品与LangChain配合使用的指南\nLangChain生态系统\n其他资源\n我们认为这些资源可能对您开发应用程序有用!\nLangChainHub:LangChainHub是一个分享和探索其他提示、链和代理的地方。\n术语表:所有相关术语、论文、方法等的术语表,无论是否在LangChain中实现!\n画廊:我们最喜欢的使用LangChain的项目集合。用于寻找灵感或了解其他应用程序中的操作方式。\n部署:用于部署LangChain应用程序的说明、代码片段和模板存储库的集合。\n跟踪:使用跟踪在LangChain中可视化链和代理的执行的指南。\n模型实验室:尝试不同的提示、模型和链是开发最佳应用程序的重要组成部分。ModelLaboratory使这一过程变得简单。\nDiscord:加入我们的Discord,讨论所有与LangChain相关的事情!\n生产支持:当您将LangChains投入生产时,我们很乐意提供更全面的支持。请填写此表格,我们将设置一个专门的支持Slack频道。', metadata={'source': 'https://python.langchain.com/en/latest/index.html'})]