beautifulsoup4

Last login: Mon Feb 2 13:50:13 on ttys000 ➜ ~ pip install beautifulsoup4 requests

zsh: command not found: pip ➜ ~ py3 install beautifulsoup4 requests zsh: command not found: py3 ➜ ~ python3 -m pip install beautifulsoup4 requests

error: externally-managed-environment

× This environment is externally managed ╰─> To install Python packages system-wide, try brew install xyz, where xyz is the package you are trying to install.

If you wish to install a Python library that isn't in Homebrew,
use a virtual environment:
python3 -m venv path/to/venv
source path/to/venv/bin/activate
python3 -m pip install xyz
If you wish to install a Python application that isn't in Homebrew,
it may be easiest to use 'pipx install xyz', which will manage a
virtual environment for you. You can install pipx with
brew install pipx
You may restore the old behavior of pip by passing
the '--break-system-packages' flag to pip, or by adding
'break-system-packages = true' to your pip.conf file. The latter
will permanently disable this error.
If you disable this error, we STRONGLY recommend that you additionally
pass the '--user' flag to pip, or set 'user = true' in your pip.conf
file. Failure to do this can result in a broken Homebrew installation.
Read more about this behavior here: <https://peps.python.org/pep-0668/>

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing —break-system-packages. hint: See PEP 668 for the detailed specification. ➜ ~ brew beautifulsoup4 requests
Example usage: brew search TEXT|/REGEX/ brew info [FORMULA|CASK…] brew install FORMULA|CASK… brew update brew upgrade [FORMULA|CASK…] brew uninstall FORMULA|CASK… brew list [FORMULA|CASK…]

Troubleshooting: brew config brew doctor brew install —verbose —debug FORMULA|CASK

Contributing: brew create URL [—no-fetch] brew edit [FORMULA|CASK…]

Further help: brew commands brew help [COMMAND] man brew https://docs.brew.sh

Error: Invalid usage: Unknown command: brew beautifulsoup4 ➜ ~ cd ~/Desktop ➜ Desktop python3 -m venv url-parser-env

➜ Desktop source url-parser-env/bin/activate

(url-parser-env) ➜ Desktop pip install beautifulsoup4 requests

Collecting beautifulsoup4 Using cached beautifulsoup4-4.14.3-py3-none-any.whl.metadata (3.8 kB) Collecting requests Using cached requests-2.32.5-py3-none-any.whl.metadata (4.9 kB) Collecting soupsieve>=1.6.1 (from beautifulsoup4) Using cached soupsieve-2.8.3-py3-none-any.whl.metadata (4.6 kB) Collecting typing-extensions>=4.0.0 (from beautifulsoup4) Using cached typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB) Collecting charset_normalizer<4,>=2 (from requests) Using cached charset_normalizer-3.4.4-cp314-cp314-macosx_10_13_universal2.whl.metadata (37 kB) Collecting idna<4,>=2.5 (from requests) Using cached idna-3.11-py3-none-any.whl.metadata (8.4 kB) Collecting urllib3<3,>=1.21.1 (from requests) Using cached urllib3-2.6.3-py3-none-any.whl.metadata (6.9 kB) Collecting certifi>=2017.4.17 (from requests) Using cached certifi-2026.1.4-py3-none-any.whl.metadata (2.5 kB) Using cached beautifulsoup4-4.14.3-py3-none-any.whl (107 kB) Using cached requests-2.32.5-py3-none-any.whl (64 kB) Using cached charset_normalizer-3.4.4-cp314-cp314-macosx_10_13_universal2.whl (207 kB) Using cached idna-3.11-py3-none-any.whl (71 kB) Using cached urllib3-2.6.3-py3-none-any.whl (131 kB) Using cached certifi-2026.1.4-py3-none-any.whl (152 kB) Using cached soupsieve-2.8.3-py3-none-any.whl (37 kB) Using cached typing_extensions-4.15.0-py3-none-any.whl (44 kB) Installing collected packages: urllib3, typing-extensions, soupsieve, idna, charset_normalizer, certifi, requests, beautifulsoup4 Successfully installed beautifulsoup4-4.14.3 certifi-2026.1.4 charset_normalizer-3.4.4 idna-3.11 requests-2.32.5 soupsieve-2.8.3 typing-extensions-4.15.0 urllib3-2.6.3

