Node SDK
インストール
Scrapeless Node SDKをインストールするには、npmを使用します。
npm install @scrapeless-ai/sdk
クイックスタート
- ログインしてScrapelessダッシュボードからAPIキーを取得します
- APIキーを
SCRAPELESS_API_KEY
という名前の環境変数として設定するか、Scrapeless
クラスのパラメータとして渡します。
基本的な例を以下に示します。
import { Scrapeless } from '@scrapeless-ai/sdk';
const client = new Scrapeless({
apiKey: 'YOUR_API_KEY' // or use SCRAPELESS_API_KEY env variable
});
利用可能なサービス
1. スクラピングブラウザ (ブラウザオートメーションラッパー)
スクラピングブラウザモジュールは、ScrapelessブラウザAPIの上に構築された、高レベルで統一されたブラウザオートメーションAPIを提供します。PuppeteerとPlaywrightの両方をサポートしており、標準のページオブジェクトにrealClick
、realFill
、liveURL
などの高度なメソッドを追加することで、より人間らしいオートメーションを実現します。
import { Puppeteer } from '@scrapeless-ai/sdk';
const browser = await Puppeteer.connect({
session_name: 'my-session',
session_ttl: 180,
proxy_country: 'US'
});
const page = await browser.newPage();
await page.goto('https://example.com');
await page.realClick('#login-btn');
await page.realFill('#username', 'myuser');
const urlInfo = await page.liveURL();
console.log('Current page URL:', urlInfo.liveURL);
await browser.close();
主な機能:
- PuppeteerとPlaywrightの統一API
- 人間らしいオートメーション:
realClick
、realFill
、liveURL
- Scrapelessブラウザセッションとの容易な統合
2. ブラウザAPI
高度なオートメーションシナリオのために、ブラウザセッションを直接管理します。
// ブラウザセッションの作成
const session = await client.browser.create({
session_name: 'api-session',
session_ttl: 120,
proxy_country: 'US'
});
console.log('Browser session info:', session);
3. スクラピングAPI
ウェブページをスクレイピングし、様々な形式でコンテンツを抽出します。
const result = await client.scraping.scrape({
actor: 'scraper.shopee',
input: {
url: 'https://shopee.tw/product/58418206/7180456348'
}
});
console.log('result: ', result);
4. Deep SerpApi
検索エンジンの結果(例:Google)を抽出します。
const searchResults = await client.deepserp.scrape({
actor: 'scraper.google.search',
input: {
q: 'nike site:www.nike.com'
}
});
console.log('Search results:', searchResults);
5. ユニバーサルAPI
柔軟なデータ抽出のための汎用スクレイピング。
const universalResult = await client.universal.scrape({
url: 'https://example.com',
options: {
javascript: true,
screenshot: true,
extractMetadata: true
}
});
console.log('Universal scraping result:', universalResult);
6. プロキシAPI
スクレイピングとオートメーションタスクのプロキシを管理および設定します。
// プロキシURLの取得
const proxy_url = await client.proxies.proxy({
session_name: 'session_name',
session_ttl: 180,
proxy_country: 'US',
session_recording: true,
defaultViewport: null
});
console.log('Proxy URL:', proxy_url);
エラー処理
SDKは包括的なエラー処理を提供します。
try {
const result = await client.scraping.scrape({
actor: 'scraper.shopee',
input: {
url: 'https://shopee.tw/product/58418206/7180456348'
}
});
} catch (error) {
if (error instanceof ScrapelessError) {
console.error('Scrapeless error:', error.message);
console.error('Status code:', error.statusCode);
} else {
console.error('Unexpected error:', error);
}
}
設定
SDKは様々な設定オプションをサポートします。
const client = new Scrapeless({
apiKey: 'YOUR_API_KEY',
timeout: 30000, // request timeout in milliseconds
baseApiUrl: 'https://api.scrapeless.com',
browserApiUrl: 'https://browser.scrapeless.com'
});
環境変数
SCRAPELESS_API_KEY
- APIキーSCRAPELESS_BASE_API_URL
- 基本API URLSCRAPELESS_BROWSER_API_URL
- ブラウザAPI URL
ベストプラクティス
- APIキーのセキュリティ: APIキーをハードコードしないでください。環境変数を使用してください。
- エラー処理: API呼び出しは常にtry-catchブロックでラップしてください。
- リソースのクリーンアップ: ブラウザ接続は使用後必ず閉じます。
- レート制限: APIのレート制限に注意してください。
- タイムアウト設定: 長時間実行される操作には適切なタイムアウトを設定してください。
サポート
サポート、ドキュメント、その他の例については、以下をご覧ください。