【发布时间】:2017-11-30 15:34:15
【问题描述】:
想要为我在文本文件中列出的所有 URL 检索 P html 元素的 innerText。我对此很陌生,但认为我可以解决它。自动取款机。我失败了,因为我无法处理如何正确传递循环的每个数组项:
$theURLS = Import-CSV linkek_alatt.txt
$item = New-Object System.Collections.ArrayList
for ($i=0; $i -le $theURLS.length;$i++)
{
foreach($item in $theURLS)
{
$Site = Invoke-WebRequest -URI $item
$Igotit = $Site.AllElements | Where-Object {$_.tagName -eq "P"} |
Select -First 1 -Skip 3 -ExpandProperty innerText
$Igotit
}
}
> FilteredContent.txt
过滤后的文件应包含信息。
现在,我收到“Invoke-WebRequest:无法绑定参数'Uri'。无法转换“@{”错误,我看到重复的第一个 URL 和一个随机的 - 用于下一步的一个 - 错误消息中的一个. 欢迎任何想法。 最好的祝福, 格萨
【问题讨论】:
-
文本文件还是 csv 文件?如果是文本文件,不要使用
Import-Csv,使用Get-Content -
为什么要在 URL 列表的迭代中迭代 URL 列表?
-
CSV。自动取款机。我正在做更多的工作。这适用于一个指定的 URL: Clear-Host $Site = Invoke-WebRequest -URI "somepage/anotherone" $Igotit = $Site.AllElements | Where-Object {$_.tagName -eq "P"} |选择 -First 1 -Skip 3 -ExpandProperty innerText $Igotit
标签: arrays powershell for-loop foreach