Let's start crawling real web pages! For these remaining steps, you'll need a website you can crawl. Preferably a small one with less than 100 pages so the crawling doesn't take all day. You can use my personal blog, https://wagslane.dev if you don't have another in mind.
func getHTML(rawURL string) (string, error)
For now, your function should:
You may find io.ReadAll helpful in reading the response.
I'd argue that it's not necessary to create unit tests for a function like getHTML. It's primarily just side effects (internet access), making it not a pure function like normalizeURL and getURLsFromHTML. Most of the "logic" in getHTML is just a couple of standard library function calls: and there's not much reason to test the standard library.
Run and submit the CLI tests.
Notice that they're grabbing some HTML from the main page of Wikipedia.