Ruby'nin gibi orada şey mi Nokogiri nodejs üzerinde? Yani kullanıcı dostu bir HTML ayrıştırıcısı.
Node.js modülleri sayfasında bazı ayrıştırıcılar gördüm, ancak güzel ve taze bir şey bulamıyorum.
Ruby'nin gibi orada şey mi Nokogiri nodejs üzerinde? Yani kullanıcı dostu bir HTML ayrıştırıcısı.
Node.js modülleri sayfasında bazı ayrıştırıcılar gördüm, ancak güzel ve taze bir şey bulamıyorum.
Yanıtlar:
DOM oluşturmak istiyorsanız jsdom kullanabilirsiniz .
Ayrıca cheerio var, jQuery arayüzü var ve bu günlerde performans benzer olsa da jsdom'un eski sürümlerinden çok daha hızlı.
Bir akış ayrıştırıcısı olan htmlparser2'ye bakmak isteyebilirsiniz ve karşılaştırmasına göre, diğerlerinden daha hızlı görünüyor ve varsayılan olarak DOM yok. Ayrıca bir DOM oluşturan bir işleyici ile birlikte geldiği için bir DOM üretebilir. Bu, cheerio tarafından kullanılan ayrıştırıcıdır.
parse5 de iyi bir çözüm gibi görünüyor. O (son bu güncellemenin olarak taahhüt beri 11 gün) WHATWG uyumlu, oldukça aktif, ve kullanılan jsdom , açısal ve Polymer .
Web kazıma için HTML'yi ayrıştırmak istiyorsanız, YQL 1'i kullanabilirsiniz . Bunun için bir düğüm modülü var. YQL Bence HTML kodunuz statik bir web sitesindeyse, kendi kodunuza ve işlem gücünüze değil, bir hizmete güveniyorsanız en iyi çözüm olacaktır . Sayfanın web sitesinin robot.txt tarafından izin verilmemesi durumunda çalışmayacağını unutmayın, ancak YQL bununla çalışmaz.
Eğer kazımaya çalıştığınız web sitesinin ise dinamik o zaman bir kullanma olmalıdır başsız tarayıcı gibi phantomjs . Ayrıca phantomjs düşünüyorsanız , casperjs bir göz atın . Ve ile düğümden casperjs kontrol edebilirsiniz SpookyJS .
Phantomjs yanında var zombiejs . Düğümlere gömülemeyen hayaletlerin aksine, zombijs sadece bir düğüm modülüdür.
İkinci çözümler için bir nettut + toturial var .
1 Ağustos 2014'ten bu yana, YQL için bir zorunluluk olan YUI kütüphanesi artık aktif olarak korunmuyor kaynak
Https://github.com/tmpvar/jsdom'u deneyin - biraz HTML veriyorsunuz ve size bir DOM veriyor.
Ayrıca röntgene de bakabilirsiniz: https://github.com/lapwinglabs/x-ray