JavaScript:
การวิเคราะห์ HTML
วิธีการ:
ลองแยกคำสั่ง HTML โดยใช้ API DOMParser
ใน JavaScript
const parser = new DOMParser();
const htmlString = `<p>Hello, world!</p>`;
const doc = parser.parseFromString(htmlString, 'text/html');
console.log(doc.body.textContent); // ผลลัพธ์: Hello, world!
ตอนนี้, มาจับอะไรที่เฉพาะเจาะจงกว่านั้น, เช่น องค์ประกอบที่มีคลาส:
const htmlString = `<div><p class="greeting">Hello, again!</p></div>`;
const doc = parser.parseFromString(htmlString, 'text/html');
const greeting = doc.querySelector('.greeting').textContent;
console.log(greeting); // ผลลัพธ์: Hello, again!
ลงลึก
การแยกคำสั่ง HTML เป็นสิ่งที่มีมาตั้งแต่อินเทอร์เน็ตเริ่มต้น เดิมทีเป็นเรื่องของเบราว์เซอร์—เบราว์เซอร์แยกคำสั่ง HTML เพื่อแสดงหน้าเว็บ ตลอดเวลา, นักพัฒนาต้องการใช้ประโยชน์จากกระบวนการนี้, นำไปสู่ API เช่น DOMParser
มีทางเลือกอื่นหรือไม่? แน่นอน เรามีไลบรารีเช่น jQuery
และเครื่องมืออย่าง BeautifulSoup
สำหรับ Python แต่ DOMParser
ของ JavaScript เป็นตัวเดียวที่เร็วและในตัว, ไม่ต้องการไลบรารีเพิ่มเติม
ในด้านการประยุกต์ใช้งาน, เมื่อคุณแยกคำสั่ง HTML ด้วย DOMParser
, มันสร้างวัตถุ Document
นึกถึงมันเหมือนกับแบบจำลองเชิงลำดับของ HTML ของคุณ เมื่อคุณได้รับมัน, คุณสามารถนำทางและจัดการมันได้เหมือนกับ DOM ของหน้าเว็บปกติ
นี่คือสิ่งที่—การแยกคำสั่งสามารถพบกับ HTML ที่ไม่ถูกต้องได้ เบราว์เซอร์เป็นอะไรที่ใจกว้าง, แต่ DOMParser
อาจไม่ใช่ เพราะฉะนั้น, สำหรับงานที่ซับซ้อนหรือ HTML ที่ไม่เรียบร้อย, ไลบรารีของบุคคลที่สามอาจทำงานทำความสะอาดได้ดียิ่งขึ้น
ดูเพิ่มเติม
- คู่มือ MDN Web Docs สำหรับ API
DOMParser
: MDN DOMParser - ความสามารถในการแยกคำสั่งของ jQuery: jQuery.parseHTML()
- Cheerio, การประยุกต์ใช้ jQuery หลักที่รวดเร็ว, ยืดหยุ่น & กระชับสำหรับเซิร์ฟเวอร์: Cheerio.js
- สำหรับการแยกคำสั่งที่ไม่ใช่ JS: ไลบรารี BeautifulSoup ของ Python: Beautiful Soup