检测网页中的同类元素列表

时间:2014-07-04 13:53:05

标签: html parsing dom web-crawler

我需要在页面的DOM中检测一系列连续相同的元素。这些元素可以是div或li或span,也可以包含其他元素。这些元素的共同之处在于它们连续出现并具有相同的内部结构。

我想解决的问题是自动解析搜索结果。我试图找到的解决方案将生成这些元素的所有列表的列表(例如,页面可能包含带有搜索结果的列表和其他不相关的元素列表);这个解决方案必须足够通用,我不需要事先知道页面的结构。

谢谢。

2 个答案:

答案 0 :(得分:0)

一般来说,问题太复杂,无法应用某种正则表达式。它可能意味着语境语法。

你必须自己实现一个算法才能解决这个问题。我记住的最简单的一个是:

  1. 递归地遵循DOM树
  2. 在任何递归步骤中:
    1. 记住节点中的第一个子元素。
    2. 转到下一个子元素并与内存中的子元素进行比较。
    3. 记住上次访问的子元素。
    4. 重复步骤2和3,直到完成处理节点中的所有子元素

答案 1 :(得分:0)

假设:您正在使用用于数据挖掘的python构建可配置的html网络爬虫

检索数据的步骤:

祝你好运!