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

问题描述:

我正在尝试做一些html解析。 我正在处理一些非常动态的数据,而我的来源差别很大。 如果要更具体,我试图解析产品信息,包括 名称,价格和描述,我不提前知道的网页。根据两个元素之间的距离解析html

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

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

你知道这样的图书馆吗? 有没有其他办法可以尝试解决这个问题?

编辑:

语言,操作系统和分辨率不会改变。 你知道哪些工具可以帮助解决这个问题? 如果我找到一个足够好的库,我可能会决定更改我的底层操作系统和语言。

+2

所以你不想解析HTML,你想解析一个“渲染的网页”,是否正确?我的问题是:什么操作系统,什么浏览器,什么显示和什么分辨率? –

+1

你有多少来源?手动定义包含所需信息的元素的类/ id名称是否可行? –

+0

好问题,假设用户输入分辨率作为参数。而对于操作系统,windows \ mac,对我来说确实不是很好。 – vondip

的项目的价格通常是由一个特定的特殊字符,表示货币相同的标记内如在例如显示该值的标记preceeded:

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

假设你使用搜索API诸如google或bing来获取包含特定产品名称的页面列表,然后打开该页面的一个简单的正则表达式语句将能够检索货币标记(£,$,¥等)和div或跨度的结尾之间的所有内容。

但是,如果搜索结果抛出包含多个产品或多个价格标记的页面,那么该系统可能无法像预期的那样工作。唯一可以肯定的方式是为每个站点编写单独的刮板例程,或者尝试和刮擦某些人员的比较服务。