Axios vs Fetch: Which HTTP Client to Choose in JS?
Explore the differences between Fetch and Axios - two essential HTTP clients in JavaScript - and discover which is best suited for your project.
Using NodeJS' Cheerio we can find any HTML element by partial or exact text value using the :contains()
pseudo selector:
const cheerio = require('cheerio');
const $ = cheerio.load(`
<a>ignore</a>
<a href="http://example.com">link</a>
<a>ignore</a>
`);
console.log(
$('a:contains("link")').text()
);
"link"
This selector is case sensitive so it might be dangerous to use in web scraping. Instead, it's advised to filter values by text:
const cheerio = require('cheerio');
const $ = cheerio.load(`
<a>ignore</a>
<a href="http://example.com">Link</a>
<a>ignore</a>
`);
console.log(
$('a').filter(
(i, element) => { return $(element).text().toLowerCase().includes("link")}
).text()
);
"link"
This knowledgebase is provided by Scrapfly data APIs, check us out! 👇