Crawl快速入门入门

快速入门

抓取单个页面

Crawl API 允许你通过单个调用获取你想要从网页获取的数据。你可以抓取页面内容并以各种格式捕获其数据。

Scrapeless 提供了用于启动抓取请求以及获取其状态和结果的端点。默认情况下,抓取以异步方式处理:首先启动作业,然后检查其状态直到完成。但是,使用我们的 SDK,我们提供了一个简单的函数来处理整个流程,并在作业完成后返回数据。

安装

npm install @scrapeless-ai/sdk
 
pnpm add @scrapeless-ai/sdk
 

使用

import { ScrapingCrawl } from "@scrapeless-ai/sdk";
 
// 初始化客户端
const client = new ScrapingCrawl({
  apiKey: "your-api-key", // 从 https://scrapeless.com 获取你的 API 密钥
});
 
(async () => {
  const result = await client.scrapeUrl(
    "https://example.com"
  );
 
  console.log(result);
})();
 

浏览器配置

你也可以在创建新的会话本身时为用于执行抓取作业的会话提供配置;这些配置可能包括使用代理。

Scrapeless 自动处理常见的 CAPTCHA 类型,包括 reCAPTCHA v2、Cloudflare Turnstile/Challenge。

无需额外的设置——Scrapeless 会在抓取过程中处理它。 👉 更多详情,请查看 验证码解决

要查看所有不同的可用浏览器参数,请查看 API 参考浏览器参数

import { ScrapingCrawl } from "@scrapeless-ai/sdk";
 
// 初始化客户端
const client = new ScrapingCrawl({
  apiKey: "your-api-key", // 从 https://scrapeless.com 获取你的 API 密钥
});
 
(async () => {
  const result = await client.scrapeUrl(
    "https://example.com",
    {
      browserOptions: {
        proxy_country: "ANY",
        session_name: "Crawl",
        session_recording: true,
        session_ttl: 900,
      },
    }
  );
 
  console.log(result);
})();
 

抓取配置

你还可以为抓取作业指定可选参数,例如响应格式、启用仅主内容提取、设置最大页面导航超时等等。

import { ScrapingCrawl } from "@scrapeless-ai/sdk";
 
// 初始化客户端
const client = new ScrapingCrawl({
  apiKey: "your-api-key", // 从 https://scrapeless.com 获取你的 API 密钥
});
 
(async () => {
  const result = await client.scrapeUrl(
    "https://example.com",
    {
      formats: ["markdown", "html", "links"],
      onlyMainContent: false,
      timeout: 15000,
    }
  );
 
  console.log(result);
})();
 

有关抓取端点的完整参考,请查看 API 参考

批量抓取

批量抓取的工作方式与常规抓取相同,只是你可以提供一个 URL 列表来一次抓取多个 URL,而不是单个 URL。

import { ScrapingCrawl } from "@scrapeless-ai/sdk";
 
// 初始化客户端
const client = new ScrapingCrawl({
  apiKey: "your-api-key", // 从 https://scrapeless.com 获取你的 API 密钥
});
 
(async () => {
  const result = await client.batchScrapeUrls(
    ["https://example.com", "https://scrapeless.com"],
    {
      formats: ["markdown", "html", "links"],
      onlyMainContent: false,
      timeout: 15000,
      browserOptions: {
        proxy_country: "ANY",
        session_name: "Crawl",
        session_recording: true,
        session_ttl: 900,
      },
    }
  );
 
  console.log(result);
})();
 

抓取子页面

抓取网站及其链接页面以提取全面数据。有关详细用法,请查看 Crawl API 参考

Scrapeless 提供了用于启动爬取请求以及获取其状态和结果的端点。默认情况下,爬取以异步方式处理:首先启动作业,然后检查其状态直到完成。但是,使用我们的 SDK,我们提供了一个简单的函数来处理整个流程,并在作业完成后返回数据。

安装

npm install @scrapeless-ai/sdk
 
pnpm add @scrapeless-ai/sdk
 

使用

import { ScrapingCrawl } from "@scrapeless-ai/sdk";
 
// 初始化客户端
const client = new ScrapingCrawl({
  apiKey: "your-api-key", // 从 https://scrapeless.com 获取你的 API 密钥
});
 
(async () => {
  const result = await client.crawlUrl(
    "https://example.com",
    {
      limit: 2,
      scrapeOptions: {
        formats: ["markdown", "html", "links"],
        onlyMainContent: false,
        timeout: 15000,
      },
      browserOptions: {
        proxy_country: "ANY",
        session_name: "Crawl",
        session_recording: true,
        session_ttl: 900,
      },
    }
  );
 
  console.log(result);
})();
 

响应

{
  "success": true,
  "status": "completed",
  "completed": 2,
  "total": 2,
  "data": [
    {
      "url": "https://example.com",
      "metadata": {
        "title": "Example Page",
        "description": "A sample webpage"
      },
      "markdown": "# Example Page\nThis is content...",
      ...
    },
    ...
  ]
}
 

每个爬取的页面都有其自身完成或失败的状态,并且可以有其自己的错误字段,因此请注意这一点。

要查看完整的模式,请查看 API 参考

浏览器配置

你也可以在创建新的会话本身时为用于执行抓取作业的会话提供配置;这些配置可能包括使用代理。

有关可用参数的完整列表,请参阅 API 参考浏览器参数

import { ScrapingCrawl } from "@scrapeless-ai/sdk";
 
// 初始化客户端
const client = new ScrapingCrawl({
  apiKey: "your-api-key", // 从 https://scrapeless.com 获取你的 API 密钥
});
 
(async () => {
  const result = await client.crawlUrl(
    "https://example.com",
    {
      limit: 2,
      browserOptions: {
        proxy_country: "ANY",
        session_name: "Crawl",
        session_recording: true,
        session_ttl: 900,
      },
    }
  );
 
  console.log(result);
})();
 

抓取配置

你还可以为爬取作业提供可选的抓取选项,例如返回的格式、仅返回页面的主要内容、设置导航到页面的最大超时时间等。

import { ScrapingCrawl } from "@scrapeless-ai/sdk";
 
// 初始化客户端
const client = new ScrapingCrawl({
  apiKey: "your-api-key", // 从 https://scrapeless.com 获取你的 API 密钥
});
 
(async () => {
  const result = await client.crawlUrl(
    "https://example.com",
    {
      limit: 2,
      scrapeOptions: {
        formats: ["markdown", "html", "links"],
        onlyMainContent: false,
        timeout: 15000,
      }
    }
  );
 
  console.log(result);
})();
 

有关爬取端点的完整参考,请查看 API 参考