{"podcast":{"title":"CyberCode Academy","slug":"cybercode-academy-7578615","podcast_index_feed_id":7578615,"rss_url":"https://www.spreaker.com/show/6790974/episodes/feed","website_url":"https://www.spreaker.com/podcast/cybercode-academy--6790974","image_url":"https://d3wo5wojvuv7l.cloudfront.net/t_rss_itunes_square_1400/images.spreaker.com/original/5f51ccc7b22fdba95149ffa6346f1533.jpg","author":"CyberCode Academy","episode_count":311,"summary":"Welcome to CyberCode Academy — your audio classroom for Programming and Cybersecurity. 🎧 Each course is divided into a series of short, focused episodes that take you from beginner to advanced level — one lesson at a time. From Python and web development to ethical hacking and digital defense, our content transforms complex concepts into simple, engaging audio learning. Study anywhere, anytime — and level up your skills with CyberCode Academy. 🚀 Learn. Code. Secure. You can listen and download our episodes for free on more than 10 different platforms: https://linktr.ee/cybercode_academy","last_synced_at":"2026-07-27T12:18:25.188608+00:00","page_url":"https://stenobird.com/podcast/cybercode-academy-7578615"},"episode":{"title":"Course 40 - Web Scraping with Python | Episode 5: From Environment Setup to Pandas DataFrames","slug":"course-40-web-scraping-with-python-episode-5-from-environment-setup-to-pandas-dataframes","published_at":"2026-07-15T06:00:02+00:00","page_url":"https://stenobird.com/podcast/cybercode-academy-7578615/course-40-web-scraping-with-python-episode-5-from-environment-setup-to-pandas-dataframes","show_page_url":"https://stenobird.com/podcast/cybercode-academy-7578615","url":"https://www.spreaker.com/episode/course-40-web-scraping-with-python-episode-5-from-environment-setup-to-pandas-dataframes--72756755","audio_url":"https://dts.podtrac.com/redirect.mp3/api.spreaker.com/download/episode/72756755/the_professional_python_web_scraping_heist.mp3","summary":"In this lesson, you’ll learn about: setting up a professional Python scraping environment, extracting web data step-by-step, and transforming raw HTML into structured datasets1. Setting Up Your Development Environment🔹 Python Version ManagementUse pyenv Install and switch between Python versions بسهولة Avoid compatibility issues across projects 🔹 Virtual Environments &amp; DependenciesUse pipenv Create isolated environments Manage dependencies like: requests BeautifulSoup4 pandas 👉 Key Insight Clean environment = fewer bugs + reproducible projects🔹 Interactive DevelopmentUse JupyterLab Run code in cells step-by-step Inspect outputs instantly Explore files and HTML visually 2. Downloading &amp; Inspecting Web Content🔹 Fetching HTML PagesUse Requestsimport requests url = \"https://example.com\" response = requests.get(url) html = response.text 🔹 Why Save Locally? Work offline Avoid repeated requests Debug faster 🔹 Inspecting the PageUse: JupyterLab HTML viewer Browser DevTools (Elements tab) 👉 Goal: Locate the exact HTML structure of your target data (e.g., tables, divs)3. Extracting Data with BeautifulSoup🔹 Parsing HTMLUse BeautifulSoupfrom bs4 import BeautifulSoup soup = BeautifulSoup(html, \"html.parser\") 🔹 Using CSS Selectorstable = soup.select(\"table.wikitable\")[0] rows = table.select(\"tr\") 👉 This allows precise targeting of elements4. Cleaning the Data🔹 Fix Column Names Remove whitespace Replace spaces with _ clean_header = header.text.strip().replace(\" \", \"_\") 🔹 Remove Unwanted Patterns (Regex)Use Regular Expressionimport re clean_text = re.sub(r\"\\[.*?\\]\", \"\", raw_text) 👉 Removes things like: [1], [citation needed] 5. Structuring the Data🔹 Build a “List of Lists”data = [] for row in rows: cols = [col.text.strip() for col in row.select(\"td\")] data.append(cols) 👉 Struc…","meta_description":"In this lesson, you’ll learn about: setting up a professional Python scraping environment, extracting web data step-by-step, and transforming raw HTML int…","key_points":[],"chapters":[],"topics":[],"duration_seconds":1410,"processing_state":"not_requested","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/cybercode-academy-7578615/episodes/course-40-web-scraping-with-python-episode-5-from-environment-setup-to-pandas-dataframes/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/cybercode-academy-7578615/course-40-web-scraping-with-python-episode-5-from-environment-setup-to-pandas-dataframes.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]}}