Показать сообщение отдельно
  #1 (permalink)  
Старый 12.09.2014, 02:24
Новичок на форуме
Отправить личное сообщение для vcdesinger Посмотреть профиль Найти все сообщения от vcdesinger
 
Регистрация: 12.09.2014
Сообщений: 1

Как парсить картинки через 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 это может осуществить. Спасибо за ответы! Если нужна дополнительная информация пишите буду рад ответить!!
Ответить с цитированием