2012-07-20 101 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