|
нужна помощь с очень простыми вещами
привет всем!
:help: задача простая, но не для меня)) поясню, я не шарю особо в сайтостроении разных языках (РНР js и т.д.), но на юкозе кое что получается лепить(конструктор лего :) ). Суть вопроса такова, на моем футбольном сайте(отдельный чемпионат) хочу чтобы таблички и расписание матчей автоматом грабились с оф.сайта. на мой. PHP отключено на юкозе, вернее за него нужно платить, но не хочется. Подсказали что с помощю js можно тоже такую простую(на мой взгляд) задачу сделать, но как именно мне не сказали. Прошу помощи, или где можно пошагово глянуть что за чем и как это все "скушать". Заранее признателен!!! зы: если выразился где-то непарвильно прошу простить) |
Сомневаюсь, что что-то получится из-за кроссдоменных ограничений.
|
ну уж не совсем они и простые.
Стандартный парсер ты там ненапишешь, ибо отпарсенную информацию ты не сохранишь. Придётся парсить каждый раз при выводе таблице Так навскидку. 1) Сделать iframe который будет отбражать сайт с нужной тебе таблицей. 2) найти в фрейме нужную таблицу при помощи jquery или какой там на юкозе фреймворк. 3) скопировать таблицу в тело своей странице. соответственно фрейм должен быть как то скрыт от глаз пользователя. Чтобы было непонятно откуда инфа берётся. можно ещё тупо вывести сам фрейм, но удалить в нём всё кроме таблицы. если не забуду, завтра наваяю код. |
Цитата:
|
Цитата:
ЗЫ почитайте в гугле про iframe |
|
Есть ещё “Screen Scraping” с помощью YQL.
Он позволяе получить html код сайта. не разу непользовался, и непроверял, поправьте где ошибся; Кроссдоменный запрос осуществляется при помощи xdomainajax.js базирующегося на YQL <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> <script type="text/javascript" src="js/jquery.xdomainajax.js"></script> <script type="text/javascript" src="js/main.js"></script> $(document).ready(function() { $.get('http://nujniySait.ru/nujnayaStranica', function(res) { var parse=$(res.responseText), //Организуем для Jquery доступ к тексту с кодом страницы. tab=parse.find("#SuperTable"); //ищем таблицу по какомунибудь признаку к примеру id= supertable $(".conteiner").append(tab); //добавляем к контейнеру на нашей страницы заранее вычлененный tab }); }); ещё раз повторю, может неработать. Идею взял отсюда. http://www.internet-technologies.ru/...icle_1529.html |
без серверной стороны или контроля над этим сайтом сделать ничего не получится
|
Это для упрямых.
http://habrahabr.ru/blogs/personal/107905/ Да и в крайнем случае всегда есть фреймы, из которых можно достать всё что надо. |
Вот готовый проверенный рабочий код.
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> <script type="text/javascript" src="c/jquery.xdomainajax.js"></script> <script type="text/javascript"> $(document).ready(function() { $.get('http://www.fa13.com/champ.html?champ=Uk&a=r', function(res) { var parse=$(res.responseText), //Организуем для Jquery доступ к тексту с кодом страницы. tab=parse.find(".mainBG"); //ищем информацию по классу .mainBG $("body").append(tab); //добавляем к странице заранее вычлененный tab }); }); </script> забрать xdomainajax.js можно здесь https://github.com/jamespadolsey/jQu...xdomainajax.js рабочий код + плагин здесь - можно распакавать и запустить Кстати для mainBG тебе надо CSS сделать, ибо css как понимаешь не парсится. а можно ещё CSS прямо с того сайта подключить, но не надо ибо он там убогий. |
Часовой пояс GMT +3, время: 18:07. |
|