Scrapy vs Selenium: choosing a Python web scraping tool
Architecture, JavaScript rendering, speed, scaling and pipelines compared, with working code for each and a note on when scrapy-playwright is the better middle ground.
Read the comparison
Tested answers for everyday code.
Short, tested answers to the questions developers actually search for: how to split a string, why pandas cannot decode a CSV, what NoneType object is not subscriptable means, how to send a request with urllib3.
Every tutorial is written for this site, runs on current versions of the libraries it covers, and links to the official documentation for the details.

Architecture, JavaScript rendering, speed, scaling and pipelines compared, with working code for each and a note on when scrapy-playwright is the better middle ground.
Read the comparison
The six questions readers bring most often.
PythonSplit strings into lists in Python: str.split with and without sep, maxsplit, rsplit, splitlines, re.split for multiple delimiters, list(), csv and shlex.
PythonFix 'NoneType' object is not subscriptable: common causes (list.sort(), dict.get, re.match, JSON null), reading the traceback, and catching it with mypy.
DataWhy pd.read_csv raises UnicodeDecodeError: 'utf-8' codec can't decode byte, and how to fix it with the right encoding, BOM handling and UTF-8 conversion.
WebHow to send GET and POST requests with urllib3: PoolManager, query fields, JSON bodies, headers, timeouts, Retry, redirects, TLS, streaming and errors (v2).
PythonGet values from nested dictionaries in Python: chained indexing, safe .get() chains, a deep_get helper, lists in dicts, recursion, json_normalize and glom.
ToolsInstall Python packages in PyCharm via the Packages tool window, interpreter settings or pip; venv vs conda, requirements.txt and fixing import errors.
Every tutorial on the site, grouped the way you would look for it.
Core language: strings, lists, dictionaries, numbers and the errors you meet along the way.
Interpreters, packages, notebooks, IDEs and file conversion.
Back-end and front-end building blocks: CRUD, calendars, e-commerce settings, scraping.
NumPy, pandas and statistics: reading files, formatting numbers, describing distributions.