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

标签 java php javascript html xml

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

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

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

<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> 等),我如何以编程方式提取这些数据?是否有任何好的算法/代码/库可以从页面源中提取此类数据?

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

注意:我正在对自己的网站执行此操作。我已经有一个旧网站,我想在我的新网站中使用所有数据。再次手动输入所有数据是一项艰巨的任务。所以我想从我的旧数据中复制数据。任何编程语言都适合我。

最佳答案

只需使用这个:http://simplehtmldom.sourceforge.net/

顺便说一句,这叫做爬行

关于java - 以编程方式从网页源中提取特定数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6967051/

相关文章:

java - SwingWork 链接

javascript - 使用jquery过滤掉json填充选择框中的重复数据

java - 在@Profile 中使用通配符

java - 无法从 pom 获取 <systemPropertyVariables> 变量值

javascript - 如何将 php 值从当前页面传递到弹出页面(外部)

javascript - 当主复选框被选中时,如何使复选框可见?

javascript - 如何检查 jquery 中背景颜色的值?

javascript - 查询 |为作为输入属性的名称添加值

java - Kafka - 反序列化消费者中的对象

php - 我的 <select> 需要帮助