03.09.2011, 22:02
|
Новичок на форуме
|
|
Регистрация: 03.09.2011
Сообщений: 2
|
|
нужна помощь с очень простыми вещами
привет всем!
задача простая, но не для меня)) поясню, я не шарю особо в сайтостроении разных языках (РНР js и т.д.), но на юкозе кое что получается лепить(конструктор лего ).
Суть вопроса такова, на моем футбольном сайте(отдельный чемпионат) хочу чтобы таблички и расписание матчей автоматом грабились с оф.сайта. на мой. PHP отключено на юкозе, вернее за него нужно платить, но не хочется. Подсказали что с помощю js можно тоже такую простую(на мой взгляд) задачу сделать, но как именно мне не сказали. Прошу помощи, или где можно пошагово глянуть что за чем и как это все "скушать".
Заранее признателен!!!
зы: если выразился где-то непарвильно прошу простить)
|
|
03.09.2011, 22:12
|
Профессор
|
|
Регистрация: 16.03.2010
Сообщений: 1,618
|
|
Сомневаюсь, что что-то получится из-за кроссдоменных ограничений.
|
|
03.09.2011, 22:16
|
Профессор
|
|
Регистрация: 04.02.2011
Сообщений: 1,815
|
|
ну уж не совсем они и простые.
Стандартный парсер ты там ненапишешь, ибо отпарсенную информацию ты не сохранишь. Придётся парсить каждый раз при выводе таблице
Так навскидку.
1) Сделать iframe который будет отбражать сайт с нужной тебе таблицей.
2) найти в фрейме нужную таблицу при помощи jquery или какой там на юкозе фреймворк.
3) скопировать таблицу в тело своей странице.
соответственно фрейм должен быть как то скрыт от глаз пользователя. Чтобы было непонятно откуда инфа берётся.
можно ещё тупо вывести сам фрейм, но удалить в нём всё кроме таблицы.
если не забуду, завтра наваяю код.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
Последний раз редактировалось DjDiablo, 03.09.2011 в 22:30.
|
|
03.09.2011, 22:17
|
Профессор
|
|
Регистрация: 04.02.2011
Сообщений: 1,815
|
|
Сообщение от Sweet
|
Сомневаюсь, что что-то получится из-за кроссдоменных ограничений.
|
Нет нечего невозможного ))).
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
|
|
03.09.2011, 22:22
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
Сообщение от babeshka
|
хочу чтобы таблички и расписание матчей автоматом грабились с оф.сайта. на мой
|
где там описание матчей ? прошу ткнуть пальцем.
ЗЫ почитайте в гугле про iframe
|
|
03.09.2011, 22:38
|
Новичок на форуме
|
|
Регистрация: 03.09.2011
Сообщений: 2
|
|
спасибо за быстрые ответы)
2 melky: расписание тут, а хочу чтобы было на моем сайте сдесь, турнирная таблица отсюда, вот сюда же, и так по трем лигам, и кубке.
Все это можно и ручками, не вопрос, но геморно, хочется автоматики, если это возможно.
|
|
03.09.2011, 22:42
|
Профессор
|
|
Регистрация: 04.02.2011
Сообщений: 1,815
|
|
Есть ещё “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
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
Последний раз редактировалось DjDiablo, 03.09.2011 в 23:14.
|
|
03.09.2011, 23:12
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
без серверной стороны или контроля над этим сайтом сделать ничего не получится
|
|
03.09.2011, 23:24
|
Профессор
|
|
Регистрация: 04.02.2011
Сообщений: 1,815
|
|
Это для упрямых.
http://habrahabr.ru/blogs/personal/107905/
Да и в крайнем случае всегда есть фреймы, из которых можно достать всё что надо.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
Последний раз редактировалось DjDiablo, 03.09.2011 в 23:30.
|
|
03.09.2011, 23:45
|
Профессор
|
|
Регистрация: 04.02.2011
Сообщений: 1,815
|
|
Вот готовый проверенный рабочий код.
<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 прямо с того сайта подключить, но не надо ибо он там убогий.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
Последний раз редактировалось DjDiablo, 03.09.2011 в 23:59.
|
|
|
|