2017-01-17 10 views
0

Я пытаюсь получить html-код с URL-адреса http://wzdig.pbc.gov.cn:8080/dig/ui/search.action?hl=zh-CN&sr=score+desc&q=%E9%93%81&rp=&advepq=%E9%93%81&advoq=&adveq=&ext=&advtime=2&advrange=text%26title, который является конкретным поиском в этой сети.PhantjomJS перенаправление исходного URL-запроса

Проблема заключается в том, что она печатает http://wzdig.pbc.gov.cn:8080/dig/ui/search.action, что является результатом выполнения пустого поиска. Что я делаю неправильно?

Вот команда:

$ phantomjs get.js 'http://wzdig.pbc.gov.cn:8080/dig/ui/search.action?hl=zh-CN&sr=score+desc&q=%E9%93%81&rp=&advepq=%E9%93%81&advoq=&adveq=&ext=&advtime=2&advrange=text%26title' 

и get.js:

var system = require('system'); 
var page = require('webpage').create(); 

var system = require('system'); 
var page = require('webpage').create(); 

// Imitate a real browser 
page.viewportSize = { width: 1440, height: 900 }; 
page.settings.userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36"; 

// Called every time a page is loaded 
page.onLoadFinished = function(){ 

    // If the real page with search controls is loaded 
    // then get page.content and exit 
    var inputCount = page.evaluate(function(){ 
     return document.querySelectorAll("h3").length; 
    }); 

    if(inputCount > 0) { 
     console.log(page.content); 
     phantom.exit(); 
    } 

}; 

page.open(system.args[1]); 

Благодаря

+2

Как это относится к тегу 'bash' ?, удаляя его! – Inian

+0

@Igor, что вы имеете в виду? – Zaico

+1

@Igor? но браузер переводит его на% E9% 93% 81 Не так ли работать. Какая у меня альтернатива? – Zaico

ответ

1

Не с первой попытки, но это возможно, чтобы получить страницу, которую вы хотите.
Выполнить этот сценарий как: phantomjs --cookies-file=./xxx test.js >/dev/stdout

var page = require('webpage').create({viewportSize:{width: 1600,height: 900}, 
settings:{userAgent:'Mozilla/5.0 (X11; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0', 
javascriptEnabled:'true', 
loadImages:'false' 
}}), system = require('system'); 
page.onResourceError = function(resourceError) { 
    console.log('Unable to load resource (#' + resourceError.id + 'URL:' + resourceError.url + ')'); 
    console.log('Error code: ' + resourceError.errorCode + '. Description: ' + resourceError.errorString); 
}; 
page.onConsoleMessage = function(msg, lineNum, sourceId) { 
    console.log('CONSOLE: ' + msg + ' (from line #' + lineNum + ' in "' + sourceId + '")'); 
}; 
page.onResourceTimeout = function(request) { 
    console.log('Response (#' + request.id + '): ' + JSON.stringify(request)); 
}; 

phantom.onError = function(msg, trace) { 
    var msgStack = ['PHANTOM ERROR: ' + msg]; 
    if (trace && trace.length) { 
    msgStack.push('TRACE:'); 
    trace.forEach(function(t) { 
     msgStack.push(' -> ' + (t.file || t.sourceURL) + ': ' + t.line + (t.function ? ' (in function ' + t.function +')' : '')); 
    }); 
    } 
    console.error(msgStack.join('\n')); 
    phantom.exit(1); 
}; 

page.onError = function(msg, trace) { 

    var msgStack = ['ERROR: ' + msg]; 

    if (trace && trace.length) { 
    msgStack.push('TRACE:'); 
    trace.forEach(function(t) { 
     msgStack.push(' -> ' + t.file + ': ' + t.line + (t.function ? ' (in function "' + t.function +'")' : '')); 
    }); 
    } 

    console.error(msgStack.join('\n')); 

}; 
page.onNavigationRequested = function(url, type, willNavigate, main) { 
    console.log('Trying to navigate to: ' + url); 
    console.log('Caused by: ' + type); 
    console.log('Will actually navigate: ' + willNavigate); 
    console.log('Sent from the page\'s main frame: ' + main); 
} 

page.open('http://wzdig.pbc.gov.cn:8080/dig/ui/search.action?hl=zh-CN&sr=score+desc&q=%E9%93%81&rp=&advepq=%E9%93%81&advoq=&adveq=&ext=&advtime=2&advrange=text%26title', function(){ 
//page.evaluate(function(){location='http://wzdig.pbc.gov.cn:8080/dig/ui/search.action?hl=zh-CN&sr=score+desc&q=%E9%93%81&rp=&advepq=%E9%93%81&advoq=&adveq=&ext=&advtime=2&advrange=text%26title'}) 
setTimeout(function(){ 
// console.log(page.content); 
page.render('t.png') 
    phantom.exit(); 
},30000);// wait 30s 
}); 

Существует что-то не так с этим сайтом, иногда все почти нормально, но иногда нет!

+0

https://drive.google.com/open?id=0B_tqnSHhFPBnUTNydzVkMFd0VWc –

+2

Спасибо @Igor. Что может быть проблемой? – Zaico

+0

Я даже не мог обнаружить что-то там, я иногда видел: 'Попытка перейти к: http: //wzdig.pbc.gov.cn: 8080/L2RpZy91aS9zZWFyY2guYWN0aW9u' И:' Попытка перейти к: http: // wzdig.pbc.gov.cn: 8080/dig/ui/search.action' вместо правильного URL, сразу после: 'Попытка перейти к: http://wzdig.pbc.gov.cn:8080/dig/ui /search.action? гл = ZH-CN & SR = оценка + убывание & д =% E9% 93% 81 & RP = & advepq =% E9% 93% 81 & advoq = & adveq = & внутр = & advtime = 2 & advrange = текст% 26title' –

 Смежные вопросы

  • Нет связанных вопросов^_^