การดาวน์โหลดหน้าเว็บ

PowerShell:
การดาวน์โหลดหน้าเว็บ

วิธีการ:

นี่คือคาถาวิเศษสำหรับการเรียกดูเว็บเพจโดยใช้ PowerShell เราจะใช้ Invoke-WebRequest

# จับเนื้อหาของ example.com
$response = Invoke-WebRequest -Uri "http://example.com"

# นี่คือสิ่งที่คุณได้รับ
$response.Content

ตัวอย่างผลลัพธ์:

<!doctype html>
<html>
<head>
    <title>Example Domain</title>
    ...
    <!-- และอื่นๆ -->
</head>
...
</html>

คุณอาจต้องการแค่ข้อความ, ไม่มีแท็ก HTML เราทำแบบนั้นได้ดังนี้:

# ขอแค่ข้อความเท่านั้น
$response.ParsedHtml.body.innerText

ภาพรวม

เมื่อก่อน PowerShell ไม่มี cmdlet Invoke-WebRequest ที่ดีเยี่ยมนี้ นักพัฒนาจะใช้คลาส .NET System.Net.WebClient หรือหันไปใช้เครื่องมือภายนอก ตอนนี้, ทุกอย่างถูกฝังมาใน PowerShell แล้ว, ทำให้งานของเราง่ายขึ้น

Invoke-WebRequest เสนอมากกว่าแค่เนื้อหา หัวข้อ, สถานะ, และข้อมูลเซสชัน – ทุกอย่างมีหมด ถ้าคุณกำลังเล่นกับ API, คุณจะรัก Invoke-RestMethod เป็นทางเลือกที่มุ่งเน้น

ภายใต้ประทุน, cmdlet เหล่านี้พึ่งพาคลาส .NET HttpClient ที่มีน้ำหนัก, ให้ความน่าเชื่อถือและฟังก์ชันการทำงานกว้างขวาง

และถ้าคุณกำลังเร่งรีบรอการดาวน์โหลดเว็บเพจนั้น Invoke-WebRequest ยังรองรับการทำงานแบบอะซิงโครนัสด้วย อย่างไรก็ตาม, นั่นเป็นหัวข้อสำหรับอีกวันหนึ่ง

ดูเพิ่มเติม