Laden Sie eine Webseite für die Analyse in Schienen
-
16-09-2019 - |
Frage
Angenommen, ich möchte eine Seite aus dem Internet auf meine Bewerbung und einige Art von parsing mit es.Wie mache ich das?Wo sollte ich starten aus?Sollten einige plugins/gems erforderlich?Was ist Ihre übliche Praxis bei der Lösung dieser Art von Aufgaben?
Lösung
Sie sollten versuchen, Edelsteine wie Hpricot (wiki) oder Nokogiri.
Hpricot Beispiel:
require 'open-uri'
require 'rubygems'
require 'hpricot'
html = Hpricot(open(an_url).read)
# This would search for any images inside a paragraph (XPath)
html.search('/html/body//p//img')
# This would search for any images with the class "test" (CSS selector)
html.search('img.test')
Nokogiri Beispiel:
require 'open-uri'
require 'rubygems'
require 'hpricot'
html = Nokogiri::HTML(open(an_url).read)
# This would search for any images inside a paragraph (XPath)
html.xpath('/html/body//p//img')
# This would search for any images with the class "test" (CSS selector)
html.css('img.test')
Nokogiri ist in der Regel schneller.Beide Bibliotheken verfügen über eine Menge von Funktionen.
Andere Tipps
Was Sie tun möchten, ist genannt "Schaben"
Ryan Bates hat zwei ausgezeichnete screencasts zu diesem Thema:
Ich persönlich mag Nokogiri mehr.Sie können auch überprüfen Sie heraus die folgende Antwort: Beste Rails-HTML-Parser
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow