Scraping Browserのメリット
インフラストラクチャの諸経費を削減
1つのAPIでブラウザ環境のセットアップや自動スケーリングができます。また、セッションやワークロードを同時に無制限で利用できるため、スクレイピングを継続的に実行できます
成功率をアップ
ロック解除機能が搭載されており、また大量の住宅用IPのプールが用意されているため、ロック解除パッチを作成したり、将来的なブロックへの対策を施したりせずに、あらゆる公開ウェブデータにアクセスできます。
開発者の生産性を向上
たった1行のコードを実行するだけで、既存のスクリプトをハイブリッドクラウド上で動かせられるようになるため、開発者はスクレイピング業務の煩わしさから解放され、重要なことに集中できるようになります
自動でスケーリングするインフラストラクチャ
ブラウザ操作をする多段階スクレイピング用スクリプトをハイブリッドブラウザ環境とつなげることで、1行のコードでセッションを同時に無制限で作成できるようになります
自動ロック解除機能を利用する
ブラウザフィンガープリント
実際のユーザーのブラウザをエミュレートして人間の操作をシミュレートします
CAPTCHA 解決
CAPTCHA とチャレンジレスポンス認証を分析して解決します
特定のユーザーエージェントの管理
さまざまなタイプのブラウザやデバイスを自動的に模倣します
紹介ヘッダーの設定
人気の Web サイトや信頼できる Web サイトからのトラフィックをシミュレートします
Cookie の処理
Cookie 関連の要因によるブロックの可能性を回避します
自動再試行と IP ローテーション
バックグラウンドで継続的に要求を再試行し、IP をローテーションします
世界中の地域に対応
あらゆる国や都市、州、ASN のローカライズされたコンテンツにアクセスします
JavaScript レンダリング
動的要素を含む Web サイトからデータを抽出します
データ整合性検証
データの正確性、一貫性、信頼性を保証します
大量に用意された本物のIPのプール
倫理に反しない形で調達した7,200万以上の住宅用IPが用意されており、195か国に対応しています。また、API経由で高度な設定と管理が行えます。これらを利用し、本物のユーザーとしてウェブにアクセスしましょう
const pw = require('playwright');
const SBR_CDP = 'wss://brd-customer-CUSTOMER_ID-zone-ZONE_NAME:[email protected]:9222';
async function main() {
console.log('Connecting to Scraping Browser...');
const browser = await pw.chromium.connectOverCDP(SBR_CDP);
try {
const page = await browser.newPage();
console.log('Connected! Navigating to https://example.com...');
await page.goto('https://example.com');
console.log('Navigated! Scraping page content...');
const html = await page.content();
console.log(html);
} finally {
await browser.close();
}
}
main().catch(err => {
console.error(err.stack || err);
process.exit(1);
});
import asyncio
from playwright.async_api import async_playwright
SBR_WS_CDP = 'wss://brd-customer-CUSTOMER_ID-zone-ZONE_NAME:[email protected]:9222'
async def run(pw):
print('Connecting to Scraping Browser...')
browser = await pw.chromium.connect_over_cdp(SBR_WS_CDP)
try:
page = await browser.new_page()
print('Connected! Navigating to https://example.com...')
await page.goto('https://example.com')
print('Navigated! Scraping page content...')
html = await page.content()
print(html)
finally:
await browser.close()
async def main():
async with async_playwright() as playwright:
await run(playwright)
if __name__ == '__main__':
asyncio.run(main())
const puppeteer = require('puppeteer-core');
const SBR_WS_ENDPOINT = 'wss://brd-customer-CUSTOMER_ID-zone-ZONE_NAME:[email protected]:9222';
async function main() {
console.log('Connecting to Scraping Browser...');
const browser = await puppeteer.connect({
browserWSEndpoint: SBR_WS_ENDPOINT,
});
try {
const page = await browser.newPage();
console.log('Connected! Navigating to https://example.com...');
await page.goto('https://example.com');
console.log('Navigated! Scraping page content...');
const html = await page.content();
console.log(html)
} finally {
await browser.close();
}
}
main().catch(err => {
console.error(err.stack || err);
process.exit(1);
});
const { Builder, Browser } = require('selenium-webdriver');
const SBR_WEBDRIVER = 'https://brd-customer-CUSTOMER_ID-zone-ZONE_NAME:[email protected]:9515';
async function main() {
console.log('Connecting to Scraping Browser...');
const driver = await new Builder()
.forBrowser(Browser.CHROME)
.usingServer(SBR_WEBDRIVER)
.build();
try {
console.log('Connected! Navigating to https://example.com...');
await driver.get('https://example.com');
console.log('Navigated! Scraping page content...');
const html = await driver.getPageSource();
console.log(html);
} finally {
driver.quit();
}
}
main().catch(err => {
console.error(err.stack || err);
process.exit(1);
});
from selenium.webdriver import Remote, ChromeOptions
from selenium.webdriver.chromium.remote_connection import ChromiumRemoteConnection
SBR_WEBDRIVER = 'https://brd-customer-CUSTOMER_ID-zone-ZONE_NAME:[email protected]:9515'
def main():
print('Connecting to Scraping Browser...')
sbr_connection = ChromiumRemoteConnection(SBR_WEBDRIVER, 'goog', 'chrome')
with Remote(sbr_connection, options=ChromeOptions()) as driver:
print('Connected! Navigating to https://example.com...')
driver.get('https://example.com')
print('Navigated! Scraping page content...')
html = driver.page_source
print(html)
if __name__ == '__main__':
main()
開発者を第一に考えた動的スクレイピング
- PuppeteerやSelenium、Playwrightのスクリプトを実行可能
- APIを使った住宅用プロキシワークフローのカスタマイズ
- Chromeデベロッパーツールを使って、トラブルシューティングとモニタリングを行う
- ブロック解除パッチの更新作業をスキップ
Chromeデベロッパーツールに対応
Chromeデベロッパーツールのデバッガーを使用でき、これを使ってScraping Browserのパフォーマンスをシームレスに監視したり、トラブルシューティングしたりできます
Scraping Browserの価格
年中無休24時間対応のサポート
専門家による24時間体制のサポートを受けましょう。発生した問題を迅速に解決し、質の高いデータを手に入れましょう。ネットワークの状態をリアルタイムで可視化し、高い透明性を実現させましょう
よくある質問
Scraping Browserとは?
Scraping BrowserはPuppeteerやPlaywrightなどの一般に広く使われている高レベルAPIを使って操作できる自動ブラウザで、他の自動ブラウザと同じような機能を備えています。その上、Scraping Browserには他の自動ブラウザには見られない、ウェブサイトのブロック解除機能が搭載されています。Scraping Browserを使えば、CAPTCHAの回答、ブラウザのフィンガープリンティング、自動再試行、ヘッダーの選択、Cookie管理、Javascriptレンダリングなど、ウェブサイトのロック解除に必要な操作をブラウザ内で自動的に管理できます。そのため、時間とリソースを節約につながります。
どのような場合にブラウザを使用してスクレイピングをする必要があるのですか?
開発者がデータスクレイピングをする際、ページがJavaScriptでレンダリングされている場合や、ウェブサイトの操作(ホバー、ページの変更、クリック、スクリーンショットなど)をしなければならない場合、自動ブラウザを使う必要があります。また、自動ブラウザは複数のページを同時にターゲットとする大規模なデータスクレイピングプロジェクトにも役立ちます。
Scraping Browserはヘッドレスですか、それともヘッドフルですか?
Scraping Browserは、グラフィックユーザーインターフェイスを使用するGUIブラウザ(別名[ヘッドフル]ブラウザ)です。ただし開発者からすると、PuppeteerやPlaywrightなどのAPI経由でScraping Browserを操作するので、体験としてはヘッドレスブラウザと同じです。実際には、Scraping BrowserはBright Dataのインフラストラクチャ上でGUIブラウザとして開かれています。
スクレイピング用のヘッドフルブラウザとヘッドレスブラウザの違いは何ですか?
自動ブラウザを選択する際、開発者はヘッドレスブラウザを使うか、ヘッドフルブラウザ(GUI)を使うかを選択できます。ヘッドレスブラウザとは、GUIのないウェブブラウザのことです。ヘッドレスブラウザをプロキシと併用するとデータのスクレイピングが行えますが、ボット対策ソフトウェアによって簡単に検出されてしまうため、大規模なデータスクレイピングをするには向いていません。Scraping BrowserなどのGUIブラウザ(ヘッドフル)は、グラフィカルユーザーインターフェイスを使用します。これはGUIブラウザであれば、ボット対策ソフトウェアに検出される可能性が低くなるためです。
Pythonを使ったウェブスクレイピングをする場合、ヘッドレスChromeやSeleniumなどと比べて、Scraping Browserはどのような点で優れていますか?
Scraping Browserには、ウェブサイトのアクセスブロックを自動的に処理するのロック解除機能が搭載されています。Scraping BrowserはBright Dataのサーバー上で開かれ、自動ロック解除機能を実行できます。そのため、大規模なインフラストラクチャを用意せずに、ウェブデータのスクレイピングプロジェクトをスケールさせたい方にとって最適なソリューションとなっています。
Scraping BrowserはPuppeteerでのスクレイピングに対応していますか?
はい。Scraping BrowserはPuppeteerに完全に対応しています。
Scraping BrowserはPlaywrightでのスクレイピングに対応していますか?
はい。Scraping BrowserはPlaywrightに完全に対応しています。
Bright Dataには他にもプロキシ関連製品がありますが、どのような場合にそれらではなく、Scraping Browserを使用すべきなのでしょうか?
Scraping Browserはデータスクレイピング用に最適化された自動ブラウザで、Web Unlockerの自動ロック解除機能が取り入れられています。Web Unlockerはサイト上での操作が必要ないリクエストを処理しますが、開発者がウェブサイトを操作してデータを取得する必要がある場合はScraping Browserが必要です。また、ブラウザ操作やスケーリング、ウェブサイトのブロック解除処理の自動管理が必要なデータスクレイピングプロジェクトにも最適です。