Fix empty search results caused by adverts

This commit is contained in:
absidue 2022-02-26 23:06:02 +01:00
parent 258ef03aaa
commit 24f7855c4f

View File

@ -45,11 +45,12 @@ export function ParseSearchResult(html: string, options?: ParseSearchInterface):
const json_data = JSON.parse(data); const json_data = JSON.parse(data);
const results = []; const results = [];
const details = const details =
json_data.contents.twoColumnSearchResultsRenderer.primaryContents.sectionListRenderer.contents[0] json_data.contents.twoColumnSearchResultsRenderer.primaryContents.sectionListRenderer.contents.flatMap(
.itemSectionRenderer.contents; (s: any) => s.itemSectionRenderer?.contents
);
for (const detail of details) { for (const detail of details) {
if (hasLimit && results.length === options.limit) break; if (hasLimit && results.length === options.limit) break;
if (!detail.videoRenderer && !detail.channelRenderer && !detail.playlistRenderer) continue; if (!detail || (!detail.videoRenderer && !detail.channelRenderer && !detail.playlistRenderer)) continue;
switch (options.type) { switch (options.type) {
case 'video': { case 'video': {
const parsed = parseVideo(detail); const parsed = parseVideo(detail);