簡體   English   中英

使用node-fetch跳過等待時間

[英]Skip waiting time using node-fetch

我使用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秒鍾才能重定向到主頁,因此我無法在加載主頁之前抓取任何內容。

我該如何跳過這次並開始從頁面中爬網數據。

謝謝。

看起來您將需要的不僅僅是這兩個模塊。

您要抓取的網站使用JS將驗證發送到/cdn-cgi/l/chk_jschl並獲取cookie。 您可以使用或逆轉js。

此處有更多信息: Python網頁抓取:503特定網站的回復(為什么?)

您不需要等待5秒鍾,因為它將在瀏覽器中運行。

您具有表單#challenge-form ,使用cheerio獲取#challenge-form urlmethod和data(輸入值),並請求它(保存cookie)。

您可以使用devtool (Chrome瀏覽器,或類似的瀏覽器中的請求檢查表)。

這是我嘗試登錄facebook項目: index.js ,可能會對您有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM