以编程方式使用文档

Hyperbrowser 是一个用于运行和扩展无头浏览器的平台。它让您能够大规模地启动和管理浏览器会话,并提供易于使用的解决方案来满足各种网页抓取需求,例如抓取单个页面或爬取整个网站。

主要特点:

  • - 即时扩展性 - 几秒钟内启动数百个浏览器会话,无需担心基础设施
  • - 简单集成 - 与 Puppeteer 和 Playwright 等流行工具无缝配合
  • - Powerful APIs - Easy to use APIs for scraping/crawling any site, and much more
  • - 绕过反机器人措施 - 内置隐身模式、广告拦截、自动 CAPTCHA 解决和轮换代理

本指南快速概览如何开始使用 HyperbrowserLoader 文档加载器.

如需了解更多关于 Hyperbrowser 的信息,请访问 Hyperbrowser 网站 或者如果您想查看文档,可以访问 Hyperbrowser 文档.

概述

集成详情

本地可序列化JS 支持
HyperbrowserLoaderlangchain-hyperbrowser

加载器特性

来源文档延迟加载原生异步支持
HyperbrowserLoader

设置

要访问 Hyperbrowser 文档加载器,您需要安装 langchain-hyperbrowser 集成包,并创建一个 Hyperbrowser 账户并获取 API 密钥。

凭据

前往 Hyperbrowser 注册并生成 API 密钥。完成此操作后,设置 HYPERBROWSER_API_KEY 环境变量:

安装

安装 **langchain-hyperbrowser**.

pip install -qU langchain-hyperbrowser

初始化

现在我们可以实例化模型对象并加载文档:

from langchain_hyperbrowser import HyperbrowserLoader

loader = HyperbrowserLoader(
    urls="https://example.com",
    api_key="YOUR_API_KEY",
)

加载

docs = loader.load()
docs[0]
Document(metadata={'title': 'Example Domain', 'viewport': 'width=device-width, initial-scale=1', 'sourceURL': 'https://example.com'}, page_content='Example Domain\n\n# Example Domain\n\nThis domain is for use in illustrative examples in documents. You may use this\ndomain in literature without prior coordination or asking for permission.\n\n[More information...](https://www.iana.org/domains/example)')
print(docs[0].metadata)

延迟加载

page = []
for doc in loader.lazy_load():
    page.append(doc)
    if len(page) >= 10:
        # do some paged operation, e.g.
        # index.upsert(page)

        page = []

高级用法

您可以指定加载器要执行的操作。默认操作是 scrape。对于 scrape,您可以提供单个 URL 或 URL 列表进行抓取。对于 crawl,您只能提供单个 URL。 crawl 操作将爬取提供的页面及其子页面,并为每个页面返回一个文档。

loader = HyperbrowserLoader(
    urls="https://hyperbrowser.ai", api_key="YOUR_API_KEY", operation="crawl"
)

加载器的可选参数也可以在 params 参数中提供。如需了解支持的参数的更多信息,请访问 docs.hyperbrowser.ai/reference/sdks/python/scrape#start-scrape-job-and-wait or docs.hyperbrowser.ai/reference/sdks/python/crawl#start-crawl-job-and-wait.

loader = HyperbrowserLoader(
    urls="https://example.com",
    api_key="YOUR_API_KEY",
    operation="scrape",
    params={"scrape_options": {"include_tags": ["h1", "h2", "p"]}},
)

API 参考