Web Scraping HTML 页面使用 PowerShell - 从 adobe 获取最新的发行说明版本号
Web Scraping HTML page using PowerShell - Get latest release notes Version number from adobe
我正在尝试使用 powershell 创建一个脚本来跟踪 Adobe Reader 最新版本。
使用 URL link 列出最新版本。我使用 powershell 网络抓取并没有取得太大进展。
$t = "https://www.adobe.com/devnet-docs/acrobatetk/tools/ReleaseNotesDC/"
$r = Invoke-WebRequest -uri $t
$r.ParsedHtml.body.getElementsByTagName('Div')
您可以使用正则表达式定位原始 HTML 代码以提取更新信息。一种方法是拆分 <li>
并使用 switch 语句进行迭代。
$baseuri = 'https://www.adobe.com/devnet-docs/acrobatetk/tools/ReleaseNotesDC'
$response = Invoke-WebRequest -Uri $baseuri -UseBasicParsing
$updatelist = switch -Regex ($response.Content -split '<li>'){
'href="(?<URL>.+?)".+?(?<Version>\d{2}\.\d+?\.[\d\w]+?) (?<Type>[\w\s]+?), (?<Date>\w+? \d+, \d+)' {
[PSCustomObject]@{
Version = $matches.Version
Type = $matches.Type
Date = $matches.Date
URL = "$baseuri/{0}" -f $matches.Url
}
}
'href="(?<URL>.+?)".+?(?<Win>\d{2}\.\d+?\.[\d\w]+? \(Win\)), (?<Mac>\d{2}\.\d+?\.[\d\w]+? \(Mac\)) (?<Type>[\w\s]+?), (?<Date>\w+? \d+, \d+)' {
$ht = [ordered]@{
Version = $matches.win
Type = $matches.Type
Date = $matches.Date
URL = "$baseuri/{0}" -f $matches.Url
}
[PSCustomObject]$ht
$ht.Version = $matches.mac
[PSCustomObject]$ht
}
}
列表将存储在变量中$updatelist
我正在尝试使用 powershell 创建一个脚本来跟踪 Adobe Reader 最新版本。 使用 URL link 列出最新版本。我使用 powershell 网络抓取并没有取得太大进展。
$t = "https://www.adobe.com/devnet-docs/acrobatetk/tools/ReleaseNotesDC/"
$r = Invoke-WebRequest -uri $t
$r.ParsedHtml.body.getElementsByTagName('Div')
您可以使用正则表达式定位原始 HTML 代码以提取更新信息。一种方法是拆分 <li>
并使用 switch 语句进行迭代。
$baseuri = 'https://www.adobe.com/devnet-docs/acrobatetk/tools/ReleaseNotesDC'
$response = Invoke-WebRequest -Uri $baseuri -UseBasicParsing
$updatelist = switch -Regex ($response.Content -split '<li>'){
'href="(?<URL>.+?)".+?(?<Version>\d{2}\.\d+?\.[\d\w]+?) (?<Type>[\w\s]+?), (?<Date>\w+? \d+, \d+)' {
[PSCustomObject]@{
Version = $matches.Version
Type = $matches.Type
Date = $matches.Date
URL = "$baseuri/{0}" -f $matches.Url
}
}
'href="(?<URL>.+?)".+?(?<Win>\d{2}\.\d+?\.[\d\w]+? \(Win\)), (?<Mac>\d{2}\.\d+?\.[\d\w]+? \(Mac\)) (?<Type>[\w\s]+?), (?<Date>\w+? \d+, \d+)' {
$ht = [ordered]@{
Version = $matches.win
Type = $matches.Type
Date = $matches.Date
URL = "$baseuri/{0}" -f $matches.Url
}
[PSCustomObject]$ht
$ht.Version = $matches.mac
[PSCustomObject]$ht
}
}
列表将存储在变量中$updatelist