我的目标是为不了解 HTML 或 DOM 的用户实现一个用于抓取 Web 数据的助手。我将向用户显示一个网页,用户必须选择他对页面感兴趣的数据(或他不感兴趣的数据)。
示例:如果用户单击表格内的单元格,他很可能想要提取该列内的所有元素。他可能只对表格行感兴趣,或者他可能只对一个单元格感兴趣。因此,该算法为每种可能性建议了三个选择器。用户可以选择一个建议的选择器,或者他可以点击另一个元素来获得一个新的提议。
到目前为止的用例。我要创建的组件:
将用户想要抓取的 DOM(HTML 元素的层次结构)内的元素列表作为输入数据
应输出一个(概率)排序的选择器列表,该列表将适合用户选择到 100%,并且可能包括用户可能感兴趣的其他元素。
这里的问题是网站的高度可变性,以及使用非常不同的结构元素创建相似外观结果的可能性。因此,手动创建预测规则可能涵盖最基本的用途(例如从表列中获取数据),但在新闻页面上查找文章部分时会失败。
所以最后我的问题。我正在考虑以下处理:
首先生成适合用户选择的选择器
100% 筛选出不符合用户选择元素的选择器
使用(机器学习?)模型来预测用户可能对哪个选择器感兴趣
您认为上述处理对这个问题是否有效?
什么算法最适合对 3. 中的选择器进行排名?
是否有关于如何自动为所选元素提供选择器列表的想法?
我希望我说得通——我在数据分析和机器学习方面没有很强的背景,所以我希望能找到一些可以研究的方向。