如何从Powershell中的RSS源中提取特定信息?
我试图编写一个脚本,可以从只包含用户提供的输入的网页中提取信息 我正在使用新闻网站独立rss提要来解析如何从Powershell中的RSS源中提取特定信息?,powershell,web-scraping,scripting,rss,filtering,Powershell,Web Scraping,Scripting,Rss,Filtering,我试图编写一个脚本,可以从只包含用户提供的输入的网页中提取信息 我正在使用新闻网站独立rss提要来解析 $url = 'http://www.independent.co.uk/news/uk/rss' Invoke-RestMethod -Uri $url -OutFile c:\Scripts\worldnews.xml [xml]$Content = Get-Content C:\Scripts\worldnews.xml $Feed = $Content.rss.chan
$url = 'http://www.independent.co.uk/news/uk/rss'
Invoke-RestMethod -Uri $url -OutFile c:\Scripts\worldnews.xml
[xml]$Content = Get-Content C:\Scripts\worldnews.xml
$Feed = $Content.rss.channel
# User Input field
$UserTerm = Read-Host 'Enter a Term'
ForEach ($msg in $Feed.Item){
[PSCustomObject]@{
'Source' = "News"
'Title' = $msg.title
'Link' = $msg.link
'Description' = $msg.description
}#EndPSCustomObject
}#EndForEach
我需要添加什么,以便此脚本只显示包含用户输入的结果?e、 g.如果用户在用户输入中键入“Police”,则脚本将仅显示标题中写有“Police”的文章
我尝试了if语句,但我不确定正确的语法
if(msg.title -match $UserTerm) {
我如何才能让它工作?您可以对foreach循环中的标题执行以下操作:
$url = 'http://www.independent.co.uk/news/uk/rss'
Invoke-RestMethod -Uri $url -OutFile c:\scripts\worldnews.xml
[xml]$Content = Get-Content C:\scripts\worldnews.xml
$Feed = $Content.rss.channel
# User Input field
$UserTerm = Read-Host 'Enter a Term'
ForEach ($msg in $Feed.Item | ?{$_.Title.Contains($userTerm)})
{
[PSCustomObject]@{
'Source' = "News"
'Title' = $msg.title
'Link' = $msg.link
'Description' = $msg.description
}#EndPSCustomObject
}#EndForEach
如果你想做一个If语句,那么你会说
if($msg.Title.Contains($userTerm))
或者,您可以将-like
操作符与通配符一起使用,例如
if($msg.Title -like "*$($userTerm)*")