วิธีแยกรูปภาพจาก HTML

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

ขั้นแรก ตรวจสอบให้แน่ใจว่าคุณได้ Aspose.HTML สำหรับ .NET ติดตั้ง ในโปรเจ็กต์ของคุณ กระบวนการติดตั้งไลบรารีนี้ค่อนข้างง่าย เปิดตัวจัดการแพ็คเกจ NuGet ค้นหา Aspose.HTML และติดตั้ง คุณยังอาจใช้คำสั่งต่อไปนี้จาก Package Manager Console:


ติดตั้ง Aspose.HTML สำหรับ .NET

Install-Package Aspose.HTML



แยกรูปภาพจาก HTML โดยใช้ C#

เมื่อใช้ไลบรารีคลาส Aspose.HTML สำหรับ .NET คุณสามารถสร้างแอปพลิเคชันของคุณเองได้อย่างง่ายดาย เนื่องจาก API ของเรามีชุดเครื่องมือที่มีประสิทธิภาพในการวิเคราะห์และรวบรวมข้อมูลจากเอกสาร HTML หากคุณต้องการใช้ฟีเจอร์การคัดลอกข้อมูล HTML ในผลิตภัณฑ์ของคุณหรือแยกข้อมูลจาก HTML โดยทางโปรแกรม โปรดดูตัวอย่างโค้ดด้านล่าง ไม่ว่าคุณจะสร้างเว็บสแครปเปอร์หรือเครื่องมือวิเคราะห์เนื้อหา Aspose.HTML ทำให้การแยกรูปภาพเป็นกระบวนการที่ใช้งานง่าย คุณสามารถดาวน์โหลดรูปภาพทั้งหมดจากเอกสาร HTML ด้วยโค้ด C# ไม่กี่บรรทัด:


รหัส C# เพื่อดึงภาพจาก HTML

using Aspose.Html;
using Aspose.Html.Net;
using System.Linq;
using System.IO;
...

    // Prepare a path to a source HTML file
    string documentPath = Path.Combine(DataDir, "images-from-html.html");

    // Create an instance of an HTML document
    using (var document = new HTMLDocument(documentPath))
    {
        // Collect all <img> elements
        var images = document.GetElementsByTagName("img");

        // Create a distinct collection of relative image URLs
        var urls = images.Select(element => element.GetAttribute("src")).Distinct();

        // Create absolute image URLs
        var absUrls = urls.Select(src => new Url(src, document.BaseURI));

        foreach (var url in absUrls)
        {
            // Create an image request message
            using var request = new RequestMessage(url);

            // Download image
            using var response = document.Context.Network.Send(request);

            var imgName = url.Pathname.Split('/').Last();

            //Check the image in base64 encoding
            if (url.Protocol == "data:" && response.Headers.ContentType.MediaType.Type == "image")
            {
                // Get the image type and set to extension
                imgName = "img1." + response.Headers.ContentType.MediaType.SubType;
            }

            // Check whether a response is successful
            if (response.IsSuccess)
            {
                // Save image to a local file system
                File.WriteAllBytes(Path.Combine(OutputDir, imgName), response.Content.ReadAsByteArray());
            }
        }
    }



ขั้นตอนในการแยกรูปภาพจาก HTML

  1. ใช้ตัวสร้าง HTMLDocument() เพื่อเริ่มต้นเอกสาร HTML
  2. ใช้เมธอด GetElementsByTagName("img") เพื่อรวบรวมองค์ประกอบ <img> ทั้งหมด วิธีการส่งคืนรายการองค์ประกอบ <img> ของเอกสาร HTML
  3. ใช้เมธอด Select() เพื่อสร้างคอลเลกชันที่แตกต่างกันของ URL รูปภาพที่เกี่ยวข้อง และใช้เมธอด [GetAttribute("src")](5) เพื่อแยกแอตทริบิวต์ srcขององค์ประกอบ` แต่ละรายการ.
  4. สร้าง URL รูปภาพที่สมบูรณ์โดยใช้คลาส Url และคุณสมบัติ BaseURI ของคลาส HTMLDocument
  5. สำหรับแต่ละ URL ที่สมบูรณ์ ให้สร้างคำขอโดยใช้ตัวสร้าง RequestMessage(url)
  6. ใช้เมธอด Context.Network.Send(request) ของเอกสารเพื่อส่งคำขอ มีการตรวจสอบการตอบสนองเพื่อให้แน่ใจว่าสำเร็จ
  7. หากการตอบสนองสำเร็จ ให้ใช้เมธอด File.WriteAllBytes() เพื่อบันทึกแต่ละภาพลงในไฟล์ในเครื่อง
  8. ในข้อมูลโค้ด เราจะตรวจสอบว่ารูปภาพอยู่ในรูปแบบที่เข้ารหัส Base64 หรือไม่ โดยตรวจสอบโปรโตคอลของ URL และตั้งชื่อรูปภาพและนามสกุลหากเป็นจริง

Aspose.HTML สำหรับ .NET เป็นไลบรารีการแยกวิเคราะห์ HTML ขั้นสูง เราสามารถสร้าง แก้ไข นำทางผ่านโหนด แยกข้อมูล รวมและแปลงไฟล์ HTML, XHTML, MD, EPUB และ MHTML เป็น PDF, DOCX, รูปภาพ และรูปแบบยอดนิยมอื่น ๆ นอกจากนี้ยังจัดการ CSS, HTML Canvas, SVG, XPath และ JavaScript ได้ทันทีเพื่อขยายงานการจัดการ สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการติดตั้งไลบรารี C# และข้อกำหนดของระบบ โปรดดูที่ เอกสาร Aspose.HTML

คุณสมบัติไลบรารี C# อื่น ๆ ที่รองรับ

ใช้ไลบรารี Aspose.HTML สำหรับ .NET เพื่อแยกวิเคราะห์และจัดการเอกสารที่ใช้ HTML ชัดเจน ปลอดภัย และเรียบง่าย!