### Scrapybara Client Initialization and Browser Start Example Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Demonstrates how to initialize the Scrapybara client and start a browser session using Python. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.browser.start( instance_id="instance_id", ) ``` -------------------------------- ### Install Scrapybara Source: https://github.com/scrapybara/scrapybara-python/blob/main/README.md Installs the Scrapybara Python library using pip. ```sh pip install scrapybara ``` -------------------------------- ### Scrapybara Synchronous Client Usage Source: https://github.com/scrapybara/scrapybara-python/blob/main/README.md Demonstrates how to instantiate and use the synchronous Scrapybara client to start an Ubuntu session. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.start_ubuntu() ``` -------------------------------- ### Scrapybara Client Initialization and Start Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Initializes the Scrapybara client with an API key and starts a new browser instance. This is the entry point for most operations. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.start() ``` -------------------------------- ### Scrapybara Client Initialization and Get CDP URL Example Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Demonstrates how to initialize the Scrapybara client and retrieve the CDP URL for a browser instance using Python. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.browser.get_cdp_url( instance_id="instance_id", ) ``` -------------------------------- ### Scrapybara Client Initialization and Get Current URL Example Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Demonstrates how to initialize the Scrapybara client and get the current URL of a browser instance using Python. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.browser.get_current_url( instance_id="instance_id", ) ``` -------------------------------- ### Scrapybara Client Initialization and Instance Resume Example Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Demonstrates how to initialize the Scrapybara client and resume a browser instance using Python. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.instance.resume( instance_id="instance_id", ) ``` -------------------------------- ### Scrapybara Client Initialization and Instance Pause Example Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Demonstrates how to initialize the Scrapybara client and pause a browser instance using Python. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.instance.pause( instance_id="instance_id", ) ``` -------------------------------- ### Scrapybara Asynchronous Client Usage Source: https://github.com/scrapybara/scrapybara-python/blob/main/README.md Shows how to instantiate and use the asynchronous Scrapybara client for non-blocking API calls, specifically starting an Ubuntu session. ```python import asyncio from scrapybara import AsyncScrapybara client = AsyncScrapybara( api_key="YOUR_API_KEY", ) async def main() -> None: await client.start_ubuntu() asyncio.run(main()) ``` -------------------------------- ### Scrapybara Client Initialization and Save Auth Example Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Demonstrates how to initialize the Scrapybara client and save the authentication state for a browser instance using Python. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.browser.save_auth( instance_id="instance_id", ) ``` -------------------------------- ### Scrapybara Client Initialization and Modify Auth Example Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Demonstrates how to initialize the Scrapybara client and modify an authentication state for a browser instance using Python. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.browser.modify_auth( instance_id="instance_id", auth_state_id="auth_state_id", ) ``` -------------------------------- ### Get All Browser Instances Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Fetches a list of all active browser instances associated with the API key. This method does not require any parameters. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.get_instances() ``` -------------------------------- ### Scrapybara Notebook Get Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Retrieves a specific notebook by its ID from a given instance. Requires instance ID and notebook ID. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.notebook.get( instance_id="instance_id", notebook_id="notebook_id", ) ``` -------------------------------- ### Scrapybara Browser Control API Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md API endpoints for controlling browser sessions within Scrapybara, including starting a browser, retrieving CDP URLs, current URLs, and managing authentication states. ```APIDOC client.browser.start(instance_id: str, request_options: typing.Optional[RequestOptions] = None) Starts a new browser session for a given instance. Parameters: instance_id: The ID of the instance to start the browser on. request_options: Optional request-specific configuration. client.browser.get_cdp_url(instance_id: str, request_options: typing.Optional[RequestOptions] = None) Retrieves the Chrome DevTools Protocol (CDP) URL for a browser instance. Parameters: instance_id: The ID of the instance. request_options: Optional request-specific configuration. client.browser.get_current_url(instance_id: str, request_options: typing.Optional[RequestOptions] = None) Retrieves the current URL of the browser instance. Parameters: instance_id: The ID of the instance. request_options: Optional request-specific configuration. client.browser.save_auth(instance_id: str, name: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None) Saves the current authentication state for a browser instance. Parameters: instance_id: The ID of the instance. name: An optional name for the authentication state. request_options: Optional request-specific configuration. client.browser.modify_auth(instance_id: str, auth_state_id: str, name: typing.Optional[str] = None, request_options: typing.Optional[RequestOptions] = None) Modifies an existing authentication state for a browser instance. Parameters: instance_id: The ID of the instance. auth_state_id: The ID of the authentication state to modify. name: An optional new name for the authentication state. request_options: Optional request-specific configuration. client.browser.authenticate(instance_id: str, auth_state_id: str, request_options: typing.Optional[RequestOptions] = None) Applies a saved authentication state to a browser instance. Parameters: instance_id: The ID of the instance. auth_state_id: The ID of the authentication state to apply. request_options: Optional request-specific configuration. ``` -------------------------------- ### Get Specific Browser Instance Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Retrieves details for a specific browser instance using its instance ID. Requires the instance_id as a parameter. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.get( instance_id="instance_id", ) ``` -------------------------------- ### Get Browser Instance Stream URL Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Obtains the streaming URL for a specific browser instance, enabling real-time video feeds. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.instance.get_stream_url( instance_id="instance_id", ) ``` -------------------------------- ### Scrapybara Environment Variable Management Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md This section covers managing environment variables for a Scrapybara instance, including getting, setting, and deleting variables. It requires an instance ID and optionally accepts request options. ```APIDOC Scrapybara: env.get(instance_id: str, request_options: typing.Optional[RequestOptions] = None) Retrieves environment variables for a given instance. Parameters: instance_id: The ID of the Scrapybara instance. request_options: Optional request-specific configuration. env.set(instance_id: str, variables: typing.Dict[str, str], request_options: typing.Optional[RequestOptions] = None) Sets environment variables for a given instance. Parameters: instance_id: The ID of the Scrapybara instance. variables: A dictionary of key-value pairs for environment variables. request_options: Optional request-specific configuration. env.delete(instance_id: str, keys: typing.Sequence[str], request_options: typing.Optional[RequestOptions] = None) Deletes environment variables from a given instance. Parameters: instance_id: The ID of the Scrapybara instance. keys: A sequence of keys for the environment variables to delete. request_options: Optional request-specific configuration. ``` -------------------------------- ### Get Authentication States Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Retrieves the authentication states for the current session. This method is useful for checking login status or session validity. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.get_auth_states() ``` -------------------------------- ### Scrapybara Initialization and Notebook Cell Addition Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Demonstrates how to initialize the Scrapybara client and add a code cell to a notebook. Requires an API key for client initialization and instance/notebook IDs for adding the cell. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.notebook.add_cell( instance_id="instance_id", notebook_id="notebook_id", type="code", content="content", ) ``` -------------------------------- ### Scrapybara Notebook Execution Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Illustrates how to execute an entire Scrapybara notebook. Requires an API key, instance ID, and notebook ID. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.notebook.execute( instance_id="instance_id", notebook_id="notebook_id", ) ``` -------------------------------- ### Scrapybara Notebook Create Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Creates a new notebook within a specified instance. Requires instance ID and a name for the notebook. Optionally accepts a kernel name. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.notebook.create( instance_id="instance_id", name="name", ) ``` -------------------------------- ### Scrapybara Notebook List Kernels Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Lists available kernels for a given instance. Requires the instance ID. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.notebook.list_kernels( instance_id="instance_id", ) ``` -------------------------------- ### Scrapybara Notebook Operations Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md This section details how to interact with Scrapybara notebooks, including adding cells, executing individual cells, and executing the entire notebook. It requires an API key for initialization and specific IDs for instances and notebooks. ```APIDOC Scrapybara: __init__(api_key: str) Initializes the Scrapybara client with an API key. notebook.add_cell(instance_id: str, notebook_id: str, type: str, content: str, metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None, request_options: typing.Optional[RequestOptions] = None) Adds a new cell to a specified notebook. Parameters: instance_id: The ID of the Scrapybara instance. notebook_id: The ID of the notebook to add the cell to. type: The type of the cell (e.g., 'code'). content: The content of the cell. metadata: Optional metadata for the cell. request_options: Optional request-specific configuration. notebook.execute_cell(instance_id: str, notebook_id: str, cell_id: str, timeout: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None) Executes a specific cell within a notebook. Parameters: instance_id: The ID of the Scrapybara instance. notebook_id: The ID of the notebook containing the cell. cell_id: The ID of the cell to execute. timeout: Optional execution timeout in seconds. request_options: Optional request-specific configuration. notebook.execute(instance_id: str, notebook_id: str, timeout: typing.Optional[int] = None, request_options: typing.Optional[RequestOptions] = None) Executes all cells in a specified notebook. Parameters: instance_id: The ID of the Scrapybara instance. notebook_id: The ID of the notebook to execute. timeout: Optional execution timeout in seconds. request_options: Optional request-specific configuration. ``` -------------------------------- ### Scrapybara Custom HTTP Client Source: https://github.com/scrapybara/scrapybara-python/blob/main/README.md Explains how to override the default httpx client to customize it for use cases like proxies and transports. ```python import httpx from scrapybara import Scrapybara client = Scrapybara( ..., httpx_client=httpx.Client( proxies="http://my.test.proxy.example.com", transport=httpx.HTTPTransport(local_address="0.0.0.0"), ), ) ``` -------------------------------- ### Scrapybara Instance Upload Method Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Enables uploading files to a Scrapybara instance. Requires the instance ID and the path to the file to be uploaded. The `file` parameter accepts a `core.File` object for more detailed file handling. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.instance.upload( instance_id="instance_id", path="path", ) ``` -------------------------------- ### Scrapybara Environment Variable Setting Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Shows how to set environment variables for a Scrapybara instance. Requires an API key, instance ID, and a dictionary of variables to set. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.env.set( instance_id="instance_id", variables={"key": "value"}, ) ``` -------------------------------- ### Scrapybara Browser Authentication Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Authenticates a browser instance using provided instance and authentication state IDs. Requires an API key for Scrapybara client initialization. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.browser.authenticate( instance_id="instance_id", auth_state_id="auth_state_id", ) ``` -------------------------------- ### Scrapybara Instance File Operations Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Provides a comprehensive set of file operations for a Scrapybara instance, including reading, writing, copying, and replacing content. Supports various modes, encodings, and recursive operations. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.instance.file( instance_id="instance_id", command="command", ) ``` -------------------------------- ### Scrapybara Environment Variable Retrieval Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Demonstrates how to retrieve environment variables for a Scrapybara instance. Requires an API key and the instance ID. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.env.get( instance_id="instance_id", ) ``` -------------------------------- ### Scrapybara Exception Handling Source: https://github.com/scrapybara/scrapybara-python/blob/main/README.md Illustrates how to handle API errors using the ApiError exception class when the API returns a non-success status code. ```python from scrapybara.core.api_error import ApiError try: client.start_ubuntu() except ApiError as e: print(e.status_code) print(e.body) ``` -------------------------------- ### Scrapybara Timeout Configuration Source: https://github.com/scrapybara/scrapybara-python/blob/main/README.md Shows how to configure the default timeout for the client and override it for specific methods using `timeout` and `timeout_in_seconds` options. ```python from scrapybara import Scrapybara client = Scrapybara( ..., timeout=20.0, ) # Override timeout for a specific method client.start_ubuntu(..., request_options={ "timeout_in_seconds": 1 }) ``` -------------------------------- ### Scrapybara Instance Management API Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md API endpoints for managing Scrapybara browser instances, including pausing and resuming operations. These methods require an instance_id and optionally accept request_options for configuration. ```APIDOC client.instance.pause(instance_id: str, request_options: typing.Optional[RequestOptions] = None) Pauses a Scrapybara browser instance. Parameters: instance_id: The ID of the instance to pause. request_options: Optional request-specific configuration. client.instance.resume(instance_id: str, timeout_hours: typing.Optional[float] = None, request_options: typing.Optional[RequestOptions] = None) Resumes a paused Scrapybara browser instance. Parameters: instance_id: The ID of the instance to resume. timeout_hours: Optional timeout in hours for the resume operation. request_options: Optional request-specific configuration. ``` -------------------------------- ### Scrapybara Notebook Cell Execution Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Shows how to execute a specific cell within a Scrapybara notebook. Requires an API key, instance ID, notebook ID, and the specific cell ID to execute. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.notebook.execute_cell( instance_id="instance_id", notebook_id="notebook_id", cell_id="cell_id", ) ``` -------------------------------- ### Execute Bash Command in Browser Instance Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Executes a bash command within the context of a specified browser instance. Requires the instance_id. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.instance.bash( instance_id="instance_id", ) ``` -------------------------------- ### Scrapybara Automatic Retries Configuration Source: https://github.com/scrapybara/scrapybara-python/blob/main/README.md Demonstrates how to configure automatic retries with exponential backoff for requests using the `max_retries` option. ```python client.start_ubuntu(..., request_options={ "max_retries": 1 }) ``` -------------------------------- ### Control Browser Instance (e.g., Move Mouse) Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Sends commands to control browser instance actions, such as moving the mouse. Requires instance_id and a specific request object. ```python from scrapybara import Scrapybara from scrapybara.instance import Request_MoveMouse client = Scrapybara( api_key="YOUR_API_KEY", ) client.instance.computer( instance_id="instance_id", request=Request_MoveMouse( coordinates=[1], ), ) ``` -------------------------------- ### Take Screenshot of Browser Instance Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Captures a screenshot of a specified browser instance. Requires the instance_id of the target instance. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.instance.screenshot( instance_id="instance_id", ) ``` -------------------------------- ### Scrapybara Code Execution Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Executes code within a specified instance. Requires instance ID and the code to execute. Optionally accepts kernel name and timeout. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.code.execute( instance_id="instance_id", code="code", ) ``` -------------------------------- ### Scrapybara Instance Edit Method Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Allows editing of files within a Scrapybara instance. It supports various editing operations like replacing text, inserting lines, and modifying ranges. Dependencies include the Scrapybara library and specific command types. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.instance.edit( instance_id="instance_id", command="view", path="path", ) ``` -------------------------------- ### Scrapybara Browser Stop Instance Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Stops a browser instance identified by its instance ID. Requires an API key for Scrapybara client initialization. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.browser.stop( instance_id="instance_id", ) ``` -------------------------------- ### Scrapybara Notebook Delete Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Deletes a specific notebook by its ID from a given instance. Requires instance ID and notebook ID. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.notebook.delete( instance_id="instance_id", notebook_id="notebook_id", ) ``` -------------------------------- ### Scrapybara Environment Variable Deletion Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Illustrates how to delete environment variables from a Scrapybara instance. Requires an API key, instance ID, and a sequence of keys to delete. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.env.delete( instance_id="instance_id", keys=["keys"], ) ``` -------------------------------- ### Scrapybara Instance Stop Method Source: https://github.com/scrapybara/scrapybara-python/blob/main/reference.md Stops a running Scrapybara instance. Requires the instance ID of the instance to be stopped. ```python from scrapybara import Scrapybara client = Scrapybara( api_key="YOUR_API_KEY", ) client.instance.stop( instance_id="instance_id", ) ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.