はじめに
シングルページのクロール
Crawl APIを使用すると、1回の呼び出しでWebページから必要なデータを取得できます。ページコンテンツをスクレイピングし、様々な形式でデータをキャプチャできます。
Scrapelessは、スクレイピングリクエストの開始、ステータス、結果の取得のためのエンドポイントを提供します。デフォルトでは、ジョブの開始後、完了するまでステータスをチェックするという非同期的な方法でスクレイピングが処理されます。ただし、SDKでは、この entire flow を処理し、ジョブが完了したらデータを返すシンプルな関数を提供しています。
インストール
npm install @scrapeless-ai/sdk
pnpm add @scrapeless-ai/sdk
使用方法
import { ScrapingCrawl } from "@scrapeless-ai/sdk";
// クライアントの初期化
const client = new ScrapingCrawl({
apiKey: "your-api-key", // APIキーはhttps://scrapeless.comから取得してください
});
(async () => {
const result = await client.scrapeUrl(
"https://example.com"
);
console.log(result);
})();
ブラウザ設定
新しいセッションを作成する際に、スクレイピングジョブの実行に使用されるセッションの設定(プロキシの使用など)を指定することもできます。
Scrapelessは、reCAPTCHA v2、Cloudflare Turnstile/Challengeなど、一般的なCAPTCHAタイプを自動的に処理します。
追加の設定は必要ありません。Scrapelessがスクレイピング中に処理します。 👉 詳細については、CAPTCHA解決をご覧ください。
使用可能なブラウザパラメータの完全なリストについては、APIリファレンスまたはブラウザパラメータをご覧ください。
import { ScrapingCrawl } from "@scrapeless-ai/sdk";
// クライアントの初期化
const client = new ScrapingCrawl({
apiKey: "your-api-key", // APIキーはhttps://scrapeless.comから取得してください
});
(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", // APIキーはhttps://scrapeless.comから取得してください
});
(async () => {
const result = await client.scrapeUrl(
"https://example.com",
{
formats: ["markdown", "html", "links"],
onlyMainContent: false,
timeout: 15000,
}
);
console.log(result);
})();
スクレイピングエンドポイントの完全なリファレンスについては、APIリファレンスをご覧ください。
バッチスクレイピング
バッチスクレイピングは通常のスクレイピングと同じですが、単一のURLの代わりに、一度にスクレイピングするURLのリストを指定できます。
import { ScrapingCrawl } from "@scrapeless-ai/sdk";
// クライアントの初期化
const client = new ScrapingCrawl({
apiKey: "your-api-key", // APIキーはhttps://scrapeless.comから取得してください
});
(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リファレンスをご覧ください。
デフォルトでは、クロールは指定したURL階層に含まれないサブリンクをスキップします。たとえば、https://example.com/products/をクロールしても、https://example.com/promotions/deal-567の下のページはキャプチャされません。このようなリンクを含めるには、`allowBackwardLinks`パラメータを有効にします。
Scrapelessは、クロールリクエストの開始、ステータス、結果の取得のためのエンドポイントを提供します。デフォルトでは、クロールは非同期的に処理されます。最初にジョブを開始し、完了するまでステータスをチェックします。ただし、SDKでは、この entire flow を処理し、ジョブが完了したらデータを返すシンプルな関数を提供しています。
インストール
npm install @scrapeless-ai/sdk
pnpm add @scrapeless-ai/sdk
使用方法
import { ScrapingCrawl } from "@scrapeless-ai/sdk";
// クライアントの初期化
const client = new ScrapingCrawl({
apiKey: "your-api-key", // APIキーはhttps://scrapeless.comから取得してください
});
(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...",
...
},
...
]
}
クロールされた各ページには、completed
またはfailed
の独自のステータスがあり、独自のエラーフィールドを持つ可能性があるため、注意してください。
完全なスキーマについては、APIリファレンスをご覧ください。
ブラウザ設定
新しいセッションを作成する際に、スクレイピングジョブの実行に使用されるセッションの設定(プロキシの使用など)を指定することもできます。
使用可能なパラメータの完全なリストについては、APIリファレンスまたはブラウザパラメータをご覧ください。
import { ScrapingCrawl } from "@scrapeless-ai/sdk";
// クライアントの初期化
const client = new ScrapingCrawl({
apiKey: "your-api-key", // APIキーはhttps://scrapeless.comから取得してください
});
(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", // APIキーはhttps://scrapeless.comから取得してください
});
(async () => {
const result = await client.crawlUrl(
"https://example.com",
{
limit: 2,
scrapeOptions: {
formats: ["markdown", "html", "links"],
onlyMainContent: false,
timeout: 15000,
}
}
);
console.log(result);
})();
クロールエンドポイントの完全なリファレンスについては、APIリファレンスをご覧ください。