以编程方式从网页源中提取特定数据


Extracting specific data from a webpage-source programmatically

以下问题适用于任何编程语言

我正在研究一个程序,该程序提供网页源代码作为输入,将提取一些特定类型的数据。

假设我提供了以下页面源作为我的程序的输入:

<table>
    <tr>
        <td id="a" class="product-name">Product A</td>
        <td id="1" class="product-price">$100</td>
    </tr>
    <tr>
        <td id="b" class="product-name">Product B</td>
        <td id="2" class="product-price">$200</td>
    </tr>
    <tr>
        <td id="c" class="product-name">Product C</td>
        <td id="3" class="product-price">$300</td>
    </tr>
</table

在这个网页上,有提到的产品及其销售价格。网页是这样的:

 Product A: $100
 Product B: $200
 Product C: $300

我想使用这个页面源复制这个数据到数据库。由于产品名称及其价格在固定标签和类(如<td><div>等)中提到,我如何以编程方式提取这些数据?是否有任何好的算法/代码/库从页面源提取这样的数据?

我认为这可以通过在Javascript中使用getElementByID来完成。但我不确定。或者可以使用XML ?如何?还有其他好的方法/算法吗?

:我这样做我自己的网站。我已经有一个旧的网站,我想在我的新网站上使用所有的数据。再次手动输入所有数据是一项艰巨的任务。所以我想从我的旧数据中复制数据。任何编程语言对我来说都可以。

就用这个:http://simplehtmldom.sourceforge.net/

,它叫做爬行

要查询XML文档中的数据,您可以使用xpath语言,该语言在许多编程语言中都是可用的。它显式处理XML文档,而不是字符串。

另一种方法是对要从中提取数据的文档进行字符串分析,并根据需要在更低的级别上提取数据。这有时会更快,但XPATH更加健壮,因为它可以区分标记、属性和值。

通常您只需要将文档转换为另一种形式,因为许多语言都提供了XSLTXQuery的接口。

你可以搜索的一个词是刮痧,如果你正在寻找一些PHP的资源,检查web-刮痧-with- PHP也有打印的