Почему полученные ресурсы изменяются так часто для одного и того же URL (page.open (url)) - PullRequest
0 голосов
/ 15 февраля 2019

В настоящее время я работаю над извлечением / удалением всех изображений, полученных при запросе URL-адреса.

Проблема, с которой я сталкиваюсь, заключается в том, что ответ меняется после нескольких попыток или является очень непоследовательным даже для того же URL-адреса с использованиемphantomjs.

Я пытался очистить кэш несколько раз и в другом месте в моем коде, но номера запросов не совпадают.

o / p 1-й вызов URL 19 изображений ивсего от 49 ответов от сервера

2-го вызова 14 изображений и 48 ответов от сервера

3-го вызова 14 изображений и 38 ответов от сервера

Вывод для выполнения дважды

phantomjs-2.1.1-windows с кодом java-скрипта, использующим команду phantomjs

Я очень новичок в Javascript, мне удалось написатьследующие до сих пор

var page =  require('webpage').create();
var fs = require('fs');
var url = "https://..........";

page.settings.clearMemoryCaches = true;
page.clearMemoryCache();
page.clearCookies();
page.viewportSize = {width: 1280, height: 1024};

var imageCounter = 0;
var responseCounter = 0;


page.open(url, function (status) {
console.log(status + '*/*/*/*/*/*/**/*/*/*/*/*/*/*/*/*/*/*/*/*/')
    if(status=='success'){
        console.log('The entire page is loaded.............################');
        console.log('\n' + imageCounter + '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n');
        console.log('\n' + responseCounter + '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n');
        imageCounter = 0;

        page.clearMemoryCache();
        page.clearCookies();
        page.close();
        phantom.exit();
    }
});



page.onResourceReceived = function(response) {      
    if(response.stage == "start"){
        responseCounter++;
        var respType = response.contentType;

        if(respType.indexOf("image")==0){
            imageCounter++;
            //console.log('Content-Type : ' + response.contentType)
            //console.log('Status : ' + response.status)
            //console.log('Image Size in byte : ' + response.bodySize)
            //console.log('Image Url : ' + response.url)
            //console.log('\n');
            console.log(imageCounter + '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n');
        }       
    }
};

Я хочу получить хотя бы последовательный ответ для изображений, я действительно смущен, как фантомное кэширование такого рода ресурсов со второй попытки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...