LINUX.ORG.RU

Сообщения Qwentor

 

Как на Phantom.JS получить список открытых окон?

Как на Phantom.JS получить список открытых окон и переключаться между ними? Или он принципиально работает с одной страницей?

 , , ,

Qwentor
()

Как посчитать среднюю интенсивность запросов к 3proxy?

Сабж
Есть прокси сервер на 3proxy. Как узнать сколько запросов в секунду на него в среднем поступает?

 ,

Qwentor
()

Как перехватить websocket-соединения?

Нужно забирать с одного сайта данные, которые подгружаются на него через вебсокеты. Как и чем это сделать?
Желательно на node.js, можно python

 ,

Qwentor
()

Как узнать какая функция JavaScript вызывается при прокрутке сайта?

Сайт с автоподгрузкой данных с мегатонной кода.

Как узнать какая функция вызывается при прокрутке для показа новых данных?

Как-то через инструменты разработчика можно? Или еще как?

 ,

Qwentor
()

Нужны тысячи ip адресов. Где брать?

Нужны тысячи ip адресов. Где брать?
У ВПН столько не бывает, либо за совсем космические деньги.
Прокси есть, но даже платные побанены.
Где искать незабаненые и за вменяемые деньги?

Вменяемые - не 100 руб., 2-3 сотни зелени/мес. - вменяемо, но за анлимный траффик, т.к. будет овер 150 ГБ/сутки скорее всего

 ,

Qwentor
()

Ищу максимально дешевые VPS

Ищу максимально дешевые VPS

желательно разных контор и из разных стран, исключая РФ

Нужны вообще с минимальной конфигурацией, но с возможностью взять несколько ip - тупо гнать через них траффик (парсеры), соответственно траффик желательно безлимит или много.

Что посоветуете?

 

Qwentor
()

Ищу хороший консольный чекер прокси

Ищу хороший консольный чекер прокси

Требования:
1) Поддержка HTTP(S) и SOCKS(4/5)

2) Возможность проверять доступ к конкретному сайту (т.е. задать url и регексп с содержимым, которое обязательно должно быть на странице

Неплохо было бы также чтобы могло тестить скорость и пинг, но не обязательно

 

Qwentor
()

Как вернуть значение из функции строго после прокрутки всей страницы (slimer.js)?

Использую не фантом как в тегах, а слимер, т.к. видно что происходит.
Мне надо, чтобы значение возвращалось после всех ScrollTo, но оно возвращается намного раньше. Как правильно сделать?


page.evaluate(function() {

						 		

	function unique(arr) {
	    var obj = {};
	    for(var i=0; i<arr.length; i++) {
	        var str = arr[i];
	        obj[str] = true; 
	    }
	    return Object.keys(obj); 
	}


	function getLinks(){

		var links = new Array();

		var collect = $('div.coefficient__more > a');

		collect.each(function(index, element){
		     links.push($(element).attr('href'))
		});

		return links;

	}

	var hrefs = new Array();
	var num;
	var dl = 500;



	$(window).queue(function() {

		hrefs = hrefs.concat(getLinks());
		$(this).dequeue();

	}).scrollTo("10%").queue(function() {

		hrefs = hrefs.concat(getLinks());
		$(this).dequeue();

	}).delay(dl).scrollTo("20%").queue(function() {

		hrefs = hrefs.concat(getLinks());
		$(this).dequeue();

	}).delay(dl).scrollTo("30%").queue(function() {

		hrefs = hrefs.concat(getLinks());
		$(this).dequeue();

	}).delay(dl).scrollTo("40%").queue(function() {

		hrefs = hrefs.concat(getLinks());
		$(this).dequeue();

	}).delay(dl).scrollTo("50%").queue(function() {

		hrefs = hrefs.concat(getLinks());
		$(this).dequeue();

	}).delay(dl).scrollTo("60%").queue(function() {

		hrefs = hrefs.concat(getLinks());
		$(this).dequeue();

	}).delay(dl).scrollTo("70%").queue(function() {

		hrefs = hrefs.concat(getLinks());
		$(this).dequeue();

	}).delay(dl).scrollTo("80%").queue(function() {

		hrefs = hrefs.concat(getLinks());
		$(this).dequeue();

	}).delay(dl).scrollTo("90%").queue(function() {

		hrefs = hrefs.concat(getLinks());
		$(this).dequeue();

	}).delay(dl).scrollTo("100%").queue(function() {

		hrefs = hrefs.concat(getLinks());
		$(this).dequeue();

	});



	return unique(hrefs);


}

 , ,

Qwentor
()

Как распарсить такой сайт?

Дано:
На сайте строчками информация. Все изначально подгружается хитрожопомегатонными скриптами, поэтому напрямую не вышло. Использую Phantom.JS

Но! Даже с ним не все парсится. Дело в том, что все что сильно ниже экрана как бы удаляется, и видно как оно появляется после прокрутки.

Как такое парсить?

 ,

Qwentor
()

Одна и та же команда работает, если запустить вручную и не работает, если запустить по крону

Вот:

*/2 * * * * /usr/bin/python3 /root/vpn_v.py > /home/log.txt


Скрипт на питоне. Подключает несколько VPN.
В лог тоже ничего не пишется

Почему так может быть?

сам скрипт http://pastebin.com/NzpnE1sj

 , ,

Qwentor
()

Не запускается 3proxy

уже запускается

 ,

Qwentor
()

Как повесить VPN соединение?

Вот дано рабочее впн-соединение. Нужно его «повесить» - не завершить, а чтобы tun0 остался в списке интерфейсов, но при попытке через него подключиться ничего не выходило. Нужно для тестирования скрипта.

 

Qwentor
()

Где искать настройки докера? Нужно перенести на другой сервер

Вот такой вопрос: нужно перенести docker контейнеры на другой сервер. Работал только с lxc и то немного. Где искать его конфиги? Вот установлю я docker, а в кроне прописано docker restart container1. Ведь где-то прописан путь к контейнеру, раз он вызывается без пути? Вот вопрос где?

 ,

Qwentor
()

Как раскидать запросы по разным сетевым интерфейсам?

Собственно я тут подумал, и решил что мне нужно. Но как реализовать не понимаю пока.
Дано:
1) Парсеры парсят сайты
2) Некоторые из них на phantom.js , соответственно указать интерфейс к каждому запросу, через который ходить не представляется возможным
3) Соответственно нужен прокси, чтобы такие парсеры пускать через этот прокси, а уже прокси рандомно раскидывал запросы по разным tun-интерфейсам
4) tun-интерфейсы постоянны количеством, но их ip регулярно меняются (всего 200+ ip, работает одновременно 15)
5) Как реализовать и на чем?

 ,

Qwentor
()

Как настроить прокси через VPN?

Собственно в дополнение к этому вопросу Как пустить headless браузер через определенный сетевой интерфейс?

Насколько я понял, пустить headless браузер через определенный tun-интерфейс не представляется возможным, зато возможно создать несколько прокси, каждый из которых будет ходить через один из этих интерфейсов и собственно браузер уже пускать через прокси. Подскажите, пожалуйста куда копать. С настройкой прокси ни разу еще не имел дела

 ,

Qwentor
()

Как пустить headless браузер через определенный сетевой интерфейс?

Собственно надо парсить сложный сайт. Поэтому решил использовать headless браузер. Phantom.js. Собственно управлять всем этим надо из Node.js, поэтому тут еще и Casper.js + Spooky.js
Но парсить надо с разных сетевых интерфейсов (tunX - OpenVPN)
Когда был просто request, там был параметр localAddress, в котором прописывался ip адрес интерфейса и всё.
Но как заставить ходить не напрямую Phantom.js? Ну или Firefox через Slimer.js (Casper.js и его поддерживает)

Собственно вот пример с сайта. Работает. Но как тут указать сетевой интерфейс?

var Spooky = require('spooky');

var spooky = new Spooky({
        child: {
            transport: 'http'
        },
        casper: {
            logLevel: 'debug',
            verbose: true
        }
    }, function (err) {
        if (err) {
            e = new Error('Failed to initialize SpookyJS');
            e.details = err;
            throw e;
        }

        spooky.start(
            'http://en.wikipedia.org/wiki/Spooky_the_Tuff_Little_Ghost');
        spooky.then(function () {
            this.emit('hello', 'Hello, from ' + this.evaluate(function () {
                return document.title;
            }));
        });
        spooky.run();
    });

spooky.on('error', function (e, stack) {
    console.error(e);

    if (stack) {
        console.log(stack);
    }
});

/*
// Uncomment this block to see all of the things Casper has to say.
// There are a lot.
// He has opinions.
spooky.on('console', function (line) {
    console.log(line);
});
*/

spooky.on('hello', function (greeting) {
    console.log(greeting);
});

spooky.on('log', function (log) {
    if (log.space === 'remote') {
        console.log(log.message.replace(/ \- .*/, ''));
    }
});

 , ,

Qwentor
()

Параллельный запуск нескольких скриптов. Что я делаю не так?


