|
|
|
| Приветсвюу всех после Новогодней Пьянки)))
Появился вопрос по поводу странных ссылок (нечто вроде тех, что активно используются последнее время вконтакте) Как собственно такие ссылки курлом открывать?
Пример одной из них:
http://music.yandex.ru/#/artist-tracks/75628
Если бы было http://music.yandex.ru/artist-tracks/75628 - тут все просто...
Как поступить в этом случае? | |
|
|
|
|
|
|
|
для: man1
(04.01.2011 в 21:51)
| | Отбрасывайте все что после # (и сам знак тоже), как это собственно и делает Web-сервер. Якорь - это сигнал для браузера прокрутить страницу до определенной точки, так как вы загружаете страницу программно и никому её не показываете, в вашем случае он теряет смысл. | |
|
|
|
|
|
|
|
для: man1
(04.01.2011 в 21:51)
| | Хотя не похоже, чтобы это был якорь, похоже он ведет себя как подкаталог. А что происходит когда вы подставляете адрес в CURL - он разве не обрабатывате его корректно? | |
|
|
|
|
|
|
|
для: cheops
(04.01.2011 в 21:58)
| | 404 получается на выходе.
Это какой-то хитрый ajax-скрипт, вот только в исходном коде страницы я его не вижу.. | |
|
|
|
|
|
|
|
для: man1
(04.01.2011 в 22:01)
| | Ищите в заголовках подзагрузку js-скриптов, скорее всего события привязаны к id тэгов, нужно загрузить все js-скрипты и кропотливо их разбирать, пока не сможете восстановить истинный путь к контенту страницы. | |
|
|
|
|
|
|
|
для: cheops
(04.01.2011 в 22:04)
| | Спасибо за совет, попробую поковырять =) | |
|
|
|
|
|
|
|
для: man1
(04.01.2011 в 22:01)
| | Вы знаете, как с помощью js работать с такими ссылками? | |
|
|
|
|
|
|
|
для: neadekvat
(04.01.2011 в 22:05)
| | Чесно говоря, пока не представляю :)
А какие есть варианты? | |
|
|
|
|
|
|
|
для: man1
(04.01.2011 в 22:07)
| | И я не знаю.
Но вот вам придется узнать. Иначе как вы найдете этот код? | |
|
|
|
|
|
|
|
для: neadekvat
(04.01.2011 в 22:09)
| | И я не знаю. Но вот вам придется теперь узнать, как это делается. Иначе как вы найдете этот код?
Нашел вот такие интересные строчки, скорее всего, именно они ответственны за вывод контента таким образом. Только опять мистика, подставляя их в урл http://music.yandex.ru/ссылка_на_скрипт - получаем 404))
<script type="text/javascript" charset="utf-8" src="//yandex.st/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" charset="utf-8" src="//yandex.st/lego/2.4-105/common/js/_common.js"></script>
<script type="text/javascript" charset="utf-8" src="/pages/_music.js?build=0.244"></script>
<script type="text/javascript" charset="utf-8" src="//yandex.st/share/share.js"></script>
<script type="text/javascript" charset="utf-8" src="/js/_all.js?build=0.244"></script>>
|
| |
|
|
|
|
|
|
|
для: man1
(04.01.2011 в 22:12)
| | Страницу загрузите и сохраните на жесткий диск - они там обязательно будут, не смотря на все хитрости Яндекса, а если чего-то не будет, значит оно и не требуется для работы страницы.
Вот это точно открывается
http://music.yandex.ru/js/_all.js?build=0.244 | |
|
|
|
|
|
|
|
для: cheops
(04.01.2011 в 22:14)
| | Попробовал сейчас - никак не дается. Придется разбираться в онлайне. | |
|
|
|
|
|
|
|
для: man1
(04.01.2011 в 22:12)
| | А перед тем, что начинается на // просто ставьте http://, например, http://yandex.st/jquery/1.4.2/jquery.min.js Впрочем jQuery вам не нужна - это JS-библиотека - в ней заведомо нет нужного вам кода, правда потребуется знать её синтаксис, чтобы разобрать остальной код. | |
|
|
|
|
|
|
|
для: cheops
(04.01.2011 в 22:17)
| | Понятно, мне просто смутила зона .st. Думал это ошибка вебмастеров яндекса, поставили "//" вместо "/" | |
|
|
|
|
|
|
|
для: man1
(04.01.2011 в 22:26)
| | Нет, они просто экономят - у них каждый символ на странице потом в гигабайты трафика выливается, вот и сокращаются где могут... правда ребята из этой группы пока не больно-то ужимаются (наверное трафик не высокий), но корпоративным стандартам следуют :))) | |
|
|
|
|
|
|
|
для: man1
(04.01.2011 в 21:51)
| | Насколько я понял, это AJAX-страницы, вам нужно проанализировать JS-код и проследить откуда реально контент загружается и обращаться к этим новым страницам. | |
|
|
|
|
|
|
|
для: cheops
(04.01.2011 в 22:00)
| | Возможно я ошибаюсь, но.
Подобные ссылки используются в AJAX. Как правило в AJAX ссылки имеют вид:
<a href="#: onclick="jsfunc">aaa</a>
|
Несуществующие якоря добавляют, чтобы пользователь мог сохранить адрес страницы и, введя его потом в адресную строку получить именну ту страницу, которую увидел бы вследсивии работы AJAX. | |
|
|
|