Scrapeless CLI

概要

Scrapeless CLI は、Web データ抽出、Web サイトのクロール、AI 回答の取得、プロキシ URL の生成、クラウドブラウザの操作を 1 つの scrapeless コマンドで提供します。ターミナルから実行することも、自動化スクリプトから呼び出すこともできます。

機能

機能コマンドのエントリポイント用途
Web Unlockerscrapeless unlock / scrapeless scrapeページを HTML、Markdown、またはその他のサポートされている形式で抽出します。
Crawlscrapeless crawlWeb サイトのクロールタスクを作成し、その結果を取得します。
AI Scraperscrapeless aiサポートされている AI プラットフォームから回答を収集します。
Proxiesscrapeless proxy create認証付きのプロキシ URL をローカルで生成します。
Cloud browserscrapeless browserアップストリームのクラウドブラウザ CLI を実行します。

api 名前空間は予約済みで、実装されていません。

はじめに

クイックスタート

要件

Node.js 22 以降 と npm を使用してください。Node.js は CLI のランタイムであり、JavaScript や TypeScript を記述する必要はありません。認証が必要なサービスを利用するには、Scrapeless アカウントと API キーが必要です。

1. CLI をインストールする

npm install -g scrapeless
scrapeless --version
scrapeless --help

2. API キーを設定する

Scrapeless ダッシュボード から API キーをコピーし、YOUR_API_TOKEN を置き換えてください。

  1. ダッシュボードで Settings(設定)を開きます。
  2. API Key Management(API キー管理)を選択します。
  3. 利用可能なキーを使用するか、必要に応じて Create API Key(API キーを作成)を選択します。以下の設定コマンドで使用するキーをコピーします。
scrapeless config set api_token YOUR_API_TOKEN
scrapeless auth status

auth status は認証状態とアカウント残高を確認します。クラウドリクエストとプロキシトラフィックはアカウントのクレジットを消費します。

3. ページを抽出する

scrapeless unlock https://example.com --type markdown

このコマンドは、ページから抽出された Markdown を出力します。

完全なレスポンスを確認する

--json を追加すると、コードやページコンテンツを含む完全なレスポンスを確認できます。

scrapeless unlock https://example.com --type markdown --json

使用例

以下の例を実行する前に、CLI をインストールして API キーを設定してください。

Web Unlocker

選択した領域を HTML として抽出するか、完全な JSON レスポンスを保存します。

scrapeless unlock https://example.com --type html --selector body
scrapeless unlock https://example.com --type markdown --json -o page.json

scrape は unlock のエイリアスです。デフォルトの出力は HTML で、JavaScript レンダリングが有効になっています。

Crawl

scrapeless crawl https://example.com --limit 3 --max-depth 2 --formats markdown --json -o crawl.json

--formats markdown はページコンテンツの形式を指定するもので、タスク結果全体は JSON のままです。クロールの範囲は --include-paths と --exclude-paths で指定します。

AI Scraper

scrapeless ai platforms
scrapeless ai chatgpt "Explain what Scrapeless is used for" -o answer.md
scrapeless ai perplexity "What web scraping techniques are available?" --web-search true --json -o answer.json

成功したタスクはデフォルトで Markdown を返します。オプションはプラットフォームによって異なるため、最新の一覧は ai platforms で確認してください。英語のプロンプトは例です。CLI は Unicode テキストを受け付け、利用可能な言語は選択したサービスによって異なります。

Proxies

scrapeless proxy gateways
scrapeless proxy create --type residential --country US --gateway us

URL の生成はローカルで行われ、接続テストは行いません。サポートされているタイプは residential、ipv6、datacenter で、ゲートウェイには us、eu、ap、または hostname:port を指定できます。URL には認証情報が含まれるため、公開しないでください。

Cloud Browser

SESSION_ID を、new-session から返されたセッション ID に置き換えてください。

scrapeless browser new-session --name demo --ttl 300 --json
scrapeless browser --session-id SESSION_ID open https://example.com
scrapeless browser --session-id SESSION_ID snapshot -i
scrapeless browser --session-id SESSION_ID screenshot page.png
scrapeless browser --session-id SESSION_ID close

click @e1 や fill @e2 "hello world" を使用する場合は、セッションが開いている間に取得した最新のスナップショットにある実際のインタラクティブ参照を使用してください。デフォルトでは、browser --help を含む初回使用時にアップストリームの CLI がインストールされます。詳しくは「設定とタスク」の「Browser の要件」を参照してください。

