ספריית Ruby חינמית לקריאה, כתיבה וניתוח קבצי HTML
ספריית Ruby בקוד פתוח לטיפול במסמכי HTML ו‑XML. היא תומכת בקריאה, כתיבה, שינוי וביצוע שאילתות על מסמכי HTML דרך API של Ruby.
בעולם פיתוח האינטרנט, ניתוח ועריכת מסמכי HTML ו-XML הם משימות נפוצות. שפת התכנות רובי מציעה כלי חזק לטיפול במשימות אלו דרך ספריית נוקוגירי. נוקוגירי מספקת דרך אלגנטית ויעילה לנתח ולערוך מסמכי HTML ו-XML, מה שהופך אותה לכלי חיוני בארגז הכלים של כל מפתח רובי. בין אם אתה מתחיל או מפתח מנוסה, הספרייה מפשטת את תהליך העבודה עם מסמכים מובנים ברובי.
נוקוגירי היא ג'ם קוד פתוח מאוד חזק של רובי המשמשת כגשר בין שפת התכנות רובי לבין הספריות libxml2 ו-libxslt. היא מאפשרת למפתחי תוכנה לנתח ולערוך הן מסמכי HTML והן מסמכי XML בקלות. בין אם אתה אוסף נתונים מאתרים, מחלץ מידע מ-API מבוססי XML, או מבצע טרנספורמציות על מבני מסמכים, היא מפשטת משימות אלו. הספרייה תומכת בחיפוש מסמכים באמצעות XPath 1.0, באימות סכמת XSD, בפרסר DOM או SAX ל-XML, בטרנספורמציית XSLT, ב-HTML4 וב-HTML5 ועוד.
Nokogiri כולל API קל להבנה לקריאה, כתיבה, שינוי ושאילתת מסמכים. הספרייה מספקת תמיכה מלאה בקידוד מסמכים. כדי לטפל בקידוד המסמך בצורה נכונה, תמיד מומלץ להגדיר במפורש את הקידוד. קלות השימוש, שיטות הבחירה החזקות והיכולת למניפולציה יעילה הופכות אותו לבחירה מצוינת למשימות כגון סריקת אתרים, עיבוד XML וניתוח HTML. אז קדימה, חקרו את התכונות שלו ופתחו את הפוטנציאל של ניתוח ומניפולציה יעילים של מסמכים בפרויקטי Ruby שלכם.
התחלה עם Nokogiri
הדרך המומלצת והקלה ביותר להתקנת Nokogiri היא באמצעות RubyGems, כלי ניהול התלויות עבור Ruby. אנא השתמשו בפקודה הבאה להתקנה חלקה.
התקנת Nokogiri באמצעות RubyGemsx
$ gem install nokogiriאתם יכולים גם להתקין אותו ידנית; הורידו את קבצי השחרור האחרונים ישירות ממאגר GitHub.
פירוש מסמכי HTML באמצעות API של Ruby
הספרייה הקוד הפתוח 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 באמצעות API של Ruby?
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 Selectors באמצעות Ruby
ספריית הקוד הפתוח Nokogiri סיפקה מגוון רחב של שיטות לחיפוש אלמנטים ספציפיים בתוך מסמך. היא מאפשרת למשתמשים להשתמש גם בבוררי XPath וגם בבוררי CSS כדי לנווט ולבחור אלמנטים בתוך מסמך מפוענח בתוך יישומי Ruby. זה מקל על חילוץ מידע ספציפי או על שינוי מבנה המסמך. הדוגמאות הבאות מראות כמה בקלות מפתחים יכולים לבחור אלמנטים באמצעות XPath וכן באמצעות בורר CSS בעזרת פקודות Ruby.
איך לבחור אלמנטים באמצעות XPath או CSS Selector באמצעות API של Ruby?
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)