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ó từ biệt , nó có jQuery giao diện và nó nhanh hơn rất nhiều so với phiên bản cũ của jsdom, mặc dù những ngày này họ cũng tương tự như trong hoạt động.
Bạn có thể muốn xem htmlparser2 , đây là một trình phân tích cú pháp phát trực tuyến và theo tiêu chuẩn của nó, nó dường như nhanh hơn các phần mềm 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 được đóng gói 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 có vẻ là một giải pháp tốt. Nó khá hoạt động (11 ngày kể từ lần cam kết cuối cùng kể từ bản cập nhật này), tuân thủ WHATWG và được sử dụng trong jsdom , Angular và Polyme .
Và nếu bạn muốn phân tích HTML để quét web , bạn có thể sử dụng YQL 1 . Có một mô-đun nút cho nó. YQL Tôi nghĩ sẽ là giải pháp tốt nhất nếu HTML của bạn đến từ một trang web tĩnh , vì bạn đang dựa vào một dịch vụ, không phải mã riêng và khả năng xử lý của bạn. Mặc dù lưu ý rằng nó sẽ không hoạt động nếu trang không được robot.txt của trang web không cho phép, YQL sẽ không hoạt động với nó.
Nếu trang web bạn đang cố gắng cạo là động thì bạn nên sử dụng trình duyệt không đầu như ph Phantomjs . Ngoài ra, hãy xem casperjs , nếu bạn đang xem xét ph Phantomjs. Và bạn có thể điều khiển casperjs từ nút bằng SpookyJS .
Bên cạnh ph Phantomjs còn có zombiejs . Không giống như ph Phantomjs không thể được nhúng trong nodejs, zombiejs chỉ là một mô-đun nút.
Có một nettuts + toturial cho các giải pháp sau.
1 Kể từ tháng 8 năm 2014, thư viện YUI, một yêu cầu cho YQL, không còn được duy trì tích cực, nguồn