[notice] A new release of pip is available: 25.3 -> 26.0 [notice] To update, run: pip install —upgrade pip (url-parser-env) ➜ Desktop pip install —upgrade pip Requirement already satisfied: pip in ./url-parser-env/lib/python3.14/site-packages (25.3) Collecting pip Downloading pip-26.0-py3-none-any.whl.metadata (4.7 kB) Downloading pip-26.0-py3-none-any.whl (1.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 18.6 MB/s 0:00:00 Installing collected packages: pip Attempting uninstall: pip Found existing installation: pip 25.3 Uninstalling pip-25.3: Successfully uninstalled pip-25.3 Successfully installed pip-26.0 (url-parser-env) ➜ Desktop python3 parse_urls.py

Processed: url… Processed: https://www.google.com/search?client=safari&ie=UTF… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://stackoverflow.com/questions/5780809/real-l… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&ie=UTF… Processed: https://www.google.com/search?bih=741&biw=393&clie… Processed: https://www.google.com/search?bih=741&biw=393&clie… Processed: https://www.google.com/search?kgs=08dd108ca0ef1133… Processed: https://www.google.com/search?client=safari&ei=AXT… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&cs=1&h… Processed: https://www.google.com/search?client=safari&cs=1&h… Processed: https://www.google.com/search?bih=741&biw=393&clie… Processed: https://www.google.com/search?bih=741&biw=393&clie… Processed: https://www.google.com/search?bih=741&biw=393&clie… Processed: https://www.google.com/search?bih=741&biw=393&clie… Processed: https://www.google.com/search?client=safari&ei=q_z… Processed: https://www.google.com/search?client=safari&ei=q_z… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&cs=1&h… Processed: https://www.google.com/search?client=safari&cs=1&h… Processed: https://www.google.com/search?bih=658&biw=393&clie… Processed: https://www.google.com/search?bih=658&biw=393&clie… Processed: https://www.google.com/search?client=safari&ie=UTF… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&cs=1&c… Processed: https://www.google.com/search?client=safari&cs=1&h… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&ie=UTF… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?bih=741&biw=393&clie… Processed: https://www.google.com/search?bih=741&biw=393&clie… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?q=acceleorrapinism… Processed: https://www.google.com/search?bih=741&biw=393&clie… Processed: https://www.google.com/search?bih=741&biw=393&clie… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?bih=741&biw=393&clie… Processed: https://www.google.com/search?bih=900&biw=1440&cli… Processed: https://www.google.com/search?client=safari&ie=UTF… Processed: https://www.google.com/search?client=safari&ei=WMy… Processed: https://www.google.com/search?client=safari&ei=WMy… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&ie=UTF… Processed: https://www.google.com/search?client=safari&ie=UTF… Processed: https://www.google.com/search?q=Against+Empathy&st… Processed: https://www.google.com/search?client=safari&ie=UTF… Processed: https://www.google.com/search?bih=782&biw=1252&cli… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?bih=900&biw=1440&cli… Processed: https://www.google.com/search?bih=658&biw=393&clie… Processed: https://www.google.com/search?bih=658&biw=393&clie… Processed: https://www.google.com/search?bih=658&biw=393&clie… Processed: https://www.google.com/search?bih=658&biw=393&clie… Processed: https://www.google.com/search?bih=658&biw=393&clie… Processed: https://www.google.com/search?bih=658&biw=393&clie… Processed: https://www.google.com/search?bih=658&biw=393&clie… Processed: https://www.google.com/search?bih=782&biw=1252&cli… Processed: https://www.google.com/search?client=safari&ie=UTF… Processed: https://www.google.com/search?client=safari&ie=UTF… Processed: https://www.google.com/search?client=safari&ie=UTF… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?bih=740&biw=393&clie… Processed: https://www.google.com/search?bih=740&biw=393&clie… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?bih=658&biw=393&clie… Processed: https://www.google.com/search?bih=658&biw=393&clie… Processed: https://www.google.com/search?bih=741&biw=393&clie… Processed: https://www.google.com/search?bih=741&biw=393&clie… Processed: https://www.google.com/search?bih=741&biw=393&clie… Processed: https://www.google.com/search?bih=741&biw=393&clie… Processed: https://www.google.com/search?bih=741&biw=393&clie… Processed: https://www.google.com/search?bih=741&biw=393&clie… Processed: https://www.google.com/search?bih=741&biw=393&clie… Processed: https://www.google.com/search?bih=741&biw=393&clie… Processed: https://www.google.com/search?bih=741&biw=393&clie… Processed: https://www.google.com/search?bih=741&biw=393&clie… Processed: https://www.google.com/search?bih=741&biw=393&clie… Processed: https://www.google.com/search?bih=741&biw=393&clie… Processed: https://www.google.com/search?bih=741&biw=393&clie… Processed: https://www.google.com/search?bih=741&biw=393&clie… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?bih=635&biw=393&clie… Processed: https://www.google.com/search?bih=635&biw=393&clie… Processed: https://www.google.com/search?bih=658&biw=393&clie… Processed: https://www.google.com/search?client=safari&hl=en-… Processed: https://www.google.com/search?bih=658&biw=393&clie… ^CTraceback (most recent call last): File “/Users/eliana/Desktop/parse_urls.py”, line 20, in response = requests.get(url, timeout=10) File “/Users/eliana/Desktop/url-parser-env/lib/python3.14/site-packages/requests/api.py”, line 73, in get return request(“get”, url, params=params, **kwargs) File “/Users/eliana/Desktop/url-parser-env/lib/python3.14/site-packages/requests/api.py”, line 59, in request return session.request(method=method, url=url, **kwargs) ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File “/Users/eliana/Desktop/url-parser-env/lib/python3.14/site-packages/requests/sessions.py”, line 589, in request resp = self.send(prep, **send_kwargs) File “/Users/eliana/Desktop/url-parser-env/lib/python3.14/site-packages/requests/sessions.py”, line 746, in send r.content File “/Users/eliana/Desktop/url-parser-env/lib/python3.14/site-packages/requests/models.py”, line 902, in content self._content = b"".join(self.iter_content(CONTENT_CHUNK_SIZE)) or b"" ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File “/Users/eliana/Desktop/url-parser-env/lib/python3.14/site-packages/requests/models.py”, line 820, in generate yield from self.raw.stream(chunk_size, decode_content=True) File “/Users/eliana/Desktop/url-parser-env/lib/python3.14/site-packages/urllib3/response.py”, line 1250, in stream yield from self.read_chunked(amt, decode_content=decode_content) File “/Users/eliana/Desktop/url-parser-env/lib/python3.14/site-packages/urllib3/response.py”, line 1421, in read_chunked chunk = self._handle_chunk(amt) File “/Users/eliana/Desktop/url-parser-env/lib/python3.14/site-packages/urllib3/response.py”, line 1354, in _handle_chunk value = self._fp._safe_read(amt) # type: ignore[union-attr] File “/opt/homebrew/Cellar/python@3.14/3.14.2/Frameworks/Python.framework/Versions/3.14/lib/python3.14/http/client.py”, line 648, in _safe_read data = self.fp.read(cursize) File “/opt/homebrew/Cellar/python@3.14/3.14.2/Frameworks/Python.framework/Versions/3.14/lib/python3.14/socket.py”, line 725, in readinto return self._sock.recv_into(b) ~~~~~~~~~~~~~~~~~~~~^^^ File “/opt/homebrew/Cellar/python@3.14/3.14.2/Frameworks/Python.framework/Versions/3.14/lib/python3.14/ssl.py”, line 1304, in recv_into return self.read(nbytes, buffer) ~~~~~~~~~^^^^^^^^^^^^^^^^ File “/opt/homebrew/Cellar/python@3.14/3.14.2/Frameworks/Python.framework/Versions/3.14/lib/python3.14/ssl.py”, line 1138, in read return self._sslobj.read(len, buffer) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ KeyboardInterrupt

(url-parser-env) ➜ Desktop python3 parse_urls.py

Done! Parsed 3599 URLs. (url-parser-env) ➜ Desktop python3 parse_urls.py Done! Parsed 3599 URLs. (url-parser-env) ➜ Desktop