So far in all the Jupyter notebooks on this website, we pre-installed all the packages you need to run all the notebooks. But if you're working in a separate Jupyter notebook, maybe on your own computer and not in this website, you might need to install some of the packages yourself. If you're interested, later in this course, you see how to set up Python to run on your own computer. And in this lesson, you see what the process is like of downloading and installing packages. You go through the installation process for a package for interpreting HTML web pages. If your code downloads a web page off the internet, you see that the raw web page might have a lot of HTML tags that indicate what paragraphs, sudden font sizes, and so on. You learn how to download and install a package called BS4 for extracting the text you want from this massive HTML. In addition, you also learn how to install a package called AI set up, which is provided by DeepLearning.AI, which contains all the key helper functions you've used throughout this and previous courses so that if you want, you can install AI set up and then find functions yourself, like print LLM response in a different Jupyter notebook than the ones on this website. Let's go take a look at how to install Python packages. There are many ways to install Python packages. Here, I'd like to go through how you could do it directly in a Jupyter notebook. This is a package that we want to use in this lesson called BS4 for interpreting HTML web pages. So, to install the BS4 package, I'm going to use a command exclamation mark. And often we'll say bang instead of exclamation mark as fast as say bang. So, bang pip install. And then the package name, which in this case is BS4. And when I run this, my computer will go online and look for the BS4 package and then download it and looks like it's successfully installed BS4 version 0.0.2. BS4 by the way, it stands for Beautifulsoup version four and Beautifulsoup is an allusion to an Alice in Wonderland poem. You can search online or also chatbot. Ever curious about where this name comes from? But this is a Python package for interpreting HTML web pages. BS4 is a relatively small package, so this installed in a few seconds. Some packages may take minutes to install. After installing this package, you can then import the package or any function it contains. So I'm going to say from the package BS4 that we just installed, let's import the Beautifulsoup function. So here BS4 is the package name and beautifulsoup is the function name. And then it turns out for the examples we want to use today we need to import a few other things. Import requests which is going to be used for downloading web pages, then helper functions. And then from IPython display something here to print HTML web pages. To scrape data from the web, first you need to get a web pages contents. So here's a URL. This is actually a letter that I have written in a weekly newsletter called The Batch, and that's a URL to it. And to fetch this URL I'm going to use requests to say response equals request start get URL. Remember we import requests. So here we need to use the dot notation requests dot get URL. We had done from request import get. Then you could just write get URL. But this is the more common way that programmers is use the request package. And then let's print out the response. Let's take a look at what the web page actually looks like. So this snippet of code will show the web page at this URL inside a Jupyter notebook. Technically in something called an iframe. But this shows that letter that I had written that talks about why I think the world would be better off with more intelligence. And if you want, feel free to load this URL in your own web browser and you see the same web page as well. Now, this web page has many elements in it. There's a menu bar. There is lots of different fonts as a picture for the logo. Another picture down here. It has a bunch of links to other web pages. So there's quite a lot of different things here. But if you want to use your large language model to maybe summarize this letter for you, you might want to extract just the main text of this. So, beautifulsoup you can take the response we had gotten up on top here. And pull out just the text of the web page. So don't worry too much about the code. If you need to write code yourself like this, you can actually ask AI chatbot to write the code for you. But I'm going to use Beautifulsoup and get the text from the response and parse meaning to interpret the HTML, and then find all the text as in paragraphs in the HTML page, and then combine everything into one giant text and then print out the result. And if I do this, you end up with the text from the letter in case the web page has changed. By the time you run this, you end up with a slightly different result when you run it yourself. But hopefully, you can see how you can take a piece of text like this and parses to a large language model to have it generate bulleted points for you or something. Because combine text that were printing out here is just a string that you can then insert into a prompt for large language model. And in fact, if you want to do exactly that, here's a prompt and extract the key bullet points from the text that's a combined text, and then just print LLM response. And so it pulls out the most important points from the letter. The main goal of my showing you this wasn't to show you beautifulsoup specifically, although if you want to understand what this code exactly is doing, do ask the LLM chatbot. What the key takeaway I hope you remember from this is, bang pip install. Then the package name and after you've install the package you can then import functions to the package and start using it right away in your own code. Let me just show you one more example of installing another package. We're going to run bang pip install, AI set up. AI set up is a package made available by the Deeplearning.AI team, and it contains the key helper functions that you've seen in this and the previous courses, and it configures your computer to know what are the key helper functions you've been seeing, so you can use it in your own code. So for example, you can then run from AI set up import get LLM response. And now you can ask questions like why is the program language called Python. And you know, get back to answer that I think it's kind of fun answer. Say's it was inspired by a pretty funny TV show called Monty Python's Flying Circus. But so the takeaway from this is with bang pip install AI set up, this lets you then import functions right away and start using them in your own code. This particular example with AI setup works on this website. To actually use your setup on your own computer, has one more step that we'll talk about then in a later lesson. It turns out that get LLM response is using something called an API or application programming interface to go on the internet to use one of the large language model provider's websites, actually OpenAI in this case. They get a response to this question. It turns out APIs are a very powerful way for you to use code to access someone else's computer with permission, and get answers from someone else's computer. In the next video, we'll dive into what are APIs and how to use them in your own code. Let's go on to the next video to learn about APIs and why they can help you quickly make your programs much more powerful.