在网络抓取节点 js、Puppeteer、Cheerio 时获取页面中的主要内容

Get main content in a page while web scraping node js, Puppeteer, Cheerio

我有一个使用 Node JS 的项目,用于网络抓取,我将不得不从主要内容中抓取标题和文本。但问题是当没有 asidemain 标签或 class/id/role 命名为 asidemain 时,我无法确定哪个是主要内容。我正在使用 PuppeteerCheerio 库。我试过使用 Mercury Web Parser 但它有自己的问题。 Like It 没有 return 来自 Wordpress 上使用 Elementor 主题构建器构建的页面的任何内容。如果有人知道如何区分主要内容和网页的其余部分,那将非常有帮助。

您可以从 Mozilla 检出 Readability JS 库。他们用于 reader 视图。

尝试探索更多关于 CSS 选择器和特异性的信息。
如果您正在抓取 Elementor,请务必对选择器使用此技巧: 对 DOM.

中的所有内容使用 data-elementor-(attributename) 属性
const mainContent = await page.waitForElement('[data-elementor-type="wp-page"]', {visible: true, timeout: 0})