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

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

วิธีการ:

คุณสามารถดาวน์โหลดเว็บเพจใน TypeScript โดยใช้ Node.js และไลบรารี node-fetch นี่คือวิธีการ:

import fetch from 'node-fetch';

async function downloadWebPage(url: string): Promise<void> {
    try {
        const response = await fetch(url);
        const body = await response.text();
        console.log(body); // สิ่งนี้จะแสดงเนื้อหา HTML ไปยังคอนโซล
    } catch (error) {
        console.error('การดาวน์โหลดล้มเหลว:', error);
    }
}

// ใช้ฟังก์ชั่น
downloadWebPage('https://example.com');

ตัวอย่างผลลัพธ์ (ตัดทอน):

<!doctype html>
<html>
<head>
    <title>Example Domain</title>
...
</html>

ลงลึกมากขึ้น

ในอดีต เนื้อหาเว็บถูกดาวน์โหลดผ่านเครื่องมือเช่น wget หรือ curl ในสภาพแวดล้อม command-line อย่างไรก็ตาม ในการเขียนโปรแกรมสมัยใหม่ เรามีไลบรารี เช่น node-fetch, axios, หรือ request (ถูกลดการใช้งานแต่ยังคงใช้งานอยู่) ที่มีฟังก์ชันเพิ่มเติมและง่ายต่อการผสานเข้ากับแอพพลิเคชัน JavaScript/TypeScript ของเรา

เมื่อดาวน์โหลดเว็บเพจ มีมากกว่าเพียง HTML เท่านั้น CSS, JavaScript, ภาพและสินทรัพย์อื่นๆก็เป็นส่วนหนึ่งของข้อตกลง โดยปกติแล้ว HTML จะถูกเรียกใช้เป็นอันดับแรกและจากนั้นการประมวลผลหรือการดาวน์โหลดเพิ่มเติมจะขึ้นอยู่กับความต้องการจากหน้าเว็บ

ในแง่ของการดำเนินการ, node-fetch นั้นใช้ API window.fetch สำหรับ Node.js โดยมันจะส่งคืนคำสัญญาที่ตอบสนองต่อการตอบกลับของคำขอ, ช่วยให้คุณสามารถได้รับสตรีมข้อความ (.text()), วัตถุ JSON (.json()), หรือแม้กระทั่งบัฟเฟอร์ (.buffer()) สำหรับข้อมูลทวิภาค

โปรดจำไว้ว่าสิทธิในการเก็บข้อมูลเว็บถูกกำหนดโดยไฟล์ robots.txt ของเว็บไซต์และเงื่อนไขการให้บริการ ตรวจสอบเสมอว่าคุณได้รับอนุญาตให้เก็บข้อมูลจากไซต์นั้นๆ และคำนึงถึงข้อจำกัดเรื่องอัตราการเข้าเยี่ยมชมเพื่อหลีกเลี่ยงปัญหาทางกฎหมายหรือการถูกบล็อก IP ของคุณ

ดูเพิ่มเติมได้ที่