Nếu bạn muốn xây dựng DOM bạn có thể sử dụng jsdom.
Ngoài ra còn có cheerio, nó có giao diện jQuery và nhanh hơn rất nhiều so với phiên bản cũ hơn của jsdom, mặc dù những ngày này chúng tương tự về hiệu suất.
Bạn có thể muốn xem htmlparser2, là trình phân tích cú pháp truyền trực tuyến và theo chuẩn của nó, nó có vẻ nhanh hơn các trình duyệt khác và không có DOM theo mặc định. Nó cũng có thể tạo ra một DOM, vì nó cũng đi kèm với một trình xử lý tạo ra một DOM. Đây là trình phân tích cú pháp được sử dụng bởi cổ vũ.
parse5 cũng giống như một giải pháp tốt. Nó khá hoạt động (11 ngày kể từ lần commit cuối cùng của bản cập nhật này), tuân theo WHATWG và được sử dụng trong jsdom, Angular và Polymer.
Và nếu bạn muốn phân tích cú pháp HTML cho web scraping, bạn có thể sử dụng YQL. Có một node module cho nó. YQL Tôi nghĩ rằng sẽ là giải pháp tốt nhất nếu HTML của bạn là từ một trang web static, vì bạn đang dựa vào một dịch vụ, không phải mã của riêng bạn và sức mạnh xử lý. Mặc dù lưu ý rằng nó sẽ không hoạt động nếu trang không được phép bởi robots.txt của trang web, YQL sẽ không hoạt động với nó.
Nếu trang web bạn đang cố gắng xóa là dynamic thì bạn nên sử dụng headless browser như phantomjs. Ngoài ra, hãy xem casperjs nếu bạn đang xem xét các ảo ảnh. Và bạn có thể kiểm soát casperjs từ nút với SpookyJS.
Bên cạnh các ảo ảnh có zombiejs. Không giống như các phantomjs không thể được nhúng trong nodej, zombiej chỉ là một mô-đun nút.
Có một số nettuts+ toturial cho các giải pháp sau.
Nguồn
2011-11-02 09:27:49
Ý anh là gì bằng cách "thân thiện"? Thuận tiện để làm việc và chọn các nút với, chẳng hạn như XPath của Nokogiri và hỗ trợ bộ chọn CSS? Bạn có thể phân tích cú pháp HTML "súp thẻ" không hợp lệ không? – Phrogz
Nếu bạn cảm thấy thoải mái với jQuery, hãy xem xét [câu trả lời này] (http://stackoverflow.com/a/31361044/778272). –
Tại sao các bạn luôn đánh giá tất cả mọi thứ như là tắt chủ đề hoặc không thể chấp nhận hoặc bất cứ điều gì? Đây là một người thực sự với một câu hỏi hợp pháp. Bạn chỉ cần tiếp tục và đóng nó lại. Nó có khiến bạn cảm thấy quan trọng hay gì đó không? –