У меня есть следующий выбор jQuery, которому помогает ответ LGSon на предыдущий вопрос ...
$('div.content__article-body > *').not('aside').each( function( index, value ) {
console.log( value.outerHTML );
});
Однако мне нужно научиться писать так, чтобы это соответствовало части result
моего кода ниже ...
Полагаю, мне нужно связать элемент outerHTML
со строкой jQuery, но я не добился большого успеха в этом.
В этом примере, выбор для "entry"
.
function pageFunction(context) {
// Called on every page the crawler visits, use it to extract data from it
var $ = context.jQuery;
// If page is START or a LIST,
if (context.request.label === 'START' || context.request.label === 'LIST') {
context.skipOutput();
// First, gather LIST page
$('ol.pagination li a').each(function() {
context.enqueuePage({
url: window.location.origin + $(this).attr('href'),
label: 'LIST'
});
});
// Then, gather every DETAIL page
$('h3>a').each(function(){
context.enqueuePage({
url: window.location.origin + $(this).attr('href'),
label: 'DETAIL'
});
});
// If page is actually a DETAIL target page
} else if (context.request.label === 'DETAIL') {
/* context.skipLinks(); */
var tags = [];
$('span.tags a').each( function() {
tags.push($(this).text());
});
result = {
"title": $('h1.entry-title').text(),
"excerpt": $('div.content-blog__body p strong:first').text().trim(),
"entry": $('div.content-blog__body').html().trim(),
"datestamp": $('meta[property="article:published_time"]').attr('content'),
tags: tags
};
}
return result;
}