🥳Scrapeless Communityに参加して、強力なWebスクレイピングツールキットにアクセスするために無料トライアルを取得してください!
ブログに戻ります

ユニバーサルスクレイピングAPIの更新:開発者体験向上のための豊富なレスポンス形式!

Alex Johnson
Alex Johnson

Senior Web Scraping Engineer

12-Jun-2025

現代のウェブデータスクレイピングシナリオにおいて、HTMLページを単に取得するだけでは、洗練されたアンチスクレイピングメカニズムに直面した際にビジネスニーズを満たすには不十分です。Scrapelessでは、開発者の視点から製品の機能を向上させることに尽力しています。

本日、Scrapelessのコアサービスの一つであるユニバーサルスクレイピングAPIの大幅なアップデートを発表できることを非常に嬉しく思います。ウェブアンロッカーは現在、複数のレスポンスフォーマットをサポートしています!この改善により、APIの柔軟性が大きく向上し、エンタープライズユーザーや開発者にとって、より適応性に富んだ効率的なデータスクレイピング体験を提供します。

なぜアップデートするのか?

以前は、ユニバーサルスクレイピングAPIがHTMLページのコンテンツを返すことがデフォルトであり、これは暗号化されていないページや、弱いアンチスクレイピング対策を持つウェブサイトに迅速にアクセスするにはうまく機能していました。しかし、ユーザーが自動化を求める中で、多くのユーザーがHTMLを取得した後にデータ構造を手動で処理し、コンテンツをクリーンアップし、要素を抽出する必要があることを観察しました。これにより、不要な開発オーバーヘッドが発生しました。このプロセスを簡素化して、前処理されたコンテンツを1ステップで提供できるようにすることはできるのでしょうか?

今、あなたはできます!

レスポンスロジックを一新しました。response_typeパラメーターを設定することにより、開発者は希望するデータフォーマットを柔軟に指定できます。生のHTML、プレーンテキスト、または構造化されたメタデータが必要な場合でも、シンプルなパラメーター設定で完了です。

現在取得できるレスポンスフォーマット:

現在サポートされているフォーマットには以下が含まれますが、これに限定されません:

  1. JSON出力フィルター: outputsパラメーターを使用して、JSON形式のデータをフィルタリングします。許可されているフィルタータイプにはemailphone_numbersheadings、およびその他9種類が含まれ、結果は構造化されたJSONで返されます。
  2. 複数の返却フォーマット: JSONフィルタリングを超えて、リクエストにresponse_typeパラメーターを追加することで、レスポンスフォーマットを直接指定できます(例:response_type=plaintext)。
    現在サポートされているフォーマットには以下が含まれます:
  • HTML: ページの内容をHTML形式で抽出します(静的ページに最適)。
  • Plaintext: HTMLタグやMarkdown形式を取り除いたプレーンテキストとしてスクレイピングされたコンテンツを返します—テキスト処理や分析に最適です。
  • Markdown: ページの内容をMarkdown形式で抽出します(静的なMarkdownベースのページに最適)、より読みやすく処理しやすくなります。
  • PNG/JPEG: response_type=pngを設定することで、ターゲットページのスクリーンショットをキャプチャし、PNGまたはJPEG形式で返します(フルページのスクリーンショットオプションあり)。

注意: デフォルトのresponse_typeはhtmlです。


例を考えてみましょう

1. JSON返却値フィルタリング:

outputsパラメーターを使用して、JSON形式のデータをフィルタリングできます。このパラメーターが設定されると、レスポンスタイプはJSONに固定されます。

このパラメーターは、カンマで区切られたフィルタ名のリストを受け付け、構造化されたJSON形式でデータを返します。サポートされているフィルタータイプには、phone_numbersheadingsimagesaudiosvideoslinksmenushashtagsemailsmetadatatables、およびfaviconが含まれます。

以下のサンプルコードは、スクレイプレスサイトのホームページにあるすべての画像情報を取得する方法を示しています:

Javascript

JavaScript Copy
const axios = require('axios');
const fs = require('fs');

(async () => {
    const payload = {
        actor: "unlocker.webunlocker",
        input: {
            url: "https://www.scrapeless.com",
            js_render: true,
            outputs: "images"
        },
        proxy: {
            country: "ANY"
        }
    };

    const response = await axios.post("https://api.scrapeless.com/api/v1/unlocker/request", payload, {
        headers: {
            "x-api-token": "APIキー",
            "Content-Type": "application/json"
        },
        timeout: 60000
    });

    if (response.data?.code === 200) {
        fs.writeFileSync('outputs.json', response.data.data, 'utf8');
    }
})();

