0

我正在尝试从其他网站检索一些信息到我的网站(合法)...我是 ASP Classic 和 XML DOM 的新手。我知道 XML DOM,但没有足够的知识来使用它。我正在使用下面的代码从其他网站获取页面,并且工作正常

Dim xml
set xml = Server.CreateObject("Microsoft.XMLHTTP")
xml.Open "GET", "http://www.midwayusa.com/Product/"&sCode  , false
xml.Send
Dim strRetrive
strRetrive=xml.responseText

现在,问题是获取此页面的产品状态。我看过这个页面的源代码,它如下:

 <div id="status_block">
            <span id="persistentStatus">Status:</span>
                <link itemprop="availability" href="http://schema.org/InStock" />
            <div id="productStatus">
                Available
                <a class="helpicon mimo" title="Available" href="/Content/htm/Legacy/product_status.htm#200">
                </a>
            </div>
   .....

我想从 DIV id = productStatus 中获取价值。据我所知,我可以使用 XPath Query 或其他工具吗?如果是这样,你能给我更多关于这方面的信息吗?

4

1 回答 1

0

XMLHTTP 将为您提供全文。这就是它的工作方式。通常,如果您可以控制您请求的站点,那么您可以确保服务器返回的内容最少。它在使用 XMLHTTP 请求 JSON 或稍后可以重用的 XML 数据时很有用。

如果您正在进行抓取,请从您对零控制的站点进行。然后你会被 HTML 作为返回的响应卡住。您需要做的是使用 vbscripts 字符串函数(例如 replace 和 split)来删除 div id="productStatus" 之前的所有文本,如果您知道没有更多嵌套的 div,那么您可以删除 /div> 之后的所有内容结束标记。这让你的字符串中只有那个 div 。

每种情况都不同,但要习惯使用字符串函数来清理数据并将其修剪为对您有用的内容。

于 2012-07-21T22:16:05.633 回答