ไลบรารี Ruby ฟรีสำหรับการอ่าน, เขียน & แยกวิเคราะห์ไฟล์ HTML
ไลบรารี Ruby แบบโอเพ่นซอร์สสำหรับการจัดการเอกสาร HTML และ XML รองรับการอ่าน, เขียน, แก้ไข, และสอบถามเอกสาร HTML ผ่าน Ruby API.
ในโลกของการพัฒนาเว็บ การแยกวิเคราะห์และจัดการเอกสาร HTML และ XML เป็นงานทั่วไป ภาษาโปรแกรม Ruby มีเครื่องมือที่ทรงพลังสำหรับจัดการงานเหล่านี้ผ่านไลบรารี Nokogiri. Nokogiri ให้วิธีที่สวยงามและมีประสิทธิภาพในการแยกวิเคราะห์และจัดการเอกสาร HTML และ XML ทำให้เป็นเครื่องมือที่จำเป็นในกล่องเครื่องมือของนักพัฒนา Ruby ไม่ว่าคุณจะเป็นผู้เริ่มต้นหรือผู้พัฒนาที่มีประสบการณ์ ไลบรารีนี้ทำให้กระบวนการทำงานกับเอกสารที่มีโครงสร้างใน Ruby ง่ายขึ้น
Nokogiri เป็นเจ็ม Ruby แบบโอเพนซอร์สที่มีประสิทธิภาพสูงซึ่งทำหน้าที่เป็นสะพานระหว่างภาษาโปรแกรม Ruby กับไลบรารี libxml2 และ libxslt. มันช่วยให้นักพัฒนาซอฟต์แวร์สามารถแยกวิเคราะห์และจัดการเอกสาร HTML และ XML ได้อย่างง่ายดาย ไม่ว่าคุณจะทำการขูดข้อมูลจากเว็บไซต์, ดึงข้อมูลจาก API ที่ใช้ XML, หรือทำการแปลงโครงสร้างเอกสาร, Nokogiri ทำให้งานเหล่านี้ง่ายขึ้น ไลบรารีนี้รองรับการค้นหาเอกสารผ่าน XPath 1.0, การตรวจสอบ XSD Schema, ตัวแยกวิเคราะห์ DOM หรือ SAX สำหรับ XML, การแปลง XSLT, HTML4, HTML5 และอื่น ๆ
Nokogiri ได้รวม API ที่เข้าใจง่ายสำหรับการอ่าน, เขียน, แก้ไข และสอบถามเอกสาร ไลบรารีนี้ให้การสนับสนุนการเข้ารหัสเอกสารอย่างครบถ้วน เพื่อจัดการการเข้ารหัสเอกสารอย่างถูกต้องจึงแนะนำให้ตั้งค่าการเข้ารหัสอย่างชัดเจน ความง่ายในการใช้ วิธีการเลือกที่ทรงพลัง และความสามารถในการจัดการที่มีประสิทธิภาพทำให้เป็นตัวเลือกที่ยอดเยี่ยมสำหรับงานเช่นการดึงข้อมูลจากเว็บ การประมวลผล XML และการแยกวิเคราะห์ HTML ดังนั้นไปสำรวจคุณลักษณะของมันและเปิดศักยภาพของการแยกวิเคราะห์และจัดการเอกสารอย่างมีประสิทธิภาพในโครงการ Ruby ของคุณ
เริ่มต้นกับ Nokogiri
วิธีที่แนะนำและง่ายที่สุดในการติดตั้ง Nokogiri คือการใช้ RubyGems ซึ่งเป็นเครื่องมือจัดการการพึ่งพาสำหรับ Ruby โปรดใช้คำสั่งต่อไปนี้เพื่อการติดตั้งที่ราบรื่น
ติดตั้ง Nokogiri ผ่าน RubyGemsx
$ gem install nokogiriคุณยังสามารถติดตั้งด้วยตนเอง; ดาวน์โหลดไฟล์เวอร์ชันล่าสุดโดยตรงจากที่เก็บ GitHub
การแยกวิเคราะห์เอกสาร HTML ผ่าน Ruby API
ไลบรารีโอเพ่นซอร์ส Nokogiri ได้รวมการสนับสนุนการโหลดและการพาร์ส HTML รวมถึงเอกสาร XML ภายในแอปพลิเคชัน Ruby การพาร์ส HTML และ XML เป็นหัวใจหลักของความสามารถของ Nokogiri ไลบรารีนี้ให้วิธีหลักสองวิธีในการพาร์สเอกสาร: จากไฟล์หรือจากสตริง เพื่อบรรลุเป้าหมาย คุณต้องใช้คลาส Nokogiri::HTML เพื่อสร้างอ็อบเจกต์เอกสารและจากนั้นสามารถเดินทางผ่านเอกสารโดยใช้วิธีและตัวเลือกต่าง ๆ คล้ายกับ CSS หรือ XPath ตัวอย่างต่อไปนี้แสดงให้เห็นว่าผู้พัฒนาซอฟต์แวร์สามารถพาร์สและสอบถามเอกสารโดยใช้คำสั่ง Ruby ได้อย่างไร
วิธีการแยกวิเคราะห์และสอบถามเอกสาร HTML ภายในแอป Ruby?
#! /usr/bin/env ruby
require 'nokogiri'
require 'open-uri'
# Fetch and parse HTML document
doc = Nokogiri::HTML(URI.open('https://nokogiri.org/tutorials/installing_nokogiri.html'))
# Search for nodes by css
doc.css('nav ul.menu li a', 'article h2').each do |link|
puts link.content
end
# Search for nodes by xpath
doc.xpath('//nav//ul//li/a', '//article//h2').each do |link|
puts link.content
end
# Or mix and match
doc.search('nav ul.menu li a', '//article//h2').each do |link|
puts link.content
end
การแก้ไขเอกสาร HTML/XML ผ่าน Ruby
ไลบรารี Nokogiri เป็นทรัพยากรที่มีคุณค่าสำหรับนักพัฒนา Ruby ทุกคนที่ต้องทำงานกับเอกสาร HTML และ XML ไลบรารีนี้ทำให้ผู้พัฒนาซอฟต์แวร์สามารถโหลดและจัดการเอกสาร HTML หรือ XML ด้วยโค้ด Ruby ได้อย่างง่ายดาย มันช่วยให้นักพัฒนาสามารถแก้ไขเอกสารโดยการเพิ่ม, ปรับปรุง หรือ ลบองค์ประกอบและแอตทริบิวต์ต่าง ๆ ซึ่งเป็นประโยชน์อย่างยิ่งเมื่อคุณต้องจัดการหน้าเว็บหรือสร้างเนื้อหาแบบไดนามิก ตัวอย่างต่อไปนี้แสดงให้เห็นว่าผู้พัฒนาซอฟต์แวร์สามารถเพิ่มองค์ประกอบใหม่ลงในเอกสาร HTML ภายในแอปพลิเคชัน Ruby ได้อย่างไร
วิธีเพิ่มองค์ประกอบใหม่ลงในเอกสาร HTML ผ่าน Ruby API?
new_element = Nokogiri::XML::Node.new('p', doc)
new_element.content = 'This is a new paragraph.'
# Add the new element to the document
doc.root.add_child(new_element)
ใช้ XPath และ CSS Selector ผ่าน Ruby
ไลบรารีโอเพนซอร์ส Nokogiri มีเมธอดหลากหลายสำหรับค้นหาองค์ประกอบเฉพาะภายในเอกสาร มันอนุญาตให้ผู้ใช้ใช้ทั้ง XPath และตัวเลือก CSS เพื่อเดินทางและเลือกองค์ประกอบภายในเอกสารที่ถูกแปลงในแอปพลิเคชัน Ruby ซึ่งทำให้การดึงข้อมูลเฉพาะหรือการจัดการโครงสร้างของเอกสารเป็นเรื่องง่าย ตัวอย่างต่อไปนี้แสดงให้เห็นว่าผู้พัฒนาซอฟต์แวร์สามารถเลือกองค์ประกอบได้อย่างง่ายดายโดยใช้ XPath รวมถึงตัวเลือก CSS ด้วยคำสั่ง Ruby
วิธีเลือกองค์ประกอบโดยใช้ XPath หรือ CSS Selector ผ่าน Ruby API?
new_element = Nokogiri::XML::Node.new('p', doc)
new_element.content = 'This is a new paragraph.'
# Add the new element to the document
doc.root.add_child(new_element)