This script is executed within the context of a web page loaded into Puppeteer to extract the text chunks and stylesheets from a pageReturns a structure chunks stylsheets textEach chunk entry is node
这段代码是一个导出函数,用于在Puppeteer中加载的网页上下文中提取文本块和样式表。函数返回一个结构,其中包含文本块和样式表。
文本块数组的每个条目都是一个对象,包含了DOM节点和字符串的树形结构,以及与该块相关联的锚点ID数组和链接。
样式表数组的每个条目都是样式表的文本。
函数的主要逻辑包括:
- 遍历文档的每个节点,提取文本和样式表。
- 使用ChunkList类来组织文本块的结构。
- 使用isStartOfNewChunk和isInterestingPhrasingContent函数来确定哪些节点应该作为新的文本块的起始节点或感兴趣的内嵌内容节点。
- 使用visitNode函数来遍历节点并构建文本块结构。
- 使用startChunk、endChunk、addText、openTag和closeTag等方法来处理文本块的开始、结束、文本添加和标签打开/关闭操作。
- 使用findTopmostAncestor方法来找到具有特定条件的最上层祖先节点。
- 使用getStructure函数来返回提取的文本块和样式表的结构。
- 使用isWithinChunk、ancestorStack和parentStack等属性来跟踪文本块的状态和层次结构。
此外,代码还包括一些辅助函数和常量,用于处理特殊的HTML元素和属性
原文地址: http://www.cveoy.top/t/topic/hZLF 著作权归作者所有。请勿转载和采集!