搜尋

首頁  >  問答  >  主體

使用 Excel\VBA 從網頁中抓取訊息

<p>我正在嘗試從網頁中抓取數據,我需要 4 位數據,其中 2 位我已經能夠檢索到,但另外 2 位暗示了我。 </p> <p>這不是一個固定的 URL,但在重定向後已從 IE 檢索此 URL,因此對於本範例,我將使用: 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,它在Object 上出錯) VBE中需要)</p> <p>我使用以下方法成功實現了另外 2 個元素:</p> <pre class="brush:php;toolbar:false;">Sub Mani() 'Declare variables Dim objWeb As Object Dim objHTML As Object Dim objElement As Object Dim strData, StrData1 As String Set objWeb = CreateObject("internetexplorer.Application") str = "https://cpc.farnell.com/" objWeb.navigate str & Cells(1, 1).Value While objWeb.Busy = True Wend FullURL = objWeb.LocationURL Range("b2").Value = FullURL objWeb.navigate FullURL 'IE.Visible = True While objWeb.Busy = True Wend Set objHTML = objWeb.document strData = objHTML.getElementById("pdpSection_FAndB").innerText ActiveSheet.Range("C3").Value = strData strData = objHTML.getElementById("pdpSection_pdpProdDetails").innerText Set strData = Nothing ActiveSheet.Range("D3").Value = strData objWeb.Quit End Sub</pre> <p>URL 重新載入是為了圍繞 U​​RL 重定向進行導航,</p> <p>https://cpc.farnell.com/SD02808</p> <p>重定向到主網址</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粉555696738P粉555696738447 天前843

全部回覆(1)我來回復

  • P粉517475670
  • 取消回覆