Вытянуть данные с другого сайта через iFrame
|
|
mob_dp | Отредактировал mob_dp - Суббота, 30 Августа 2008, 19:20 Дата: 30 Августа 2008, 19:19 | Сообщение # 1 | ● ● ● ● ● 4112 сообщений Статус: Offline | Итак, задача: вытянуть данные с другого сайта через iFrame У меня получилось вытянуть данные с другой страницы сайта: По месту ставим: Quote <div id="out" align="center"></div> <iframe name="zzz" style="display:none" src="/index/8"></iframe> В <body> дописываем: Quote onload="document.getElementById('out').innerHTML=frames['zzz'].document.getElementById('data').innerHTML" data - id элемента на странице куда ссылкается фрейм. Долго ковырялся и понял что с другого сайта такой метод не работает. Теперь собственно идеи решения: Переписать содержимое фрейма в объект, скажем, <div>. Затем уже можно нормально извлеч оттуда нужные данные без фрейма. Либо исправить код чтоб он хавал данные с других сайтов. Вообще интересует как прописать в js значение iFrame и возможно ли это (чтото вроде document.getElementById ; document.getElementsByName ; iFrame.name.value и т.д.) Тогда можно будет прописать Code <script> document.getElementById('out')=document.iFrame.value; </script> ну или както так... | | |
|
Gaara | Дата: 30 Августа 2008, 19:25 | Сообщение # 2 |  ● ● ● ● ● 1312 сообщений Статус: Offline | подключай jQuery Code <div id="frame"></div><script>$('#frame').load('http://helper.ucoz.ru/')</script> Добавлено (2008-08-30, 19:25) --------------------------------------------- http://helper.ucoz.ru/forum/22-1770-1  | | |
|
Бармалей | Дата: 30 Августа 2008, 19:45 | Сообщение # 3 | ● ● ● ● ● Тиран 7772 сообщения Статус: Offline | никак такого не сделать, ищите статьи на тему межсайтовый скриптонг В кратце - нельзя с одного домена управлять содержимым другого Аякса это тоже касается
 | | |
|
Angel7 | Дата: 30 Августа 2008, 22:07 | Сообщение # 4 |  ● ● ● ● ● 693 сообщения Статус: Offline | Бармалей, а со своего можно? | | |
|
mob_dp | Дата: 30 Августа 2008, 22:33 | Сообщение # 5 | ● ● ● ● ● 4112 сообщений Статус: Offline | Бармалей, хм, тут же не управлять а просто втупую скопировать содержимое фрейма... Angel7, ну со своего такой прием проходит. Gaara, я не шарю jQuery, но так понимаю http://helper.ucoz.ru/ - страница куда ссылается фрейм,а #frame - запись производится в элемент с id="frame"? Вобщем не работает, jQuery подключил. | | |
|
Angel7 | Дата: 30 Августа 2008, 22:35 | Сообщение # 6 |  ● ● ● ● ● 693 сообщения Статус: Offline | mob_dp, да, спасибо) благодаря этому я кое-что сделал-так на форуме! ура) | | |
|
Бармалей | Дата: 31 Августа 2008, 06:46 | Сообщение # 7 | ● ● ● ● ● Тиран 7772 сообщения Статус: Offline | Angel7, со своего домена и поддомена(!) можноQuote (mob_dp) Вобщем не работает, jQuery подключил. и не будет работать. причину я выше описал Quote (mob_dp) хм, тут же не управлять а просто втупую скопировать содержимое фрейма... не получится. в любом случае это доступ к сайту с другого домена
 | | |
|
Sarymian | Дата: 31 Августа 2008, 12:47 | Сообщение # 8 |  ● ● ● ● ● 2 сообщения Статус: Offline | Допустим мне надо с другого сайта не "управлять" содержимым, а в тупую весь html код получить для RegEx, такое реально сделать? | | |
|
Бармалей | Отредактировал Бармалей - Воскресенье, 31 Августа 2008, 13:28 Дата: 31 Августа 2008, 13:28 | Сообщение # 9 | ● ● ● ● ● Тиран 7772 сообщения Статус: Offline | на клиентсайде нет используйте импорт удаленного кода
 | | |
