我有一個網站http://www.rnbtop99.com/chart,我試圖通過藝術家和標題來捕獲歌曲列表。使用Invoke-WebRequest從網站獲取數據
我有這個簡單的PowerShell腳本作爲一個開始:
$site = Invoke-WebRequest -Uri 'http://www.rnbtop99.com/chart'
Start-Sleep -Seconds 5
然而,我感到困惑的所有不同的標籤/類/ ID的,如何使她們在網站上使用PowerShell的功能,我需要用作捕獲數據的各種選項的安排,例如
$site.ParsedHtml.body.getElementsByTagName('div')
$site.ParsedHtml.body.getElementsByClassName('?')
智能感知告訴我,我可以使用上面這些選項,標籤/類名等
在Chrome中使用檢查選項,它說的藝術家 - 類=「藝術家姓名NG結合」但是如果我運行那麼它什麼都不返回。
對於任何網站我都可以使用Edge/Chrome檢查選項來獲取正確的元素ID /標記/類名然後匹配正確的選項來使用在PowerShell中捕獲任何數據,例如文檔/ ParsedHtml /全部/美體/的innerHTML/innerText屬性等等等等
這裏的問題是,你需要的所有元素不是源的一部分,但動態加載的內嵌JavaScript。 'Invoke-WebRequest'獲取源代碼並對其進行解析,但它實際上並沒有渲染完整的DOM並像瀏覽器一樣執行JavaScript。 –
你怎麼知道它是Java腳本? –
我的意思是,什麼給它是Java腳本,因爲我可以使用計劃B,Internet Explorer ComObject和RexEx來獲取數據,但我需要知道如何查找Java腳本,以免下次使用Invoke時浪費時間-WebRequest。 –