cheerio와 node.js를 사용하여 웹 페이지를 구문 분석 한 다음 CSS 선택기를 사용하여 데이터를 찾습니다. Cheerio는 조작 된 html에서 그렇게 잘 수행되지 않습니다. jsdom은 더 관대하지만, 둘 다 다르게 행동하며 어떤 경우에는 다른 것이 잘 작동하면 두 가지가 모두 깨어지는 것을 보았습니다.나쁜 HTML에서 DOM을 '해결'하기위한 Chrome의 기능을 어떻게 복제 할 수 있습니까?
Chrome은 DOM을 만들 때 같은 형식의 html로 훌륭하게 작동하는 것으로 보입니다.
조작 된 HTML에서 DOM을 만드는 Chrome의 기능을 복제 한 다음이 DOM의 '깨끗한'HTML 표현을 처리하여 Cheerio에 제공하려면 어떻게해야합니까?
이 방법은 내가 얻는 HTML이 잘 형성된다는 것을 알 것입니다. page.content를 설정하여 phantomjs를 시도했지만 page.content의 값을 읽을 때 html은 여전히 형식이 잘못되었습니다.
당신이 설명하는 것처럼 어떤 구문 분석 실패로 jsdom 출원 버그 싶어요. jsdom은 브라우저 구문 분석 알고리즘을 100 % 정확도로 에뮬레이트하기 위해 노력하고 있으므로 사용 사례에 맞게 작동해야합니다. 그렇지 않으면 버그가 수정됩니다. – Domenic