Excel/VBA を使用して Web ページから情報を収集する
P粉555696738
P粉555696738 2023-09-02 18:48:32
0
1
841
<p>Web ページからデータを収集しようとしています。4 ビットのデータが必要で、そのうち 2 ビットは取得できましたが、残りの 2 ビットはヒントを受けています。 </p> <p>これは固定 URL ではありませんが、リダイレクト後に IE から取得されたものであるため、この例では次を使用します。 https://cpc.farnell.com/warton/microprint-p2010-15-32um-250g/Solder-paste-15-32um-250g-pot/dp/SD02808 </p> <p>タイトルを獲得したいと思っています:</p> <p><strong>Microprint P2010 洗浄不要、鉛フリーはんだペースト、15~32um、250g ジャー - MICROPRINT P2010 15~32UM、250G</strong></p> <p>およびメーカー部品番号</p> <p><strong>マイクロプリント P2010 15-32UM、250G</strong></p> <p><strong>getElementbyID</strong> を使用して製品の概要/製品情報を取得していますが、うまく機能していますが、他のテキスト フィールドは機能していないようです (Xpath を調べたところ、オブジェクトでエラーが発生します) VBE が必要です)</p> <p>次を使用して他の 2 つの要素を正常に実装しました。</p> <pre class="brush:php;toolbar:false;">Sub Mani() '変数を宣言する オブジェクトとしての Dim objWeb Dim objHTML をオブジェクトとして オブジェクトとしての Dim objElement Dim strData、文字列としての StrData1 set objWeb = CreateObject("internetexplorer.Application") str = "https://cpc.farnell.com/" objWeb.navigate str & Cells(1, 1).Value objWeb.Busy = True の間 ウェン FullURL = objWeb.LocationURL Range("b2").Value = FullURL objWeb.navigate FullURL 'IE.Visible = True objWeb.Busy = True の間 ウェン objHTML = objWeb.document を設定します。 strData = objHTML.getElementById("pdpSection_FAndB").innerText ActiveSheet.Range("C3").Value = strData strData = objHTML.getElementById("pdpSection_pdpProdDetails").innerText strData = なしを設定します ActiveSheet.Range("D3").Value = strData objWeb.Quit End Sub</pre> <p>URL の再読み込みは、URL リダイレクトに関するナビゲーション用です。</p> <p>https://cpc.farnell.com/SD02808</p> <p>メイン URL にリダイレクト</p> <p>https://cpc.farnell.com/warton/microprint-p2010-15-32um-250g/Solder-paste-15-32um-250g-pot/dp/SD02808</p> <p>部品番号を A1 に入力し、Excel がそれを VB の変数として使用し、IE インスタンスから完全な URL を再読み込みしたいと考えています。 これは、<strong>Web からデータを取得</strong> を使用しようとしたことによるレガシーの問題ですが、ページ スクリプト エラーによりうまく機能しなかったため、IE のインスタンスが使用されました。 </p>
P粉555696738
P粉555696738

全員に返信(1)
P粉517475670

IE は廃止されたため、今後は使用しないでください。ただし、xhr (XML HTTP リクエスト) 経由で短縮 URL https://cpc.farnell.com/SD02808 を使用することもできます。次のコードは、ロードされた HTML コードから必要な情報を読み取る方法のみを示しています。すべての安全装置が欠落しています。

Set strData を使用するオブジェクト変数と同様に、データ型 String の変数を Nothing に設定しようとしているため、上記のコードでオブジェクト エラーが発生します。 = なし

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート