Пропустить время ожидания с помощью node-fetch - PullRequest
0 голосов
/ 10 июня 2018

Я использую node-fetch и cheerio для сканирования данных с комического сайта .Я просто использую простой код для отображения html тела, как показано ниже:

var fetch = require('node-fetch');
var cheerio = require('cheerio');

var url = 'http://readcomiconline.to';

function getComic() {
    fetch(url)
        .then(res => res.text())
        .then(body => console.log(body));
}

getComic();

Проблема состоит в том, что на этой странице используется код JavaScript, который клиент должен ждать в течение 5 секунд, прежде чем он перенаправит на главную страницу, поэтомуЯ не могу ничего сканировать до загрузки основных страниц.

Как пропустить это время и начать сканировать данные со страниц.

Спасибо.

Ответы [ 2 ]

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

Вам не нужно ждать 5 секунд, потому что он будет работать в браузере.

У вас есть форма #challenge-form, используйте cheerio , чтобы получить url, method и данные(значение ввода) формы и запросить ее (сохранить cookie).

Вы можете использовать devtool (хром или что-то подобное, проверить форму запроса в браузере).

Этоэто проект, который я пытаюсь войти facebook: index.js , это может помочь вам.

0 голосов
/ 10 июня 2018

Похоже, вам понадобится больше, чем эти 2 модуля.

Веб-сайт, который вы пытаетесь очистить, использует JS для отправки подтверждения на /cdn-cgi/l/chk_jschl и получения файлов cookie.Вы можете использовать Селен или поменять местами js.

Более подробная информация здесь: Просмотр веб-страниц Python: 503 Ответ с конкретным сайтом (как получилось?)

...