async.map(results, function(url, callback){

	worker.aspawn(['node', 'script.js', url],
    function (err, stdout, stderr) {
        if (err) {
            console.log('error: %s', err.message);
            console.error(stderr);
        } else {
            console.log(stdout);
        }
    });

}, function(err, results){
	// console.log(results);
});



пробовал с обычным exec и spawn - одно и тоже - вместо запуска нескольких экземпляров script.js с разными url в качестве параметров - запускается этот скрипт со всеми параметрами через запятую и все падает

 

Qwentor
()

Как отключить пароль для разблокировки экрана в Lubuntu?

Собственно сабж
Для Ubuntu полно. А для Lubuntu не вижу
Lubuntu 16.04 x64

 ,

Qwentor
()

SyntaxError: Unexpected token ' in JSON at position 32. Почему?

Есть строка такого вида:


[10035,1,[[1,[[1,11871,[2065165,'\u0412\u0435\u0441\u0442\u0435\u0440\u043D \u0421\u0438\u0434\u043D\u0435\u0439 \u0423\u043E\u043D\u0434\u0435\u0440\u0435\u0440\u0441','\u0421\u0438\u0434\u043D\u0435\u0439','1.009-E005217021802',6,'02/18/2017 16:50','',1,0,1,2,{126:[1,1]}],[3,1,41,45,0,0,{126:[1,1,41,45,0,0,,,{1:45,2:45,3:15,4:15},0],310:[0,1,41,45,0,0,,,{1:45,2:45,3:15,4:15},0],309:[0,1,41,45,0,0,,,{1:45,2:45,3:15,4:15},0],308:[0,1,41,45,0,0,,,{1:45,2:45,3:15,4:15},0],307:[0,1,41,45,0,0,,,{1:45,2:45,3:15,4:15},0],306:[0,1,41,45,0,0,,,{1:45,2:45,3:15,4:15},0]},,{1:45,2:45,3:15,4:15},0],[[17,17,[]],[33571008,[1,0,1,1,12000,-0.50,2059220],[1.95,1.97]],[33571009,[1,0,1,1,6000,-0.25,2059220],[2.33,1.67]],[33571014,[5,0,5,1,3000,0.00,2059220],[1.96,2.98,4.30]],[33571022,[1,0,1,1,4000,-0.75,2059220],[1.68,2.31]]],2],[1,19097,[2070863,'Heidelberg United','Avondale FC','1.030-E007717021802',10,'02/18/2017 16:30','',0,1,1,,{}],[1,0,0,45,0,0,{},,{1:45,2:45,3:15,4:15},0],[[3,3,[]],[33665916,[1,0,1,1,3000,0.50,2071489],[2.07,1.83]],[33665920,[5,0,5,1,500,0.00,2071489],[4.70,2.91,1.83]]],1],[1,7256,[2073815,'Souths United','Rochedale Rovers','1.032-E008717021805',10,'02/18/2017 17:00','',0,0,1,0,{}],[1,1,31,45,0,0,{},,{1:45,2:45,3:15,4:15},0],[[0,0,[[1,0,1],[5,0,5]]]],3],[1,7256,[2073813,'Ipswich Knights','Albany Creek','1.032-E008717021803',10,'02/18/2017 17:00','',1,0,1,0,{}],[1,1,36,45,0,0,{},,{1:45,2:45,3:15,4:15},0],[[6,6,[]],[33717500,[1,0,1,1,2000,-0.25,2078167],[1.90,1.94]],[33717504,[5,0,5,1,500,0.00,2078167],[1.66,3.60,4.20]]],2],[1,7256,[2073814,'Grange Thistle','Mitchelton FC','1.032-E008717021804',10,'02/18/2017 17:00','',1,0,1,0,{}],[1,1,34,45,1,0,{},,{1:45,2:45,3:15,4:15},0],[[6,6,[]],[33717508,[1,0,1,1,2000,-1.00,2078168],[2.04,1.80]],[33717512,[5,0,5,1,500,0.00,2078168],[2.62,2.99,2.48]]],2],[1,7256,[2073812,'Logan Lightning (n)','Eastern Suburbs FC','1.032-E008717021802',10,'02/18/2017 16:00','',1,1,1,0,{}],[1,2,35,45,0,0,{},,{1:45,2:45,3:15,4:15},0],[[4,4,[]],[33717492,[1,0,1,1,1000,-0.25,2078166],[1.45,2.63]],[33717496,[5,0,5,1,500,0.00,2078166],[6.00,1.51,3.45]],[33717498,[1,0,1,1,2000,0.00,2078166],[2.66,1.44]]],3],[1,24374,[2071853,'Adelaide United U21','Adelaide Olympic','1.033-E009217021804',10,'02/18/2017 16:30','',0,2,1,0,{}],[1,2,5,45,0,0,{},,{1:45,2:45,3:15,4:15},0],[[3,3,[]],[33686507,[1,0,1,1,2000,-0.25,2073198],[1.92,1.92]],[33686511,[5,0,5,1,500,0.00,2073198],[23.00,6.00,1.099]]],2],[1,44064,[2066059,'Bali United Pusam','PS Barito Putera','1.089-E072417021801',6,'02/18/2017 16:00','',1,1,0,0,{}],[1,2,33,45,0,0,{},,{1:45,2:45,3:15,4:15},0],[[3,3,[]],[33593355,[1,0,1,1,2000,0.25,2061253],[2.04,1.80]],[33593358,[5,0,5,1,500,0.00,2061253],[2.57,1.93,4.70]]],1],[1,228,[2065819,'GrIFK Kauniainen (n)','HJK Helsinki','1.026-E022017021801',10,'02/18/2017 17:00','',0,1,1,0,{}],[1,1,37,45,0,0,{},,{1:45,2:45,3:15,4:15},0],[[6,6,[]],[33587489,[1,0,1,1,2000,-1.50,2060809],[2.13,1.78]],[33587493,[5,0,5,1,500,0.00,2060809],[65.00,8.50,1.035]]],2],[1,31224,[2072986,'Kitchee','Tai Po','1.082-E068317021802',10,'02/18/2017 17:30','',0,0,1,0,{}],[1,1,9,45,0,0,{},,{1:45,2:45,3:15,4:15},0],[[4,4,[]],[33704744,[1,0,1,1,500,0.75,2076378],[1.71,2.05]]],1]],[],[]]]]




