Как с помощью Curl забрать внутренний код iframe?

Статус
В этой теме нельзя размещать новые ответы.

jabbaxatt

Добрый модератор
Регистрация
21 Янв 2009
Сообщения
902
Реакции
432
На странице чужого сайта есть несколько iframe (с комментариями, в рекламой, с лайками фейсбука и т.д.) - как можно получить внутренний код этих iframe в переменную, на PHP?

Саму страницу Curl забирает но iframe там нет, что логично т.к. они "выполняются" в браузере.
 
1. Получить код целевой страницы
2. Распарсить полученный код, вытащив URL фреймов
3. Получить содержимое фреймов
 
1. Получить код целевой страницы
2. Распарсить полученный код, вытащив URL фреймов
3. Получить содержимое фреймов
Думал так, но почему-то не получилось - те iframe что я вижу при просмотре сайта в браузере я не могу вообще найти, скачав эту страницу через curl или просто "Сохранив только html" в браузере. Уже голова не варит совсем :(

У меня ещё вопрос. Как так может быть??? Есть статья - Для просмотра ссылки Войди или Зарегистрируйся
Там внизу есть комментарии, 5 штук. Они не в iframe.

При сохранении этой странице через Curl этих комментариев в коде нет. А как тогда они подгружаются?
 
Думал так, но почему-то не получилось - те iframe что я вижу при просмотре сайта в браузере я не могу вообще найти, скачав эту страницу через curl или просто "Сохранив только html" в браузере. Уже голова не варит совсем :(

Какой URL страницы?

У меня ещё вопрос. Как так может быть??? Есть статья - Для просмотра ссылки Войди или Зарегистрируйся
Там внизу есть комментарии, 5 штук. Они не в iframe.

При сохранении этой странице через Curl этих комментариев в коде нет. А как тогда они подгружаются?

Комментарии на той странице - результат работы js. Чтобы их получить необходимо просмотреть логику работы js
 
Какой URL страницы?
Комментарии на той странице - результат работы js. Чтобы их получить необходимо просмотреть логику работы js

А нельзя как-то заставить эти скрипты выполнится (как в браузере) а потом получить результат (Html) этого выполнения? На том же Delphi есть браузер. Но в php нет среды для выполнения JS. И вариантов я не вижу.
Читаю пока про Для просмотра ссылки Войди или Зарегистрируйся но уж больно там всего наворочено. По проще в применении решений нет?


Ап. В английском интернете про эмуляцию браузера в своих программах на сервере отсылают то к HtmlUnit то к PhantomJS. Оба (судя по моему плохому переводу) поддерживают выполнение JS на сервере, без браузера. Но оба требуют программирования на Java, а с этим я не знаком. Плохо.

Неужели нельзя получить в переменную PHP код HTML аналогичный тому что находится в браузере после выполнения скриптов. :( :( :(

Ап 2. Всё что можно найти на русском во всех поисковиках - эта статья о том как связать HtmlUnit c PHP - Для просмотра ссылки Войди или Зарегистрируйся
В рот мне ноги:mad: , сколько сложностей :(

Оказывается проблему у нас уже обсуждали - Для просмотра ссылки Войди или Зарегистрируйся

Но решения нет и там.
 
node.js в руки и вперед...
если, конечно, цель стоит в универсальном решении...
для частных случаев, коих большинство, намного проще вручную разобрать отсылаемые/получаемые запросы, вычислить где и как формируются необходимые данные и после сформировать "правильный" запрос посредством php.
 
Скорей всего вы не получите отдельно коментарии, там наверняка используется какой-нибудь sekret key для авторизации в стороннем приложении. Вам поможет ob_start();
 
Напрямую курлом никак не заберете текст.

Вот ваш адрес с комментариями для указанной выше страницы:
PHP:
http://www.livejournal.com/tools/endpoints/comments.bml?rsk=J5BZUAwuG98cuvzbdvzBvOpKppkttf29dALDoElK&docid=2160582&ver=2&ditemid=&encoding=Windows-1251&callback=jQuery17028726787044946156_1365184395482&_=1365184400010
Останется разобраться как формируется урл для комментариев и распарсить страничку.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху