Skip to main content
ScrapFly 是一款支持无头浏览器、代理和反机器人绕过的网络抓取 API。它能够将网页数据提取为适合 LLM 使用的 Markdown 或纯文本格式。

安装

通过 pip 安装 ScrapFly Python SDK 和所需的 LangChain 包:
pip install scrapfly-sdk langchain langchain-community

使用方法

from langchain_community.document_loaders import ScrapflyLoader

scrapfly_loader = ScrapflyLoader(
    ["https://web-scraping.dev/products"],
    api_key="Your ScrapFly API key",  # 从 https://www.scrapfly.io/ 获取 API 密钥
    continue_on_failure=True,  # 忽略无法处理的页面并记录异常
)

# 将 URL 内容以 Markdown 格式加载为文档
documents = scrapfly_loader.load()
print(documents)
ScrapflyLoader 还支持传入 ScrapeConfig 对象来自定义抓取请求。有关完整功能详情和 API 参数,请参阅文档:scrapfly.io/docs/scrape-api/getting-started
from langchain_community.document_loaders import ScrapflyLoader

scrapfly_scrape_config = {
    "asp": True,  # 绕过抓取拦截和反机器人方案(如 Cloudflare)
    "render_js": True,  # 使用云无头浏览器启用 JavaScript 渲染
    "proxy_pool": "public_residential_pool",  # 选择代理池(数据中心或住宅)
    "country": "us",  # 选择代理位置
    "auto_scroll": True,  # 自动滚动页面
    "js": "",  # 由无头浏览器执行的自定义 JavaScript 代码
}

scrapfly_loader = ScrapflyLoader(
    ["https://web-scraping.dev/products"],
    api_key="Your ScrapFly API key",  # 从 https://www.scrapfly.io/ 获取 API 密钥
    continue_on_failure=True,  # 忽略无法处理的页面并记录异常
    scrape_config=scrapfly_scrape_config,  # 传入 scrape_config 对象
    scrape_format="markdown",  # 抓取结果格式,`markdown`(默认)或 `text`
)

# 将 URL 内容以 Markdown 格式加载为文档
documents = scrapfly_loader.load()
print(documents)