Соскоблите страницы, используя nodejs, cheerio - PullRequest
0 голосов
/ 09 июня 2018

Как я могу получить данные из нумерации страниц ?

Мой код хорошо работает с одной страницей, но мне нужно удалить все данные со страницы 2, страницы 3 ... инажмите в массив электронных книг.

Вот мой код

function searchEbooks(query) {
    return fetch(getUrl(1, query))
        .then(res => res.text())
        .then(body => {
            const ebooks = [];    
            $('article').each(function(i, element) {
                const $element = $(element);
                const $title = $element.find('.entry-title a');
                const $image = $element.find('.attachment-post-thumbnail');
                const $description = $element.find('.entry-summary');
                const authors = [];
                $(element).find('.entry-author a').each(function(i, element) {
                    author = $(element).text();
                    authors.push(author);
                });
                const ebook = {
                    image: $image.attr('src'),
                    title: $title.text(),
                    description: $description.text(),
                    authors: authors,
                }
                ebooks.push(ebook);
            });
            return ebooks;
        });
}

Я понятия не имею, как это сделать.Пожалуйста, дайте мне подсказку или пример.

Я использую пакеты cherrio, node-fetch.

Спасибо.

1 Ответ

0 голосов
/ 17 июля 2018

Попробуйте получить следующий URL:

var href = $('.current+a').attr('href');

if(href){
    // you can check this url
} else {
    console.log('You get all page');
}
...