0

他の Web サイトから自分の Web サイトに (法的に) 情報を取得しようとしています... 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 から Value を取得したい。私が知っているように、XPath クエリまたは他のツールを使用できますか? もしそうなら、これについてもっと情報を教えてもらえますか?

4

1 に答える 1

0

XMLHTTP は全文を取得します。それがまさにそれが機能する方法です。通常、要求しているサイトを制御できる場合は、サーバーが返すものが最小限であることを確認します。XMLHTTP を使用して、後で再利用できる JSON または XML データを要求する場合に役立ちます。

スクレイピングを行っている場合は、まったく制御できないサイトから。次に、返された応答として HTML に固執します。あなたがしなければならないのは、replace や split などの vbscripts 文字列関数を使用して、div id="productStatus" の前のすべてのテキストを削除することです。ネストされた div がもうないことがわかっている場合は、/div> の後のすべてを削除できます。終了タグ。これにより、文字列にその div のみが残ります。

状況はそれぞれ異なりますが、文字列関数を使用してデータをクリーンアップし、役に立つものに切り詰めるという考え方に慣れてください。

于 2012-07-21T22:16:05.633 に答える