Open In App

Extract CSS tag from a given HTML using Python

Last Updated : 24 Oct, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

Prerequisite: Implementing Web Scraping in Python with BeautifulSoup

In this article, we are going to see how to extract CSS from an HTML document or URL using python.

 Module Needed:

  • bs4: Beautiful Soup(bs4) is a Python library for pulling data out of HTML and XML files. This module does not come built-in with Python. To install this type the below command in the terminal.
pip install bs4
  • requests: Requests allows you to send HTTP/1.1 requests extremely easily. This module also does not comes built-in with Python. To install this type the below command in the terminal.
pip install requests

Approach:

  • Import module
  • Create an HTML document and specify the CSS tag into the code
  • Pass the HTML document into the Beautifulsoup() function
  • Now traverse the tag with the select() method.

Implementation:

Python3




# import module
from bs4 import BeautifulSoup
  
# Html doc
html_doc = """
<html>
<head>
<title>Geeks</title>
</head>
<body>
<h2>paragraphs</h2>
  
<p>Welcome geeks.</p>
  
  
<p>Hello geeks.</p>
  
<a class="example" href="www.geeksforgeeks.com" id="dsx_23">java</a>
<a class="example" href="www.geeksforgeeks.com/python"  id="sdcsdsdf">python</a>
</body>
</html>
"""
soup = BeautifulSoup(html_doc, "lxml")
  
# traverse CSS from soup
print("display by CSS class:")
print(soup.select(".example"))


Output:

display by CSS class:
[<a class="example" href="www.geeksforgeeks.com" id="dsx_23">java</a>, 
<a class="example" href="www.geeksforgeeks.com/python" id="sdcsdsdf">python</a>]

Now let’s get the CSS tag with URL:

Python3




# import module
from bs4 import BeautifulSoup
import requests
  
# link for extract html data
# Making a GET request 
      
def getdata(url):
    r=requests.get(url)
    return r.text
html_doc = getdata('https://www.geeksforgeeks.org/')
soup = BeautifulSoup(html_doc,"lxml")
  
# traverse CSS from soup
  
print("\nTags by CSS class:")
print(soup.select(".header-main__wrapper"))


Output:



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads