Создание веб-сканера, чтобы иметь цикл - PullRequest
2 голосов
/ 01 октября 2019

Я попытался сделать так, чтобы у моего веб-сканера был цикл для сканирования веб-страницы от 1 до 500. Но результат не включает какой-либо направленный, а возвращает единственный пустой массив.

Этот кодоснован на cheerio, jQuery и axios. JavaScript.

const axios = require("axios");
const cheerio = require("cheerio");
const log = console.log;

const getHtml = async() => {
    var i=0
    while (i<493){
        try {
            return await axios.get("https://playentry.org/ds#!/qna?sort=created&rows=20&page="+i);
        } catch (error) {
            console.error(error);
        }
    }
};

getHtml()
    .then(html => {
        let ulList = [];
        const $ = cheerio.load(html.data);
        const $bodyList = $("div.discussContentWrapper div.discussListWrapper table.discussList").children("tr.discussRow");

        $bodyList.each(function(i, elem){
            ulList[i] = {
                title:$(this).find('td.discussTitle div.discussTitleWrapper'),
                writer:$(this).find('td.discussTitle td.discussViewCount'),
                viewcount:$(this).find('td.discussTitle td.discussViewCount'),
                likecount:$(this).find('td.discussTitle div.discussLikeCount'),
                date:$(this).find('td.discussTitle td.discussDate'),
            };
        });

    const data = ulList.filter(n => n.title);
    return data;
})
.then(res => log(res));

Вывод '''[]''' или '''[ [] ]''' без реальных выводов. Заранее спасибо за помощь.

...