From de6cace4d291d99d6028f3ce8e887e0c84b774af Mon Sep 17 00:00:00 2001 From: Claude Code Date: Fri, 13 Feb 2026 12:10:08 +0000 Subject: [PATCH] docs: add client-side rendering admonition to beginner courses Adds an info admonition to the "Downloading HTML" lesson in both the Python and JavaScript beginner web scraping courses, explaining that some websites use client-side rendering and linking to the Puppeteer and Playwright course for handling those cases. Closes #1900 Co-Authored-By: Claude Opus 4.6 --- .../scraping_basics_javascript/04_downloading_html.md | 6 ++++++ .../scraping_basics_python/04_downloading_html.md | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/sources/academy/webscraping/scraping_basics_javascript/04_downloading_html.md b/sources/academy/webscraping/scraping_basics_javascript/04_downloading_html.md index 3956bfc1a6..e81a3c1d71 100644 --- a/sources/academy/webscraping/scraping_basics_javascript/04_downloading_html.md +++ b/sources/academy/webscraping/scraping_basics_javascript/04_downloading_html.md @@ -126,6 +126,12 @@ $ node index.js Running `await fetch(url)`, we made a HTTP request and received a response. It's not particularly useful yet, but it's a good start of our scraper. +:::info Client-side rendering + +Some websites use JavaScript to render content in the browser. When you download their HTML, you may get an almost empty page, because the data is loaded dynamically. The techniques in this course work for websites that include the data directly in the HTML (server-side rendering). If you encounter a website that loads data with JavaScript, you'll need a browser-based approach. See the [Puppeteer and Playwright course](/academy/puppeteer-playwright) for handling such websites. + +::: + :::tip Client and server, request and response HTTP is a network protocol powering the internet. Understanding it well is an important foundation for successful scraping, but for this course, it's enough to know just the basic flow and terminology: diff --git a/sources/academy/webscraping/scraping_basics_python/04_downloading_html.md b/sources/academy/webscraping/scraping_basics_python/04_downloading_html.md index 929bf9a6eb..264d92457c 100644 --- a/sources/academy/webscraping/scraping_basics_python/04_downloading_html.md +++ b/sources/academy/webscraping/scraping_basics_python/04_downloading_html.md @@ -83,6 +83,12 @@ $ python main.py Running `httpx.get(url)`, we made a HTTP request and received a response. It's not particularly useful yet, but it's a good start of our scraper. +:::info Client-side rendering + +Some websites use JavaScript to render content in the browser. When you download their HTML, you may get an almost empty page, because the data is loaded dynamically. The techniques in this course work for websites that include the data directly in the HTML (server-side rendering). If you encounter a website that loads data with JavaScript, you'll need a browser-based approach. See the [Puppeteer and Playwright course](/academy/puppeteer-playwright) for handling such websites. + +::: + :::tip Client and server, request and response HTTP is a network protocol powering the internet. Understanding it well is an important foundation for successful scraping, but for this course, it's enough to know just the basic flow and terminology: