You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mercury-parser/src/extractors/custom/www.youtube.com/index.js

49 lines
1.1 KiB
JavaScript

export const WwwYoutubeComExtractor = {
domain: 'www.youtube.com',
title: {
selectors: ['.watch-title', 'h1.watch-title-container'],
},
author: {
selectors: ['.yt-user-info'],
},
date_published: {
selectors: [['meta[itemProp="datePublished"]', 'value']],
timezone: 'GMT',
},
dek: {
selectors: [
// enter selectors
],
},
lead_image_url: {
selectors: [['meta[name="og:image"]', 'value']],
},
content: {
defaultCleaner: false,
selectors: [['#player-api', '#eow-description']],
// Is there anything in the content you selected that needs transformed
// before it's consumable content? E.g., unusual lazy loaded images
transforms: {
'#player-api': ($node, $) => {
const videoId = $('meta[itemProp="videoId"]').attr('value');
$node.html(`
<iframe src="https://www.youtube.com/embed/${videoId}" frameborder="0" allowfullscreen></iframe>`);
},
},
// Is there anything that is in the result that shouldn't be?
// The clean selectors will remove anything that matches from
// the result
clean: [],
},
};