Web Scraping HTML 页面使用 PowerShell - 从 adobe 获取最新的发行说明版本号

Web Scraping HTML page using PowerShell - Get latest release notes Version number from adobe

我正在尝试使用 powershell 创建一个脚本来跟踪 Adob​​e 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

first regex pattern demo

second regex pattern demo