Python

Python Copy
import requests

payload = {
    "actor": "unlocker.webunlocker",
    "input": {
        "url": "https://www.scrapeless.com",
        "js_render": True,
        "outputs": "images",
    },
    "proxy": {
        "country": "ANY"
    }
}

response = requests.post(
    "https://api.scrapeless.com/api/v1/unlocker/request",
    json=payload,
    headers={
        "x-api-token": "APIキー",
        "Content-Type": "application/json"
    },
    timeout=60
)

if response.json()["code"] == 200:
    with open('outputs.json', 'w', encoding='utf-8') as f:
        f.write(response.json()["data"])
  • 結果:
JSON Copy
{
  "images": [
    "data:image/svg+xml;base64,PHN2ZyBzdHJva2U9IiNGRkZGRkYiIGZpbGw9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMCIgdmlld0JveD0iMCAwIDI0IDI0IiBoZWlnaHQ9IjIwMHB4IiB3aWR0aD0iMjAwcHgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3Qgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiB4PSIyIiB5PSIyIiBmaWxsPSJub25lIiBzdHJva2Utd2lkdGg9IjIiIHJ4PSIyIj48L3JlY3Q+PC9zdmc+Cg==",
    "https://www.scrapeless.com/_next/image?url=%2Fassets%2Fimages%2Fcode%2Fcode-l.jpg&w=3840&q=75",
ja Copy
"https://www.scrapeless.com/_next/image?url=%2Fassets%2Fimages%2Fregulate-compliance.png&w=640&q=75",
"https://www.scrapeless.com/_next/image?url=https%3A%2F%2Fassets.scrapeless.com%2Fprod%2Fimages%2Fauthor-avatars%2Falex-johnson.png&w=48&q=75",
"https://www.scrapeless.com/_next/image?url=https%3A%2F%2Fassets.scrapeless.com%2Fprod%2Fposts%2Fdeep-serp-api-online%2Fd723e1e516e3dd956ba31c9671cde8ea.jpeg&w=3840&q=75",
"https://www.scrapeless.com/_next/image?url=https%3A%2F%2Fassets.scrapeless.com%2Fprod%2Fposts%2Fscrapeless-web-scraping-toolkit%2Fac20e5f6aaec5c78c5076cb254c2eb78.png&w=3840&q=75",
"https://www.scrapeless.com/_next/image?url=https%3A%2F%2Fassets.scrapeless.com%2Fprod%2Fimages%2Fauthor-avatars%2Femily-chen.png&w=48&q=75",
"https://www.scrapeless.com/_next/image?url=https%3A%2F%2Fassets.scrapeless.com%2Fprod%2Fposts%2Fgoogle-shopping-scrape%2F251f14aedd946d0918d29ef710a1b385.png&w=3840&q=75"
Plain Text Copy
# Scrapeless API

## ドキュメント
- スクレイピングブラウザ [CDP API](https://apidocs.scrapeless.com/doc-801748.md): 
- スクレイピングAPI > shopee [アクターリスト](https://apidocs.scrapeless.com/doc-754333.md): 
- スクレイピングAPI > amazon [APIパラメータ](https://apidocs.scrapeless.com/doc-857373.md): 
- スクレイピングAPI > google search [APIパラメータ](https://apidocs.scrapeless.com/doc-800321.md): 
- スクレイピングAPI > google trends [APIパラメータ](https://apidocs.scrapeless.com/doc-796980.md): 
- スクレイピングAPI > google flights [APIパラメータ](https://apidocs.scrapeless.com/doc-796979.md): 
- スクレイピングAPI > google flights chart [APIパラメータ](https://apidocs.scrapeless.com/doc-908741.md): 
- スクレイピングAPI > google maps [APIパラメータ(Google Maps)](https://apidocs.scrapeless.com/doc-834792.md): 
- スクレイピングAPI > google maps [APIパラメータ(Google Mapsオートコンプリート)](https://apidocs.scrapeless.com/doc-834799.md): 
- スクレイピングAPI > google maps [APIパラメータ(Google Maps寄稿者レビュー)](https://apidocs.scrapeless.com/doc-834806.md): 
- スクレイピングAPI > google maps [APIパラメータ(Google Maps経路)](https://apidocs.scrapeless.com/doc-834821.md): 
- スクレイピングAPI > google maps [APIパラメータ(Google Mapsレビュー)](https://apidocs.scrapeless.com/doc-834831.md): 
- スクレイピングAPI > google scholar [APIパラメータ(Google Scholar)](https://apidocs.scrapeless.com/doc-842638.md): 
- スクレイピングAPI > google scholar [APIパラメータ(Google Scholar著者)](https://apidocs.scrapeless.com/doc-842645.md): 
- スクレイピングAPI > google scholar [APIパラメータ(Google Scholar引用)](https://apidocs.scrapeless.com/doc-842647.md): 
- スクレイピングAPI > google scholar [APIパラメータ(Google Scholarプロフィール)](https://apidocs.scrapeless.com/doc-842649.md): 
- スクレイピングAPI > google jobs [APIパラメータ](https://apidocs.scrapeless.com/doc-850038.md): 
- スクレイピングAPI > google shopping [APIパラメータ](https://apidocs.scrapeless.com/doc-853695.md): 
- スクレイピングAPI > google hotels [APIパラメータ](https://apidocs.scrapeless.com/doc-865231.md): 
- スクレイピングAPI > google hotels [サポートされているGoogleバケーションレンタルの物件タイプ](https://apidocs.scrapeless.com/doc-890578.md): 
- スクレイピングAPI > google hotels [サポートされているGoogleホテルの物件タイプ](https://apidocs.scrapeless.com/doc-890580.md): 
- スクレイピングAPI > google hotels [サポートされているGoogleバケーションレンタルのアメニティ](https://apidocs.scrapeless.com/doc-890623.md): 
- スクレイピングAPI > google hotels [サポートされているGoogleホテルのアメニティ](https://apidocs.scrapeless.com/doc-890631.md): 
- スクレイピングAPI > google news [APIパラメータ](https://apidocs.scrapeless.com/doc-866643.md): 
- スクレイピングAPI > google lens [APIパラメータ](https://apidocs.scrapeless.com/doc-866644.md): 
- スクレイピングAPI > google finance [APIパラメータ](https://apidocs.scrapeless.com/doc-873763.md): 
- スクレイピングAPI > google product [APIパラメータ](https://apidocs.scrapeless.com/doc-880407.md): 
- スクレイピングAPI [google play store](https://apidocs.scrapeless.com/folder-3277506.md): 
- スクレイピングAPI > google play store [APIパラメータ](https://apidocs.scrapeless.com/doc-882690.md): 
- スクレイピングAPI > google play store [サポートされているGoogle Playカテゴリー](https://apidocs.scrapeless.com/doc-882822.md): 
- スクレイピングAPI > google ads [APIパラメータ](https://apidocs.scrapeless.com/doc-881439.md): 
- ユニバーサルスクレイピングAPI [JS Renderドキュメント](https://apidocs.scrapeless.com/doc-801406.md): 

## APIドキュメント
- ユーザー [ユーザー情報を取得](https://apidocs.scrapeless.com/api-11949851.md): 現在認証されているユーザーの基本情報、アカウント残高およびサブスクリプションプランの詳細を取得します。
- スクレイピングブラウザ [接続](https://apidocs.scrapeless.com/api-11949901.md): 
- スクレイピングブラウザ [実行中のセッション](https://apidocs.scrapeless.com/api-16890953.md): すべての実行中のセッションを取得
- スクレイピングブラウザ [ライブURL](https://apidocs.scrapeless.com/api-16891208.md): セッションタスクIDによる実行中のセッションのライブURLを取得
- スクレイピングAPI > shopee [Shopeeプロダクト](https://apidocs.scrapeless.com/api-11953650.md): 
- スクレイピングAPI > shopee [Shopee検索](https://apidocs.scrapeless.com/api-11954010.md): 
- スクレイピングAPI > shopee [Shopee推奨](https://apidocs.scrapeless.com/api-11954111.md): 
- スクレイピングAPI > brサイト [Solucoes cnpjreva](https://apidocs.scrapeless.com/api-11954435.md): ターゲットURL `https://solucoes.receita.fazenda.gov.br/servicos/cnpjreva/valida_recaptcha.asp`
- スクレイピングAPI > brサイト [Solucoes certidaointernet](https://apidocs.scrapeless.com/api-12160439.md): ターゲットURL `https://solucoes.receita.fazenda.gov.br/Servicos/certidaointernet/pj/emitir`
Copy
### 4. マークダウン

リクエストパラメータに `response_type=markdown` を追加すると、Scrapeless Universal Scraping APIは特定のページの内容をマークダウン形式で返します。

以下の例は、[スクレイピングブラウザのクイックスタートページ](https://docs.scrapeless.com/en/scraping-browser/quickstart/getting-started)のマークダウン効果を示しています。最初にページの検査を使用して、テーブルのCSSセレクタを取得します。

![スクレイピングブラウザのクイックスタートページ](https://assets.scrapeless.com/prod/posts/response-formats-update/c99d28d532bb44eb7e09ede40754ee09.png)

この例では、取得したCSSセレクタは次のとおりです: `#__next > div:nth-child(3) > div._mx-auto._flex._max-w-\[90rem\] > article > main > table`。以下は完全なサンプルコードです。

> Javascript

```JavaScript
const axios = require('axios');
const fs = require('fs');

(async () => {
    const payload = {
        actor: "unlocker.webunlocker",
        input: {
            url: "https://docs.scrapeless.com/en/scraping-browser/quickstart/getting-started",
            js_render: true,
            response_type: "markdown",
            selector: "#__next > div:nth-child(3) > div._mx-auto._flex._max-w-\[90rem\] > article > main > table", // ページテーブル要素のCSSセレクタ
        },
        proxy: {
            country: "ANY"
        }
    };

    const response = await axios.post("https://api.scrapeless.com/api/v1/unlocker/request", payload, {
        headers: {
            "x-api-token": "API Key",
            "Content-Type": "application/json"
        },
        timeout: 60000
    });

    if (response.data?.code === 200) {
        fs.writeFileSync('response.md', response.data.data, 'utf8');
    }
})();

Python

Python Copy
import requests

payload = {
    "actor": "unlocker.webunlocker",
    "input": {
        "url": "https://docs.scrapeless.com/en/scraping-browser/quickstart/getting-started",
        "js_render": True,
        "response_type": "markdown",
        "selector": "#__next > div:nth-child(3) > div._mx-auto._flex._max-w-\[90rem\] > article > main > table", # ページテーブル要素のCSSセレクタ
    },
    "proxy": {
        "country": "ANY"
    }
}

response = requests.post(
    "https://api.scrapeless.com/api/v1/unlocker/request",
    json=payload,
    headers={
        "x-api-token": "API Key",
        "Content-Type": "application/json"
    },
    timeout=60
)

if response.json()["code"] == 200:
    with open('response.md', 'w', encoding='utf-8') as f:
        f.write(response.json()["data"])

クロールされたテーブルのマークダウンテキストの表示:

Markdown Copy
| パラメータ名 | 型 | 説明 |
| --- | --- | --- |
| token | string | コントロールパネルで生成されたAPIキー。 |
| session_ttl | number | セッションの持続時間を制御し、タイムアウト後にブラウザインスタンスを自動的に閉じる。単位は秒(s)、デフォルトは180秒(3分)、60秒(1分)から900秒(推奨の最大15分。ただし、長い時間も設定可能)。指定されたTTLに達すると、セッションは期限切れとなり、スクレイピングブラウザはリソースを解放するためにブラウザインスタンスを閉じる。 |
| session_name | string | セッションの名前を設定して、履歴セッションリストでの検索と表示を容易にする。 |
| session_recording | boolean | セッション録画を有効にするかどうか。これを有効にすると、ブラウザセッションの実行プロセス全体が自動的に記録され、セッションが完了した後、履歴セッションリストの詳細で再生して表示できる。デフォルトはfalse。 |
| proxy_url | string | ブラウザのプロキシURLを設定するために使用します。例: http://user:pass@ip:port。このパラメータが設定されている場合、他のすべてのproxy_*パラメータは無視されます。- 💡カスタムプロキシ機能は、現在企業および企業強化サブスクリプションユーザーのみが利用可能です。今すぐアップグレード- 💡企業レベルのカスタムユーザーは、カスタムプロキシを使用するためにお問い合わせください。 |

| proxy_country | string | プロキシのターゲット国/地域を設定し、その地域からのIPアドレスを介してリクエストを送信します。国コード(例:米国はUS、英国はGB、ANYは任意の国)を指定できます。サポートされているすべてのオプションについては、国コードを参照してください。 |
| fingerprint | string | ブラウザフィンガープリントは、ブラウザとデバイスの設定情報を使用して作成されたほぼユニークな「デジタルフィンガープリント」で、クッキーがなくてもオンライン活動を追跡するために使用できます。幸いなことに、Scraping Browserでのフィンガープリンティングの設定は任意です。ブラウザユーザーエージェント、タイムゾーン、言語、画面解像度などの主要なパラメータを含む、ブラウザフィンガープリントの深いカスタマイズを提供しており、カスタム起動パラメータを介して機能を拡張することもサポートしています。複数アカウント管理、データ収集、プライバシー保護シナリオに適しており、Scrapeless自身のChromiumブラウザを使用すると検出を完全に回避できます。デフォルトでは、私たちのScraping Browserサービスは各セッションに対してランダムなフィンガープリントを生成します。参照 |

Copy
### 5. PNG/JPEG
`response_type=png`をリクエストに追加することで、ターゲットページのスクリーンショットをキャプチャしてpngまたはjpeg画像を返すことができます。レスポンスの結果がpngまたはjpegに設定されている場合、`response_image_full_page=true`パラメータを使用して、返される結果が全画面かどうかを設定できます。このパラメータのデフォルト値はfalseです。

以下のコード例は、[Scrapelessのホームページ](https://www.scrapeless.com/?utm_source=official&utm_medium=blog&utm_campaign=response-formats-update)の特定の領域のスクリーンショットを取得する方法を示しています。まず、キャプチャしたい画像の領域のCSSセレクターを見つけます。

![CSSセレクターの発見](https://assets.scrapeless.com/prod/posts/response-formats-update/5390840f58d5855d9ecbf6a5c82ca24d.png)

以下はインターセプトコードです:
> Javascript

```JavaScript
const axios = require('axios');
const fs = require('fs');

(async () => {
    const payload = {
        actor: "unlocker.webunlocker",
        input: {
            url: "https://www.scrapeless.com/en",
            js_render: true,
            response_type: "png",
            selector: "body > main > div > section > div > div.banner.px-web-gap-5.py-web-gap-10.flex.flex-col.border-b.border-\(--web-landing-stroke-3-primary\)", // ページテーブル要素のCSSセレクター
        },
        proxy: {
            country: "ANY"
        }
    };

    const response = await axios.post("https://api.scrapeless.com/api/v1/unlocker/request", payload, {
        headers: {
            "x-api-token": "API Key",
            "Content-Type": "application/json"
        },
        timeout: 60000
    });

    if (response.data?.code === 200) {
        fs.writeFileSync('response.png', Buffer.from(response.data.data, 'base64'));
    }
})(); 

Python

Python Copy
import requests
 
payload = {
    "actor": "unlocker.webunlocker",
    "input": {
        "url": "https://www.scrapeless.com/en",
        "js_render": True,
        "response_type": "png",
        "selector": "body > main > div > section > div > div.banner.px-web-gap-5.py-web-gap-10.flex.flex-col.border-b.border-\(--web-landing-stroke-3-primary\)", # ページテーブル要素のCSSセレクター
    },
    "proxy": {
        "country": "ANY"
    }
}
 
response = requests.post(
    "https://api.scrapeless.com/api/v1/unlocker/request",
    json=payload,
    headers={
        "x-api-token": "API Key",
        "Content-Type": "application/json"
    },
    timeout=60
)
 
if response.json()["code"] == 200:
    with open('response.png', 'wb') as f:
        content = base64.b64decode(response.json()["data"])
        f.write(content)
  • PNG返却の結果:
PNGの返却

👉 Scrapeless Docsを訪れて詳細を学ぶ
👉 今すぐAPIドキュメンテーションをチェック: JS Render

使用シナリオは完全にカバーされています

このアップデートは特に以下に適しています:

  • コンテンツ抽出アプリケーション(要約生成、情報収集など)
  • SEOデータクロール(メタデータ、構造化データ分析など)
  • ニュース集約プラットフォーム(迅速にテキストと著者を抽出)
  • リンク分析および監視ツール(href、nofollow情報を抽出)

テキストを迅速にクロールしたい場合でも、構造化データを欲しい場合でも、このアップデートはより少ない労力でより多くの結果を得るのに役立ちます。

今すぐ体験する

この機能はScrapelessで完全にリリースされました。追加の認可やアップグレードプランは必要ありません。出力パラメータを制限するか、response_typeパラメータを渡すだけで、新しいデータ返却形式を体験できます!
Scrapelessは常にインテリジェントで安定した、使いやすいウェブデータプラットフォームの構築に取り組んできました。 このアップデートはさらなる一歩です。あなたの体験やフィードバックをお待ちしています。一緒にウェブデータの取得をより簡単にしましょう。

🔗 今すぐScrapeless Universal Scraping APIをお試しください

📣 コミュニティに参加して、最新情報や実用的なヒントをいち早くゲットしましょう!

Scrapelessでは、適用される法律、規制、およびWebサイトのプライバシーポリシーを厳密に遵守しながら、公開されているデータのみにアクセスします。 このブログのコンテンツは、デモンストレーションのみを目的としており、違法または侵害の活動は含まれません。 このブログまたはサードパーティのリンクからの情報の使用に対するすべての責任を保証せず、放棄します。 スクレイピング活動に従事する前に、法律顧問に相談し、ターゲットウェブサイトの利用規約を確認するか、必要な許可を取得してください。

最も人気のある記事

カタログ