根据两个元素之间的距离解析html

时间:2012-06-09 19:47:16

标签: html html-parsing

我正在尝试做一些html解析。 我正在处理一些非常动态的数据,我的来源差别很大。 如果更具体,我正在尝试解析产品信息,包括 我不知道的页面的名称,价格和描述。

在这些页面中,唯一保持相同的基本信息是页面标题 我要查询的项目名称(它们彼此匹配)和价格。 在不同的网站中,唯一真正的逻辑是相同的 不同信息集之间的接近程度。 因此,价格标签将接近产品名称并接近其描述。

我正在寻找一个html解析器,它可以让我根据不同html标签之间的像素距离缩小解析范围。

你知道这样的图书馆吗? 我还有其他方法可以解决这个问题吗?

编辑:

语言,操作系统和分辨率不符合要求。 您知道哪些工具可能有助于解决此问题? 如果我,我可能决定改变我的底层操作系统和语言 找到一个足够好的图书馆。

1 个答案:

答案 0 :(得分:1)

商品的价格通常在特定的特殊字符前面,表示同一标签内的货币与显示例如以下值的数字:

<div class="product_value">£ 10.99</div>
<div class="product_value">¥ 10.99</div>
<div class="product_value">$ 10.99</div>

假设您使用google或bing等搜索API获取包含特定产品名称的网页列表,那么打开该页面的简单正则表达式语句将能够检索货币标记之间的所有内容(£,$ ,¥等)和div或span的结束。

但是,如果搜索结果会丢弃包含多个产品或多个价格标记的页面,那么此系统可能无法正常工作。唯一可以确定的方法是为每个站点编写单独的scraper例程,或者尝试去搜索别人的比较服务。