2012-07-20 66 views
0

我想从其他网站检索一些信息到我的网站(合法)...我是新的ASP经典和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或其他工具吗?如果是这样,你能给我更多的信息吗?

回答

0

XMLHTTP是会得到你的全文。这就是它的工作方式。通常情况下,如果您对所要求的网站拥有控制权,那么您应确保服务器返回的资源最少。在使用XMLHTTP请求JSON或稍后可以重用的XML数据时它很有用。

如果你正在做刮痧,从一个网站,你必须零控制。然后你被HTML作为返回的响应。你必须做的是使用vbscripts字符串函数,如替换和拆分,以删除div id =“productStatus”之前的所有文本,如果你知道没有更多的嵌套div,那么你可以摆脱/ div>关闭标签。这只会让你的字符串中只有该div。

每一个情况是不同的,但习惯使用字符串函数来清理数据和修剪下来到什么是对你有用的想法。

+0

是的,我使用的字符串函数,它的做工精细... – 2012-07-24 01:43:36

+0

它是一个完整的屁股痛。刮点的问题是他们经常改变。另一种方法可能是使用具有选择器的jquery进行刮擦。我想你可以先把整个东西划分成一个div,然后用jquery来定位div,然后做一个ajax post。它不漂亮。 – Frank 2012-07-24 09:02:30