PowerShell:
การวิเคราะห์ HTML
วิธีการ:
PowerShell ไม่มีตัวแยกวิเคราะห์ HTML โดยตรง, แต่คุณสามารถใช้คำสั่ง Invoke-WebRequest
เพื่อเข้าถึงและวิเคราะห์เนื้อหา HTML สำหรับการแยกวิเคราะห์และการจัดการที่ซับซ้อนยิ่งขึ้น, สามารถใช้ HtmlAgilityPack, ไลบรารี .NET ที่ได้รับความนิยม
การใช้ Invoke-WebRequest
:
# ตัวอย่างง่ายๆในการดึงชื่อหัวข้อจากเว็บ
$response = Invoke-WebRequest -Uri 'http://example.com'
# ใช้สิทธิ์ ParsedHtml เพื่อเข้าถึงองค์ประกอบ DOM
$title = $response.ParsedHtml.title
Write-Output $title
ตัวอย่างผลลัพธ์:
Example Domain
การใช้ HtmlAgilityPack:
ขั้นแรก, คุณจำเป็นต้องติดตั้ง HtmlAgilityPack คุณสามารถทำได้ผ่าน NuGet Package Manager:
Install-Package HtmlAgilityPack -ProviderName NuGet
จากนั้น, คุณสามารถใช้มันใน PowerShell เพื่อวิเคราะห์ HTML:
# โหลดการรวม HtmlAgilityPack
Add-Type -Path "path\to\HtmlAgilityPack.dll"
# สร้างอ็อบเจกต์ HtmlDocument
$doc = New-Object HtmlAgilityPack.HtmlDocument
# โหลด HTML จากไฟล์หรือคำขอเว็บ
$htmlContent = (Invoke-WebRequest -Uri "http://example.com").Content
$doc.LoadHtml($htmlContent)
# ใช้ XPath หรือวิธีการคิวรีอื่นๆ เพื่อดึงองค์ประกอบ
$node = $doc.DocumentNode.SelectSingleNode("//h1")
if ($node -ne $null) {
Write-Output $node.InnerText
}
ตัวอย่างผลลัพธ์:
Welcome to Example.com!
ในตัวอย่างเหล่านี้, Invoke-WebRequest
เหมาะสำหรับงานง่ายๆ, ขณะที่ HtmlAgilityPack นำเสนอชุดคุณสมบัติที่ครอบคลุมมากขึ้นสำหรับการวิเคราะห์ HTML และการจัดการที่ซับซ้อน.