bandcamp-fetch
Version:
Scrape Bandcamp content
26 lines • 1.13 kB
JavaScript
import { load as cheerioLoad } from 'cheerio';
import { reformatImageUrl, splitUrl } from '../utils/Parse.js';
export default class LabelArtistsParser {
static parseLabelArtists(html, opts) {
const $ = cheerioLoad(html);
const artistsList = $('li.featured-item, li.artists-grid-item');
const results = [];
artistsList.each((i, artistListItem) => {
artistListItem = $(artistListItem);
const img = artistListItem.find('img');
const imgSrc = img.attr('data-original') || img.attr('src');
const imageUrl = reformatImageUrl(imgSrc, opts.imageFormat);
const artist = {
name: artistListItem.find('.featured-grid-name, .artists-grid-name').text(),
url: splitUrl(artistListItem.find('a').attr('href')).base,
location: artistListItem.find('.artists-grid-location').text()
};
if (imageUrl) {
artist.imageUrl = imageUrl;
}
results.push(artist);
});
return results;
}
}
//# sourceMappingURL=LabelArtistsParser.js.map