Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PowerShell-无法使用Invoke WebRequest查找web元素_Powershell_Web Scraping - Fatal编程技术网

PowerShell-无法使用Invoke WebRequest查找web元素

PowerShell-无法使用Invoke WebRequest查找web元素,powershell,web-scraping,Powershell,Web Scraping,我正在尝试使用PowerShell从网页中抓取数据。我想从这个页面中提取歌曲标题和艺术家文本 当我检查它们时,我可以看到元素在那里 但当我运行以下脚本时,我无法捕获信息: $Web = Invoke-WebRequest -Uri "http://www.theedge.co.nz/home.html" $web.AllElements | Where {$_.tagname -eq "p"} | select innertext 我不确定我的代码是否错误,或者这是一个限制,只是不可能使用

我正在尝试使用PowerShell从网页中抓取数据。我想从这个页面中提取歌曲标题和艺术家文本

当我检查它们时,我可以看到元素在那里

但当我运行以下脚本时,我无法捕获信息:

$Web = Invoke-WebRequest -Uri "http://www.theedge.co.nz/home.html"
$web.AllElements | Where {$_.tagname -eq "p"} | select innertext
我不确定我的代码是否错误,或者这是一个限制,只是不可能使用PowerShell实现


提前感谢。

警告:不是专家。至少在chrome上,我看到一个PSEDOO类在那个类之前。当我用iwr刮页面时,我看不到文本或类。我想知道这个网站的设计是否让你无法做到这一点。换句话说,当我在响应中搜索c-NavPlayer-Copy类时,我找不到它。我可以找到父li类,但没有超过这个类,它是由JavaScript从另一个URI动态加载的,另一个URI是REST端点,由它的LOO返回JSON;尝试
调用rest方法'http://radio-api.mediaworks.nz/radio-api/v3/station/theedge/network/web“|%now playing
@tessellingheckler发现得不错。假设答案足够小,你是怎么发现的?@Matt-鉴于数据不在Invoke-WebRequest输出中,我已经在想可能是这样的(或者是在iFrame中);我在Chrome中加载了页面,注意到现在正在播放的部分加载比页面的其余部分要晚;它是动态的,所以它可以随着歌曲的变化而更新,所以我按下F12打开Chrome开发工具,切换到“网络”选项卡,清除它,重新加载页面,点击按钮过滤请求到“XHR”,只有一个URI-点击它,看到预览是正在播放的数据,在新标签中打开-它是JSON。谢谢@TessellatingHeckler-Perfect!