
การอ่านและแยกวิเคราะห์เอกสาร HTML ช่วยดึงข้อมูลจากเนื้อหาออนไลน์ ไม่ว่าคุณจะสร้างเว็บสเครปเปอร์ วิเคราะห์เนื้อหาเว็บ หรือเพียงต้องการแยกข้อความบางส่วนออกจากหน้าเว็บ บทความนี้จึงครอบคลุมถึงวิธีการอ่าน HTML ใน Java
กำหนดค่า HTML Reader API ใน Java
คุณสามารถกำหนดค่า API ได้จากหน้า ดาวน์โหลด หรือกำหนดค่า Conholdate.Total สำหรับ Java โดยใช้การกำหนดค่า Maven ต่อไปนี้:
<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>23.8</version>
<type>pom</type>
</dependency>
ทำไมต้องอ่าน HTML ใน Java?
ก่อนที่เราจะเจาะลึกด้านเทคนิค เรามาพูดคุยกันสั้นๆ ว่าทำไมการอ่าน HTML ใน Java จึงมีความสำคัญ:
การดึงข้อมูล: HTML เป็นพื้นฐานของเว็บ และเว็บไซต์หลายแห่งจัดเก็บข้อมูลอันมีค่าไว้ในโครงสร้าง HTML ของตน ด้วยการแยกวิเคราะห์และแยกข้อมูลจากเอกสาร HTML คุณสามารถรวบรวมและวิเคราะห์ข้อมูลได้โดยอัตโนมัติ
Web Scraping: เมื่อสร้างเครื่องมือขูดเว็บ Java ให้ความสามารถในการเข้าถึงและคัดลอกเนื้อหา HTML ทำให้คุณสามารถรวบรวมข้อมูลจากเว็บไซต์เพื่อวัตถุประสงค์ต่างๆ เช่น การวิจัยตลาดหรือการวิเคราะห์ข้อมูล
แอปพลิเคชันเว็บแบบกำหนดเอง: Java สามารถใช้เพื่อสร้างแอปพลิเคชันเว็บและบริการแบบกำหนดเองที่โต้ตอบกับเนื้อหา HTML ทำให้คุณสามารถสร้างเครื่องมือบนเว็บหรือรวมแหล่งข้อมูลภายนอกได้
อ่านไฟล์ HTML ใน Java
HTML (Hypertext Markup Language) เป็นภาษามาตรฐานสำหรับการสร้างหน้าเว็บ เมื่อทำงานกับ HTML ใน Java เป้าหมายของคุณอาจเป็นการดึงข้อมูลจากหน้าเว็บ จัดการโครงสร้างของหน้าเว็บ หรือวิเคราะห์เนื้อหา เพื่อให้งานเหล่านี้สำเร็จ คุณต้องอ่านและแยกวิเคราะห์ HTML อย่างมีประสิทธิภาพ คุณสามารถอ่านไฟล์ HTML ใน Java ได้โดยทำตามขั้นตอนด้านล่าง:
- รับเนื้อหา HTML อินพุตโดยใช้คลาส HTMLDocument
- อ่าน HTML ด้วยคุณสมบัติ OuterHTML
โค้ดตัวอย่างต่อไปนี้แสดงวิธีการอ่านไฟล์ HTML ใน Java:
String documentPath = "document.html";
// โหลดไฟล์ HTML
var document = new com.aspose.html.HTMLDocument(documentPath);
// เขียนเนื้อหาเอกสารไปยังเอาท์พุตสตรีม
System.out.println(document.getDocumentElement().getOuterHTML());
นำทางไฟล์ HTML เพื่ออ่านเนื้อหา HTML ใน Java
คุณสามารถวนซ้ำผ่านข้อมูล HTML ได้โดยการนำทางผ่านโหนดต่างๆ ตามที่ระบุไว้ในขั้นตอนต่อไปนี้:
- รับเนื้อหา HTML ด้วยคลาส HTMLDocument
- เข้าถึงลูกคนแรกของเนื้อหาเนื้อหา
- นำทางไปยังโหนดถัดไปและอ่านเนื้อหา HTML
ข้อมูลโค้ดด้านล่างอธิบายวิธีนำทาง HTML เพื่ออ่าน HTML ใน Java:
// เตรียมโค้ด HTML
var html_code = "<span>Hello</span> <span>World!</span>";
// เริ่มต้นเอกสารจากรหัสที่เตรียมไว้
var document = new com.aspose.html.HTMLDocument(html_code, ".");
// รับการอ้างอิงถึงลูกคนแรก (SPAN แรก) ของ BODY
var element = document.getBody().getFirstChild();
System.out.println(element.getTextContent()); // output: Hello
// รับการอ้างอิงถึงช่องว่างระหว่างองค์ประกอบ html
element = element.getNextSibling();
System.out.println(element.getTextContent()); // output: ' '
// รับการอ้างอิงถึงองค์ประกอบ SPAN ที่สอง
element = element.getNextSibling();
System.out.println(element.getTextContent()); // output: World!
อ่านไฟล์ HTML เป็นสตริงใน Java
คุณสามารถแยกวิเคราะห์ข้อมูลจากไฟล์ HTML เป็นสตริงและส่งออกเป็นรูปแบบข้อความได้โดยทำตามขั้นตอนด้านล่าง:
- สร้างวัตถุของคลาส HTMLDocument
- แยกวิเคราะห์เนื้อหาข้อความของข้อมูล HTML
- ส่งออกไฟล์ TXT เอาต์พุต
ตัวอย่างโค้ดต่อไปนี้อธิบายวิธีการอ่านไฟล์ HTML เป็นสตริงใน Java:
// เริ่มต้นวัตถุ HTMLDocument ด้วย URL
com.aspose.html.HTMLDocument document = new com.aspose.html.HTMLDocument(dataDir + "document.html");
// อ่านเนื้อหาข้อความในรูปแบบ HTML
String text = document.getBody().getTextContent();
// ส่งออก HTML เป็นไฟล์ข้อความ
String path = dataDir + "webpage.txt";
Files.write( Paths.get(path), text.getBytes());
อ่าน HTML ออนไลน์
คุณสามารถแยกวิเคราะห์หน้า HTML และข้อมูลเพื่อแยกข้อความหรือรูปภาพออนไลน์ได้โดยไม่จำเป็นต้องติดตั้งแอปพลิเคชันพิเศษใดๆ เพียงใช้เครื่องมือ HTML Reader and Parser Online ต่อไปนี้ และทำตามขั้นตอนง่ายๆ เพื่ออ่านข้อมูล HTML
ใบอนุญาตการประเมินผลฟรี
คุณสามารถขอ [ใบอนุญาตชั่วคราวฟรี] เพื่อประเมิน API ให้เต็มประสิทธิภาพได้
สรุป
การอ่าน HTML ใน Java เป็นทักษะที่จำเป็นสำหรับงานต่างๆ ที่เกี่ยวข้องกับเว็บ ตั้งแต่การดึงข้อมูล การขูดเว็บ ไปจนถึงการสร้างเว็บแอปพลิเคชันแบบกำหนดเอง ด้วยการทำตามขั้นตอนและตัวอย่างที่อธิบายไว้ในบล็อกโพสต์นี้ คุณสามารถเริ่มทำงานกับ HTML ใน Java และปลดล็อกความเป็นไปได้มากมายสำหรับโปรเจ็กต์ของคุณ ในกรณีที่มีข้อสงสัยใดๆ โปรดติดต่อเราที่ ฟอรั่ม