@Sevenup Да, остальные вещи вполне реально хранить в базе.
[Сделано]Разные ip для разных сайтов
-
@support да, я писал код еще до того, как узнал все тонкости api. Но он все равно работает, правда мой подход не совсем правильный (получается каша из асинхронных функций, они не выполнятся в нужном порядке), но перед загрузкой страницы все равно успевают выполниться. Вчера переделал правильный вариант
function BASExtended() { this.isLog = false; } BASExtended.prototype.log = function (msg) { if (BE.isLog) { log(msg); } }; BASExtended.prototype.callAsyncFunct = function () { var tmp = _arguments(); var args = []; var funct = tmp.shift(); var code = ''; for (var i = 0; i < tmp.length; i++) { eval('var arg_' + i + '=tmp[i]'); args.push('arg_' + i); } var asyncFunct = null; if (typeof (funct) === 'function') { code = 'asyncFunct = function(){funct(' + args.join() + ');}'; } else { code = 'asyncFunct = function(){' + funct + '(' + args.join() + ');}'; } BE.log('callAsyncFunct, ' + code); eval(code); _call(asyncFunct, null)! }; BASExtended.prototype.setProfile = function (profile) { BE.profile = profile; BE.log('Reset'); reset()! _if(BE.profile.userAgent, function () { _call(BE.callAsyncFunct, ['BE.setUserAgent', BE.profile.userAgent])!//~ })! _if(BE.profile.proxy, function () { _call(BE.callAsyncFunct, ['BE.setProxy', BE.profile.proxy])!//~ })! _if(BE.profile.cookies && (typeof (BE.profile.cookies) === 'object'), function () { _call(BE.callAsyncFunct, ['BE.setCookies', BE.profile.cookies])! })! _call(BE.callAsyncFunct, ['BE.setResolution', (BE.profile.resolution && BE.profile.resolution.w ? BE.profile.resolution.w : 800), (BE.profile.resolution && BE.profile.resolution.h ? BE.profile.resolution.h : 600)])! }; BASExtended.prototype.setProxy = function (p) { BE.log('setProxy: ' + p); proxy(p)! }; BASExtended.prototype.setCookies = function (cookies) { BE.log('Set cookies: ' + (JSON.stringify(cookies))); restore_cookies(JSON.stringify(cookies))! }; BASExtended.prototype.setResolution = function (w, h) { BE.log('setResolution: ' + w + 'x' + h); resize(w, h)! }; BE = new BASExtended(); BE.setProfile({ proxy: false, userAgent: 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:52.0) Gecko/20100101 Firefox/52.0', cookies: false, resolution: {w: 800, h: 600} }); -
@blackhacker Да, так лучше