You can find HTML elements by class with
DOM Crawler
by making use of the
filter
method
with a [CSS selector](
CSS selectors
) that includes the class name. Here is some sample code that uses
Guzzle
to load
ScrapingBee's homepage
and then uses the filter
method to extract the tag with the class of mb-33
:
use Symfony\Component\DomCrawler\Crawler;
use GuzzleHttp\Client;
// Create a client to make the HTTP request
$client = new \GuzzleHttp\Client();
$response = $client->get('https://scrapingbee.com/');
$html = (string) $response->getBody();
// Load the HTML document
$crawler = new Crawler($html);
// Find all elements with the class "mb-33"
$h1Tag = $crawler->filter('.mb-33');
// Loop over the elements and print their text content
foreach ($h1Tag as $element) {
echo $element->textContent . PHP_EOL;
}
// Output:
// Tired of getting blocked while scraping the web?
// Try ScrapingBee for Free
Note: This example uses Guzzle so you may have to install it.