机器学习预测网页上的 HTML 元素?

数据挖掘 机器学习 数据挖掘 预测建模 分层数据格式
2022-02-15 16:37:56

我的目标是为不了解 HTML 或 DOM 的用户实现一个用于抓取 Web 数据的助手。我将向用户显示一个网页,用户必须选择他对页面感兴趣的数据(或他不感兴趣的数据)。

示例:如果用户单击表格内的单元格,他很可能想要提取该列内的所有元素。他可能只对表格行感兴趣,或者他可能只对一个单元格感兴趣。因此,该算法为每种可能性建议了三个选择器。用户可以选择一个建议的选择器,或者他可以点击另一个元素来获得一个新的提议。

到目前为止的用例。我要创建的组件:

  • 将用户想要抓取的 DOM(HTML 元素的层次结构)内的元素列表作为输入数据

  • 应输出一个(概率)排序的选择器列表,该列表将适合用户选择到 100%,并且可能包括用户可能感兴趣的其他元素。

这里的问题是网站的高度可变性,以及使用非常不同的结构元素创建相似外观结果的可能性。因此,手动创建预测规则可能涵盖最基本的用途(例如从表列中获取数据),但在新闻页面上查找文章部分时会失败。

所以最后我的问题。我正在考虑以下处理:

  1. 首先生成适合用户选择的选择器

  2. 100% 筛选出不符合用户选择元素的选择器

  3. 使用(机器学习?)模型来预测用户可能对哪个选择器感兴趣

您认为上述处理对这个问题是否有效?

什么算法最适合对 3. 中的选择器进行排名?

是否有关于如何自动为所选元素提供选择器列表的想法?

我希望我说得通——我在数据分析和机器学习方面没有很强的背景,所以我希望能找到一些可以研究的方向。

1个回答

至少有两个明显的问题:

  1. 了解网页内容的非程序员意图
  2. 了解网页的内容

第一个问题是数据科学或机器学习无法最好地解决的问题,硬编码规则会更好地工作。第二个问题主要是软件工程问题。我会从现有的解决方案中寻找灵感,例如scraperimport.io

如果您仍想对“选择器”进行排序并呈现给用户,这就是最常被称为“学习排名”的问题。学习对问题进行排序在信息检索系统/搜索引擎中很常见。