Get HTML With HTTP Requests in Python

HTTP or Hypertext Transfer Protocol is the foundation of the internet or the World Wide Web (WWW). Essentially, it is an application-layer protocol meant for transferring data from web servers to web browsers such as Chrome, Firefox, and Brave. HTTP requests are sent to unique web addresses or URLs to fetch required resources and hypermedia documents such as HTML (Hypertext Markup Language). A URL or Uniform Resource Locator is a unique web address used to locate content over the internet. The content targetted can be HTML files and text files, images, audios, videos, zip files, and executables.

In this guide, we will learn the ways to fetch HTML at a URL with the help of HTTP requests using Python.

Send HTTP Requests With requests Module in Python

The requests is a Python package that allows us to send HTTP requests over the internet. We can use this module to send HTTP requests to a URL and fetch HTML and other essential details. The requests module has a get() method that sends a GET request to the specified URL and returns a requests.Response type object. We will use this method and the returned response to get HTML content. Refer to the following code for the Python program.

import requests

r = requests.get('https://www.google.com')
print("Status Code:", r.status_code)
print("URL:", r.url)
print("HTML:\n", r.text)

Output:

Status Code: 200
URL: https://www.google.com/
HTML:
...

In the above code, we first made a GET request to https://www.google.com, and the response returned was stored in the variable r. The text attribute in the response returns the HTML content. The output does not show the HTML content, but ... because it was too big for better readability of the article.

Write for us
DelftStack articles are written by software geeks like you. If you also would like to contribute to DelftStack by writing paid articles, you can check the write for us page.