How to find HTML elements by class?

When web scraping, the most common way to navigate HTML data is to find elements by class name. For that, we can use CSS or XPath Selectors:

CSS selectors

  • Use the .class notation, which will find any nodes that contain full class name:
`.some-class`
will match:
`<a class="some-class"></a>`
`<a class="first some-class third"></a>`
  • Use the [class*="<partial>"] notation which will find any nodes that contain a given string:
`[class*="some-class"]`
will match:
`<a class="some-class"></a>`
`<a class="first some-class third"></a>`

Xpath selectors

Alternatively, XPath selectors can be used with similar functions:

  • //*[@class="link"] will find any element where the class is exactly equal to "link"
  • //*[contains(@class, "link")] will find any element where class contains the string "link"

Related Posts

Web Scraping With Ruby

Introduction to web scraping with Ruby. How to handle http connections, parse html files for data, best practices, tips and an example project.

Web Scraping With NodeJS and Javascript

In this article we'll take a look at scraping using Javascript through NodeJS. We'll cover common web scraping libraries, frequently encountered challenges and wrap everything up by scraping etsy.com

Parsing HTML with CSS Selectors

Introduction to using CSS selectors to parse web-scraped content. Best practices, available tools and common challenges by interactive examples.