มีอะไรที่เหมือนกับnokogiriของรูบี้บน nodejs ไหม? ฉันหมายถึง HTML-parser ที่ใช้งานง่าย
ฉันเห็นในโมดูล Node.js หน้าตัวแยกวิเคราะห์บางอย่าง แต่ฉันไม่สามารถหาสิ่งที่สวยและสดใหม่
มีอะไรที่เหมือนกับnokogiriของรูบี้บน nodejs ไหม? ฉันหมายถึง HTML-parser ที่ใช้งานง่าย
ฉันเห็นในโมดูล Node.js หน้าตัวแยกวิเคราะห์บางอย่าง แต่ฉันไม่สามารถหาสิ่งที่สวยและสดใหม่
คำตอบ:
หากคุณต้องการที่จะสร้างDOMคุณสามารถใช้jsdom
นอกจากนี้ยังมีcheerioมีส่วนต่อประสานjQueryและเร็วกว่ารุ่นเก่าของ jsdom ถึงแม้ว่าทุกวันนี้ประสิทธิภาพจะคล้ายกัน
คุณอาจต้องการดูhtmlparser2ซึ่งเป็น parser แบบสตรีมและตามเกณฑ์มาตรฐานดูเหมือนว่าจะเร็วกว่าตัวอื่น ๆ และไม่มี DOM เป็นค่าเริ่มต้น มันยังสามารถสร้าง DOM ได้เนื่องจากมันยังรวมกับตัวจัดการที่สร้าง DOM นี่คือตัวแยกวิเคราะห์ที่ใช้โดย cheerio
parse5ยังดูเหมือนเป็นทางออกที่ดี มันเป็นงานอย่างเป็นธรรม (11 วันนับจากวันสุดท้ายกระทำในฐานะของการปรับปรุงนี้) WHATWG ที่สอดคล้องและถูกนำมาใช้ในjsdom , เชิงมุมและพอลิเมอ
และถ้าคุณต้องการที่จะแยก HTML สำหรับขูดเว็บคุณสามารถใช้YQL 1 มีโมดูลโหนดสำหรับมัน YQL ฉันคิดว่าจะเป็นทางออกที่ดีที่สุดหาก HTML ของคุณมาจากเว็บไซต์คงที่เนื่องจากคุณพึ่งพาบริการไม่ใช่รหัสของคุณและกำลังการประมวลผล แม้ว่าจะทราบว่ามันจะไม่ทำงานหากหน้าไม่ได้รับอนุญาตจาก robots.txt ของเว็บไซต์ YQL จะไม่ทำงาน
หากเว็บไซต์ที่คุณกำลังพยายามที่จะขูดเป็นแบบไดนามิกแล้วคุณควรจะใช้เบราว์เซอร์หัวขาดเช่นphantomjs นอกจากนี้ยังมีการดูcasperjsหากคุณกำลังพิจารณา phantomjs และคุณสามารถควบคุม casperjs จากโหนดกับSpookyJS
ข้าง phantomjs มีzombiejs ซึ่งแตกต่างจาก phantomjs ที่ไม่สามารถฝังตัวใน nodejs zombiejs เป็นเพียงโมดูลโหนด
มีnettuts + toturialสำหรับการแก้ปัญหาหลัง
1ตั้งแต่สิงหาคม 2014 ห้องสมุด YUI ซึ่งเป็นข้อกำหนดสำหรับ YQL จะไม่ได้รับการบำรุงรักษาแหล่งที่มาอีกต่อไป
ลองใช้https://github.com/tmpvar/jsdom - คุณให้ HTML และให้ DOM
นอกจากนี้คุณยังสามารถดู x-ray: https://github.com/lapwinglabs/x-ray