Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как парсить картинки через GET запрос NodeJs ? (https://javascript.ru/forum/misc/50105-kak-parsit-kartinki-cherez-get-zapros-nodejs.html)

vcdesinger 12.09.2014 02:24

Как парсить картинки через GET запрос NodeJs ?
 
Сижу уже более 9 часов, помогите разобраться! Значит все рабоет супер, проблема заключается в том что я хочу проверить или по такому url есть изображение или нет. А оно перезаписивает и я не могу этого сделать!!!

var request = require('request'),
    cheerio = require('cheerio'),
    sys = require('sys'),
    http = require('http'),
    token = require('token'),
    crypto = require('crypto'),
    net = require('net'),
    get = require('get'),
    Iconv  = require('iconv').Iconv;

for (var i = 0; i < 5; i++) { // неудачная попытка сделать цикл, хотя работает но request.get перезаписивает 
// переменную и происходит такая ситуация что реально проверяется только одна ссылка на картинку
    var token = crypto.randomBytes(16).toString('hex');  // генерация мд5 на угад парсить думаю
    var url = 'https://wu.wsiz.rzeszow.pl/wunet/photos/s' + token + '.jpg';
request.get({uri: url, method: 'GET', encoding: 'binary' }, function (err, res, body) {

    console.time(url);
    body = new Buffer(body, 'binary');
    var iconv = new Iconv('latin1', 'utf8//IGNORE');
    body = iconv.convert(body).toString();

    var $ = cheerio.load(body);


    var tmp = $('h1').html();
// Если есть h1 значит попало на ошибку и изображения тут нету, проверка ниже
    if (tmp==null)
        console.log('ok='+url+'##############################################');
       // Если заголовка нету, значит есть изображения
    else {
        console.log('fuck %)'+ token);
    }
    console.timeEnd(url);

});}


Нормальное изоброжение - https://wu.wsiz.rzeszow.pl/wunet/pho...0592ee4c06.jpg

e9191809bf90e68444f1200592ee4c06 - уникальный код 32 символа. s - это соль, .jpg - расширение картинки

Помогите сделать что бы оно не перезаписивало, хочу сделать это для себя. Интересно или nodejs это может осуществить. Спасибо за ответы! Если нужна дополнительная информация пишите буду рад ответить!!

tsigel 12.09.2014 12:12

Если бы мне надо было проверить наличие чегот-то в папке, я бы сделал fs.readDir (который возвращает массив всего что есть в папке) этой папки и посмотрел есть ли в массиве интересующая меня картинка(и).


Часовой пояс GMT +3, время: 09:58.