0

我使用node-fetchCheerio漫画网站中获取数据。我只是使用一个简单的代码来显示正文 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秒才能重定向到主页,所以在主页加载之前我无法抓取任何东西。

我怎样才能跳过这段时间并开始从页面中抓取数据。

谢谢你。

4

2 回答 2

2

看起来您需要的不仅仅是这两个模块。

您尝试抓取的网站使用 JS 向其发送验证/cdn-cgi/l/chk_jschl并获取 cookie。您可以使用selenium或反转 js。

更多信息在这里:Python网络抓取:503响应特定站点(怎么来?)

于 2018-06-10T12:29:08.450 回答
0

您不需要等待 5 秒,因为它会在浏览器中运行。

你有表单#challenge-form,使用cheerio获取表单urlmethod数据(输入值),并请求它(保存cookie)。

您可以使用devtool(chrome,或类似浏览器中的请求检查形式)。

这是我尝试登录的项目facebookindex.js,它可能会对你有所帮助。

于 2018-07-17T16:44:37.430 回答