Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   нужна помощь с очень простыми вещами (https://javascript.ru/forum/dom-window/21288-nuzhna-pomoshh-s-ochen-prostymi-veshhami.html)

babeshka 03.09.2011 22:02

нужна помощь с очень простыми вещами
 
привет всем!
:help:
задача простая, но не для меня)) поясню, я не шарю особо в сайтостроении разных языках (РНР js и т.д.), но на юкозе кое что получается лепить(конструктор лего :) ).
Суть вопроса такова, на моем футбольном сайте(отдельный чемпионат) хочу чтобы таблички и расписание матчей автоматом грабились с оф.сайта. на мой. PHP отключено на юкозе, вернее за него нужно платить, но не хочется. Подсказали что с помощю js можно тоже такую простую(на мой взгляд) задачу сделать, но как именно мне не сказали. Прошу помощи, или где можно пошагово глянуть что за чем и как это все "скушать".
Заранее признателен!!!

зы: если выразился где-то непарвильно прошу простить)

Sweet 03.09.2011 22:12

Сомневаюсь, что что-то получится из-за кроссдоменных ограничений.

DjDiablo 03.09.2011 22:16

ну уж не совсем они и простые.

Стандартный парсер ты там ненапишешь, ибо отпарсенную информацию ты не сохранишь. Придётся парсить каждый раз при выводе таблице

Так навскидку.
1) Сделать iframe который будет отбражать сайт с нужной тебе таблицей.

2) найти в фрейме нужную таблицу при помощи jquery или какой там на юкозе фреймворк.
3) скопировать таблицу в тело своей странице.

соответственно фрейм должен быть как то скрыт от глаз пользователя. Чтобы было непонятно откуда инфа берётся.
можно ещё тупо вывести сам фрейм, но удалить в нём всё кроме таблицы.

если не забуду, завтра наваяю код.

DjDiablo 03.09.2011 22:17

Цитата:

Сообщение от Sweet (Сообщение 124651)
Сомневаюсь, что что-то получится из-за кроссдоменных ограничений.

Нет нечего невозможного ))).

melky 03.09.2011 22:22

Цитата:

Сообщение от babeshka (Сообщение 124647)
хочу чтобы таблички и расписание матчей автоматом грабились с оф.сайта. на мой

где там описание матчей ? прошу ткнуть пальцем.

ЗЫ почитайте в гугле про iframe

babeshka 03.09.2011 22:38

спасибо за быстрые ответы)

2 melky: расписание тут, а хочу чтобы было на моем сайте сдесь, турнирная таблица отсюда, вот сюда же, и так по трем лигам, и кубке.
Все это можно и ручками, не вопрос, но геморно, хочется автоматики, если это возможно.

DjDiablo 03.09.2011 22:42

Есть ещё “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

melky 03.09.2011 23:12

без серверной стороны или контроля над этим сайтом сделать ничего не получится

DjDiablo 03.09.2011 23:24

Это для упрямых.
http://habrahabr.ru/blogs/personal/107905/

Да и в крайнем случае всегда есть фреймы, из которых можно достать всё что надо.

DjDiablo 03.09.2011 23:45

Вот готовый проверенный рабочий код.

<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, время: 22:49.