如何使用 LLM 来做爬虫的页面通用解析?

ai+大模型+爬虫

现在遇到的问题是 html 往往很大,甚至可以说体积是超级超级大,几百KB甚至几MB

但是 LLM 的上下文比较小,输入的 html 这么大,非常的糟糕

但是又不能去除掉所有的 html 标签,因为这样就是失去了原始信息了,怎么有选择性的把有效且精简的数据输入给 llm 呢?

阅读 1.5k
2 个回答

刚好前一段弄个类似的需求,大概说下思路,主要是移除无用的标签和代码,精简发给大模型的上下文,步骤如下:
1、首先用node-html-parser解析页面,这步就过滤掉了script、style、noscript之类的
2、创建一个新的根元素
3、弄一个标签和属性的白名单
4、遍历第1步解析好的DOM树,这里用的深度优先,在白名单内的挂到第2步的根元素中
5、返回第2步根元素的innerHTML

发现一个问题阻碍使用 llm 做爬虫的问题

就是 llm 的输出可能会比较小

https://bigmodel.cn/dev/howuse/model

模型描述上下文最大输出
GLM-4-Plus New高智能旗舰: 性能全面提升,长文本和复杂任务能力显著增强128K4K
GLM-4-0520高智能模型:适用于处理高度复杂和多样化的任务128K4K
GLM-4-Long超长输入:专为处理超长文本和记忆型任务设计1M4K
GLM-4-AirX极速推理:具有超快的推理速度和强大的推理效果8K4K
GLM-4-Air高性价比:推理能力和价格之间最平衡的模型128K4K
GLM-4-FlashX高速低价:Flash增强版本,超快推理速度。128K4K
GLM-4-Flash免费调用:智谱AI首个免费API,零成本调用大模型。128K4K
GLM-4V图像理解:具备图像理解能力和推理能力2K1k
GLM-4-AllToolsAgent模型:自主规划和执行复杂任务128K4K
GLM-4旧版旗舰:发布于2024年1月16日,目前已被GLM-4-0520取代128K4K

比如只有 4k,这导致解析长文本的内容,就会不够用

推荐问题
宣传栏