To "parse" something, in the computing world, means to analyze or divide up something, often a string or text, into logical components.

As humans, we interact with pages on a website, which are often presented to us with pretty graphics and nicely formatted text. To our Arduino, all these graphics mean very little if we just need to grab a piece of text to analyze it. To accomplish this, we often need to "parse" the received HTML in order to strip away the formatting tags and unneeded text to get the piece we need.

For example, in the section project, we'll request the local, current temperature from a website, which will return lots of text. We'll have our Arduino parse that text to get just the piece we need, such as "27 C" for the current temperature.

If you navigate to http://adafruit.com/testwifi/index.html, you will see some simple text to show that your WiFi module is working (Adafruit set up this page to test the CC3000, which is WiFi module that came out before the ESP8266).

Your mission, should you choose to accept it, is to create an Arduino program (or ESP8266 program) that fetches the page from http://adafruit.com/testwifi/index.html and prints just the phrase "it's working" from the page to the Serial Terminal.

Yes, you could just use Serial.println("it's working"); , but that's not the point of the exercise. You'll need to figure out how to parse the text from an HTTP GET response to get the information you need. This will be very helpful in the upcoming project.

Hint: You might find the find()  and readStringUntil()  functions in the Serial object useful in this exercise.

Note that the Tinkercad simulator, at the time this course was posted, still has some bugs in the beta version of the ESP8266 module. Sometimes, it won't capture the whole incoming GET response, so you'll miss parts of the message. For example, I might get this as a response when trying to parse "its working":

Refreshing the page and running the simulator again seems to help sometimes.