При попытке JSON.parse получаю следующую ошибку:
undefined:1
[10035,1,[[1,[[1,11871,[2065165,'\u0412\u0435\u0441\u0442\u0435\u0440\u043D \u0421\u0438\u0434\u043D\u0435\u0439 \u0423\u043E\u043D\u0434\u0435\u0440\u0435\u0440\u0441','\u0421\u0438\u0434\u043D\u0435\u0439','1.009-E005217021802',6,'02/18/2017 16:50','',1,0,1,2,{126:[1,1]}],[3,1,41,45,0,0,{126:[1,1,41,45,0,0,,,{1:45,2:45,3:15,4:15},0],310:[0,1,41,45,0,0,,,{1:45,2:45,3:15,4:15},0],309:[0,1,41,45,0,0,,,{1:45,2:45,3:15,4:15},0],308:[0,1,41,45,0,0,,,{1:45,2:45,3:15,4:15},0],307:[0,1,41,45,0,0,,,{1:45,2:45,3:15,4:15},0],306:[0,1,41,45,0,0,,,{1:45,2:45,3:15,4:15},0]},,{1:45,2:45,3:15,4:15},0],[[17,17,[]],[33571008,[1,0,1,1,12000,-0.50,2059220],[1.95,1.97]],[33571009,[1,0,1,1,6000,-0.25,2059220],[2.33,1.67]],[33571014,[5,0,5,1,3000,0.00,2059220],[1.96,2.98,4.30]],[33571022,[1,0,1,1,4000,-0.75,2059220],[1.68,2.31]]],2],[1,19097,[2070863,'Heidelberg United','Avondale FC','1.030-E007717021802',10,'02/18/2017 16:30','',0,1,1,,{}],[1,0,0,45,0,0,{},,{1:45,2:45,3:15,4:15},0],[[3,3,[]],[33665916,[1,0,1,1,3000,

SyntaxError: Unexpected token ' in JSON at position 32
    at JSON.parse (<anonymous>)
    at /home/slava/parsers/sbobet.js:28:13
    at done (/home/slava/parsers/node_modules/needle/lib/needle.js:398:14)
    at PassThrough.<anonymous> (/home/slava/parsers/node_modules/needle/lib/needle.js:637:11)
    at emitNone (events.js:91:20)
    at PassThrough.emit (events.js:186:7)
    at endReadableNT (_stream_readable.js:974:12)
    at _combinedTickCallback (internal/process/next_tick.js:74:11)
    at process._tickCallback (internal/process/next_tick.js:98:9)

Второй день не могу врубиться. Что не так?

На pastebin: http://pastebin.com/MLew8QeR

 , ,

Qwentor
()

Какие есть эмуляторы Android для Linux?

Какие есть эмуляторы Android для Linux?
Желательно бесплатные, свободные не обязательно

Genymotion платный

SDK?

Shashlik у меня что-то нормально не заработал

Еще что-то есть?

Ubuntu 16.04 64bit

 ,

Qwentor
()

RSS подписка на новые темы