Improved q so missing date element returns null.
This commit is contained in:
parent
3891a6e86b
commit
ab82329171
|
@ -339,13 +339,18 @@ async function scrapeActors(actorNames) {
|
||||||
const sources = argv.sources ? argv.sources.map(source => [source, scrapers.actors[source]]) : Object.entries(scrapers.actors);
|
const sources = argv.sources ? argv.sources.map(source => [source, scrapers.actors[source]]) : Object.entries(scrapers.actors);
|
||||||
|
|
||||||
const profiles = await Promise.map(sources, async ([scraperSlug, scraper]) => {
|
const profiles = await Promise.map(sources, async ([scraperSlug, scraper]) => {
|
||||||
const profile = await scraper.fetchProfile(actorEntry ? actorEntry.name : actorName);
|
try {
|
||||||
|
const profile = await scraper.fetchProfile(actorEntry ? actorEntry.name : actorName);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...profile,
|
...profile,
|
||||||
name: actorName,
|
name: actorName,
|
||||||
scraper: scraperSlug,
|
scraper: scraperSlug,
|
||||||
};
|
};
|
||||||
|
} catch (error) {
|
||||||
|
console.log(scraperSlug, error);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const profile = await mergeProfiles(profiles, actorEntry);
|
const profile = await mergeProfiles(profiles, actorEntry);
|
||||||
|
|
|
@ -7,9 +7,9 @@ function q(context, selector, attrArg, trim = true) {
|
||||||
const attr = attrArg === true ? 'textContent' : attrArg;
|
const attr = attrArg === true ? 'textContent' : attrArg;
|
||||||
|
|
||||||
if (attr) {
|
if (attr) {
|
||||||
const value = context.querySelector(selector)[attr];
|
const value = context.querySelector(selector)?.[attr];
|
||||||
|
|
||||||
return trim ? value.trim() : value;
|
return trim ? value?.trim() : value;
|
||||||
}
|
}
|
||||||
|
|
||||||
return context.querySelector(selector);
|
return context.querySelector(selector);
|
||||||
|
@ -26,7 +26,9 @@ function qall(context, selector, attrArg, trim = true) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function qdate(context, selector, format, match, attr = 'textContent') {
|
function qdate(context, selector, format, match, attr = 'textContent') {
|
||||||
const dateString = context.querySelector(selector)[attr];
|
const dateString = context.querySelector(selector)?.[attr];
|
||||||
|
|
||||||
|
if (!dateString) return null;
|
||||||
|
|
||||||
if (match) {
|
if (match) {
|
||||||
const dateStamp = dateString.match(match);
|
const dateStamp = dateString.match(match);
|
||||||
|
|
Loading…
Reference in New Issue