コマンドのオプションを確認するには、scrapeless unlock --help、scrapeless crawl --help、scrapeless ai --help、または scrapeless proxy create --help を実行してください。browser --help の初回使用時のインストール動作については上記のとおりです。

完全なコマンドリファレンスとソースからのビルド手順は CLI リポジトリ にあります。AI サービスの動作と課金については AI Scraper ドキュメント で説明しています。

設定とタスク

認証情報

デフォルトのファイルは ~/.scrapeless/config.json です。キーの優先順位は 設定ファイル → SCRAPELESS_API_TOKEN → SCRAPELESS_API_KEY です。環境変数を使用するには、次のように設定します。

export SCRAPELESS_API_KEY="YOUR_API_TOKEN"

保存済みのキーが優先されます。CLI は .env を自動的に読み込みません。これは POSIX 構文です。PowerShell では $env:SCRAPELESS_API_KEY="YOUR_API_TOKEN" を使用します。

変数用途
SCRAPELESS_API_KEYAPI キー。Browser でもサポートされています。
SCRAPELESS_API_TOKEN統合コマンド用の代替キー変数。
SCRAPELESS_CONFIG_PATH統合コマンド専用のカスタム設定パス。
SCRAPELESS_API_BASE_URL統合 HTTP API の上書き。デフォルトは https://api.scrapeless.com です。
SCRAPELESS_CACHE_DIRBrowser のキャッシュルート。デフォルトは ~/.cache/scrapeless です。
SCRAPELESS_BROWSER_BIN互換性のある実行ファイルへの絶対パス。自動インストールをスキップします。

カスタム設定パスを指定しても、Browser のデフォルトファイルは変わりません。ラッパーは解決したキーを環境変数経由で渡しますが、Browser のデフォルトの保存済みキーによって上書きされる場合があります。認証を一貫させるには、共有のデフォルトファイルを使用してください。

出力とリクエストボディ

HTTP コマンドは、完全なレスポンスを取得する --json と、出力を保存する -o, --output <file> をサポートしています。デフォルトでは結果は stdout に出力され、-o を指定するとファイルに保存されます。進行状況、ポーリング中のタスク ID の通知、エラーは stderr に出力されます。--no-wait を指定した場合、タスク ID を含む作成時のレスポンスが結果出力の一部になります。

Unlocker、Crawl、AI の作成では、--data '<JSON>' または --data @request.json を指定できます。優先順位は 明示的なフラグ → ボディのフィールド → CLI のデフォルト です。ネストされたオブジェクトはマージされ、配列は置き換えられます。

タスクの処理

Crawl と AI の作成では、デフォルトで 5 秒 ごとに最大 300 秒 までポーリングします。作成後すぐに戻るには --no-wait を追加してください。既存のタスクは、返された ID を使用して照会します。

scrapeless crawl result TASK_ID --wait --timeout 300 --interval 5
scrapeless ai result TASK_ID --platform chatgpt --wait --timeout 300 --interval 5

対応するサービスの ID を使用してください。ポーリングがタイムアウトしても、サーバー側のタスクはキャンセルされません。Crawl では completed、AI では success を確認し、実際のコンテンツを検証してください。終了コード 0 だけでは不十分です。

--timeout と --interval の単位は秒で、スクレイピングオプションの --wait-for と --scrape-timeout の単位はミリ秒です。各 HTTP リクエストには個別に 60 秒のタイムアウトがあります。タスク作成の POST は自動的に再試行されません。

Browser の要件

ラッパーには、npm、npm と GitHub Releases へのアクセス、およびキャッシュへの書き込み権限が必要です。セッションはクラウドで実行され、ラッパーはローカルで実行されるため、Chromium を別途インストールする必要はありません。

固定されたリリースは macOS x64/arm64、Linux x64/arm64、Windows x64 をサポートしています。Windows arm64 のバイナリは同梱されていません。

トラブルシューティング

問題確認事項
キーがない、または HTTP 401/403保存済みのキー、アカウントの権限、残高を確認し、scrapeless auth status を実行してください。
ポーリングのタイムアウトタスク ID を控えておき、上記の result ... --wait コマンドを使用してください。ステータスと実際のコンテンツを確認してください。
Browser のインストールに失敗するnpm、ネットワークアクセス、キャッシュへの書き込み権限、および上記のプラットフォーム要件を確認してください。