|
MindFreakTheMon | Дата: 31 Августа 2008, 13:28 | Сообщение # 10 |  ● ● ● ● ● 274 сообщения Статус: Offline | Sarymian, вы когда заходите в Disk C: - вы им управляйте в данный момент? Нельзя  | | |
|
Sarymian | Дата: 31 Августа 2008, 13:57 | Сообщение # 11 |  ● ● ● ● ● 2 сообщения Статус: Offline | MindFreakTheMon, берем в руки Hex редактор правим загрузочный сектор и у нас рид-онли диск... ни какого управления, только доступ к данным Ну это жесткое порно... Бармалей, спасиб... попробую ченить сделать. | | |
|
MindFreakTheMon | Дата: 31 Августа 2008, 14:00 | Сообщение # 12 |  ● ● ● ● ● 274 сообщения Статус: Offline | Quote (Sarymian) и у нас рид-онли диск. И у нас нет диска  | | |
|
Vanofuture | Отредактировал Vanofuture - Воскресенье, 31 Августа 2008, 23:01 Дата: 31 Августа 2008, 23:00 | Сообщение # 13 |  ● ● ● ● ● Все админы едят апельсины 1650 сообщений Статус: Offline | Мда, тут надо php и свой поддомен. | | |
|
mob_dp | Отредактировал mob_dp - Понедельник, 01 Сентября 2008, 18:22 Дата: 01 Сентября 2008, 18:22 | Сообщение # 14 | ● ● ● ● ● 4112 сообщений Статус: Offline | А теперь решение данных вопросов! Вытаскиваем данные со страницы своего сайта По месту ставим: Code <div id="out" align="center"></div> <iframe name="zzz" style="display:none" src="ссылка"></iframe> В шаблоне страницы Code <body onload="document.getElementById('out').innerHTML=frames['zzz'].document.getElementById('data').innerHTML"> Вытаскиваем данные с другого сайта Code Управление дизайном - импорт удаленного кода - добавить импорт удаленной страницы (туда вписываем ссылку) По месту ставим: Code <div style="display:none;" id="frame">$RCODE_1$</div> <div id="out">Подождите... Идет загрузка данных...</div> В шаблоне страницы Code <body onload="document.getElementById('out').innerHTML=document.getElementById('frame').innerHTML"> Пример фрейма со своего сайта Залогиньтесь под пользователем test | пароль test. В блоке Аккаунт увидите "награды" - подгружается число из профиля пользователя, затем обрабатывается скриптом. Пример фрейма с другого сайта Подгружается таблица из другого сайта, затем вынимается часть кода по id. Если не странице другого сайта используются относительные ссылки то придется загрузить все изображения на свой сайт (ну и скрипты тоже). Created by mob_dp Модераторы! Пожалуйста, почистите тему (все кроме последнего поста) и перекиньте в архив ;) | | |
|
kankord | Дата: 25 Января 2009, 15:09 | Сообщение # 15 |  ● ● ● ● ● 1 сообщение Статус: Offline | А вытянуть класс, а не ид подобным образом возможно? | | |
|
}{0тт@бь)ч | Дата: 25 Января 2009, 18:17 | Сообщение # 16 | ● ● ● ● ● 1089 сообщений Статус: Offline | можно | | |
|
Symbian9x | Дата: 25 Января 2009, 18:49 | Сообщение # 17 |  ● ● ● ● ● 269 сообщений Статус: Offline | kankord, jQuery - рулит | | |
|
mob_dp | Дата: 25 Января 2009, 19:29 | Сообщение # 18 | ● ● ● ● ● 4112 сообщений Статус: Offline | kankord, Code document.getElementsByClassName('class') | | |
|
kankord | Дата: 25 Января 2009, 21:39 | Сообщение # 19 |  ● ● ● ● ● 1 сообщение Статус: Offline | mob_dp, я это первым попробовал, но Code getElementsByClassName не поддерживается ие, да и в мозиле отображается undefined. http://koth-fan.ru/index/0-5 вытягивает класс footer отсюда - http://koth-fan.ru/index/0-4 а подобное решение можно увидеть? | | |
|
Symbian9x | Дата: 25 Января 2009, 22:03 | Сообщение # 20 |  ● ● ● ● ● 269 сообщений Статус: Offline | Code $('div.class1').load('ссылко #класс'); <div class="class1"></div> | | |
|