0
로드 버튼으로 웹 사이트를 긁어 내려고했지만 악몽과 함께 재귀 기능을 수행 할 수 없습니다. 내 코드는 다음과 같은 것입니다 :이 방법 또는 다른 생각에 의해 그것을 할 수있는 방법이있는 경우"더 많은로드"단추가있는 긁힌 자국 JS
const Nightmare = require('nightmare');
const nightmare = Nightmare({
show:true
});// }
const request = require('request');
const cheerio = require('cheerio');
let url = 'https://www.housers.com/es/proyectos/avanzado';
let propertyArray = [];
var getThePage = function() {
nightmare
.goto('https://www.housers.com/es/proyectos/avanzado')
.wait(1500)
.click('#loadMore')
.evaluate(() =>{
return document.querySelector('.all-info').innerHTML;
})
.end()
.then((result) => {
let $ = cheerio.load(result);
let loadMore = $('#loadMore')
if (loadMore) {
getThePage();
}
return result
})
.catch((error) => {
console.error('Search failed:', error);
});
}
getThePage()
모르겠어요
감사 :
은 그럼 그냥 배열에 HTML & 넣어 데이터를 분석해야합니다. 더 많은 것을 명확히하기 위해 나는 브라우저와 내부 네트워크 "dev bar"에서 체크인했고, webesite에 대한 요청을 확인할 수 있었다. 무한 스크롤 또는 더 많은 버튼을로드하더라도 선택기를 찾을 필요가 없으므로 도메인에 대한 호출이 표시됩니다. –