Curl Javascript redirect (PhantomJS)
11416 сообщений
#12 лет назад
Здравствуйте.Подскажите пожалуйста, неужели правда никак нельзя программно отследить редирект выполненный при помощи javascript?
Может есть какие-то решения позволяющие отлавливать хотя бы небольшой процент таких редиректов?
87 сообщений
#12 лет назад
Что имеется в виду непонятно. Надо отлавливать изменение href.location при помощи javascript? Или определять что ответ ajax запроса делает редирект?
11416 сообщений
#12 лет назад
Поисковый бот заходит на сайт.Если на сайте производится редирект с помощью header Location то можно с помощью курла определить наличие редиректа.
Если же редирект производится с помощью яваскрипта, то курл соответственно такой редирект не определит.
Вот задача стоит в том что бы на произвольном сайте программно определять наличие какого-либо редиректа.
87 сообщений
87 сообщений
3562 сообщения
#12 лет назад
Курлом конечно нельзя не только отследить но и последовать по любому редиректу кроме как "локейшн..."Для того что бы распознать другие типы редиректов (мета, яваскрипт, флеш(?)) - нужно выполнять соответсвующие дерективы. Самое простое решение - влоб, использовать браузер (селениум и ко для управления) либо сторонние решения/фреймворки.
11416 сообщений
#12 лет назад
Спасибо за ценные советы, буду изучать 
5 сообщений
#12 лет назад
Я в последнее время phantomjs полюбил - очень мощная штука для работы с сайтами. прям то, что хотелось всегда 
11416 сообщений
#12 лет назад
Цитата ("k1on"):Я в последнее время phantomjs полюбил
Как раз догуглился до него, но пока мало что понятно. Буду изучать.
Цитата ("k1on"):
и такое там определить, как 5 копеек
Если не сложно могли бы вы привести скрипт определения редиректа?
5 сообщений
#12 лет назад
page.open(address, function(status){
if (status !== 'success') {
console.log('error:FAIL to load the address status:' + status + " url:" + address);
phantom.exit();
} else {
page.evaluate(function() {
console.log(document.location);
});
}
});
если адрес не совпадает, то стало быть редирект

11416 сообщений
#12 лет назад
Хммм, спасибо, буду пробовать 
5 сообщений
#12 лет назад
Hungry_Hunter, там легко, я разобрался за пару дней 
спрашивайте, отвечу.
11416 сообщений
#12 лет назад
Спасибо большое, обязательно спрошу если не разберусь.Думаю всесильный гугл мне в этом поможет

61 сообщение
#12 лет назад
Phantomjs неплохая вещь, да. Но можно взять компоненты IE или хромиум (для дельфи точно есть, мб в сишарп, с++ билдер тоже), и использовать как полноценный браузер. Или вызывать СОМ объект IE , это можно хоть с Ассемблера делать.
5 сообщений
#12 лет назад
Цитата ("flisk88"):Phantomjs неплохая вещь, да. Но можно взять компоненты IE или хромиум (для дельфи точно есть, мб в сишарп, с++ билдер тоже), и использовать как полноценный браузер. Или вызывать СОМ объект IE , это можно хоть с Ассемблера делать.
фантом кроссплатформенный.