diff --git a/docs/fetching/dynamic.md b/docs/fetching/dynamic.md index 1054d54..fbdb387 100644 --- a/docs/fetching/dynamic.md +++ b/docs/fetching/dynamic.md @@ -302,39 +302,3 @@ Use DynamicFetcher when: - Want flexible stealth options If you want more stealth and control without much config, check out the [StealthyFetcher](stealthy.md). - -## External Cloud Browser Version - -If you have issues with the browser installation, such as resource management, we recommend you try the Cloud Browser from [Scrapeless](https://www.scrapeless.com/en/product/scraping-browser) for free! - -The usage is straightforward: create an account and [get your API key](https://docs.scrapeless.com/en/scraping-browser/quickstart/getting-started/), then pass it to the `DynamicSession` like this: - -```python -from urllib.parse import urlencode - -from scrapling.fetchers import DynamicSession - -# Configure your browser session -config = { - "token": "YOUR_API_KEY", - "sessionName": "scrapling-session", - "sessionTTL": "300", # 5 minutes - "proxyCountry": "ANY", - "sessionRecording": "false", -} - -# Build WebSocket URL -ws_endpoint = f"wss://browser.scrapeless.com/api/v2/browser?{urlencode(config)}" -print('Connecting to Scrapeless...') - -with DynamicSession(cdp_url=ws_endpoint, disable_resources=True) as s: - print("Connected!") - page = s.fetch("https://httpbin.org/headers", network_idle=True) - print(f"Page loaded, content length: {len(page.body)}") - print(page.json()) -``` -The `DynamicSession` class instance will work as usual, so no further explanation is needed. - -However, the Scrapeless Cloud Browser can be configured with proxy options, like the proxy country in the config above, [custom fingerprint](https://docs.scrapeless.com/en/scraping-browser/features/advanced-privacy-anti-detection/custom-fingerprint/) configuration, [captcha solving](https://docs.scrapeless.com/en/scraping-browser/features/advanced-privacy-anti-detection/supported-captchas/), and more. - -Check out the [Scrapeless's browser documentation](https://docs.scrapeless.com/en/scraping-browser/quickstart/introduction/) for more details. \ No newline at end of file diff --git a/docs/tutorials/external.md b/docs/tutorials/external.md new file mode 100644 index 0000000..ba61093 --- /dev/null +++ b/docs/tutorials/external.md @@ -0,0 +1,35 @@ +## External Cloud Browser Version + +If you have issues with the browser installation, such as resource management, we recommend you try the Cloud Browser from [Scrapeless](https://www.scrapeless.com/en/product/scraping-browser) for free! + +The usage is straightforward: create an account and [get your API key](https://docs.scrapeless.com/en/scraping-browser/quickstart/getting-started/), then pass it to the `DynamicSession` like this: + +```python +from urllib.parse import urlencode + +from scrapling.fetchers import DynamicSession + +# Configure your browser session +config = { + "token": "YOUR_API_KEY", + "sessionName": "scrapling-session", + "sessionTTL": "300", # 5 minutes + "proxyCountry": "ANY", + "sessionRecording": "false", +} + +# Build WebSocket URL +ws_endpoint = f"wss://browser.scrapeless.com/api/v2/browser?{urlencode(config)}" +print('Connecting to Scrapeless...') + +with DynamicSession(cdp_url=ws_endpoint, disable_resources=True) as s: + print("Connected!") + page = s.fetch("https://httpbin.org/headers", network_idle=True) + print(f"Page loaded, content length: {len(page.body)}") + print(page.json()) +``` +The `DynamicSession` class instance will work as usual, so no further explanation is needed. + +However, the Scrapeless Cloud Browser can be configured with proxy options, like the proxy country in the config above, [custom fingerprint](https://docs.scrapeless.com/en/scraping-browser/features/advanced-privacy-anti-detection/custom-fingerprint/) configuration, [captcha solving](https://docs.scrapeless.com/en/scraping-browser/features/advanced-privacy-anti-detection/supported-captchas/), and more. + +Check out the [Scrapeless's browser documentation](https://docs.scrapeless.com/en/scraping-browser/quickstart/introduction/) for more details. \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index d455c4a..6a16483 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -83,6 +83,7 @@ nav: - Tutorials: - A Free Alternative to AI for Robust Web Scraping: tutorials/replacing_ai.md - Migrating from BeautifulSoup: tutorials/migrating_from_beautifulsoup.md + - Using Scrapeless browser: tutorials/external.md # - Migrating from AutoScraper: tutorials/migrating_from_autoscraper.md - Development: - API Reference: