Node.js의 HTML 파서
nodejs에 루비의 노코기리 같은 것이 있습니까?제 말은 사용자 친화적인 HTML 파서입니다.
Node.js 모듈에서 파서 페이지를 몇 개 봤는데 예쁘고 신선한 것을 찾을 수가 없습니다.
DOM을 구축하고 싶다면 jsdom을 사용하면 됩니다.
치어리오도 있고, jQuery 인터페이스를 갖추고 있으며, 요즘은 성능이 비슷하지만 이전 버전의 jsdom보다 훨씬 빠릅니다.
당신은 스트리밍 파서인 htmlparser2를 보고 싶을지도 모릅니다. 그리고 그것의 벤치마크에 따르면, 그것은 다른 것보다 빠르고 기본적으로 DOM이 없는 것 같습니다.또한 DOM을 생성하는 핸들러와 함께 제공되므로 DOM을 생성할 수도 있습니다.이것은 치어리더가 사용하는 파서입니다.
parse5 또한 좋은 해결책처럼 보입니다.상당히 활성화되어 있으며(이 업데이트 기준으로 마지막 커밋 이후 11일), WHATWG 준수 상태이며 jsdom, Angular, Polymer에서 사용됩니다.
스크랩하려는 웹 사이트가 동적이라면 팬텀js와 같은 헤드리스 브라우저를 사용해야 합니다.팬텀js를 고려하고 있다면 캐스퍼js도 살펴보세요.그리고 스푸키를 사용하여 노드에서 캐스퍼를 제어할 수 있습니다.제이에스
팬텀js 옆에 좀비js가 있습니다.nodejs에 포함될 수 없는 팬텀js와 달리 좀비js는 노드 모듈에 불과합니다.
후자의 솔루션을 위한 netuts+ to turial이 있습니다.
https://github.com/tmpvar/jsdom 을 사용해 보세요. HTML을 주면 DOM을 얻을 수 있습니다.
x-ray도 보실 수 있습니다. https://github.com/lapwinglabs/x-ray
언급URL : https://stackoverflow.com/questions/7977945/html-parser-on-node-js
'programing' 카테고리의 다른 글
std::sprintf와 같은 문자열 형식 포맷해서 파일 스트림으로 (0) | 2023.05.21 |
---|---|
VS 2008 중단점은 현재 적중되지 않습니다.이 문서에 대해 로드된 기호가 없습니다. (0) | 2023.05.21 |
VB.NET 'If' 문에 'Or' 조건부가 모두 평가되었습니까? (0) | 2023.05.21 |
HttpClient 요청에 대한 사용자 정의 헤더 (0) | 2023.05.21 |
메모리의 Python 목록 크기 (0) | 2023.05.21 |