以下问题适用于任何编程语言
我正在研究一个程序,该程序提供网页源代码作为输入,将提取一些特定类型的数据。
假设我提供了以下页面源作为我的程序的输入:
<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更加健壮,因为它可以区分标记、属性和值。
通常您只需要将文档转换为另一种形式,因为许多语言都提供了XSLT
和XQuery
的接口。
你可以搜索的一个词是刮痧,如果你正在寻找一些PHP的资源,检查web-刮痧-with- PHP也有打印的