Забыли пароль?
Запросите новый здесь.

Автор темы: Zaxap
ID темы: 2160
Информация:
Тема содержит 30 сообщения, была просмотрена 28626 раз.
Просмотр темы
PHP-Fusion Russia » Веб-разработка » PHP
 Распечатать тему
Как показать данные с чужого сайта на своем, но не в iframe...
Zaxap
Дело обстоит так: решил вывести на сайте новости из своей группы в ВК. Все бы ничего, да только вот виджет в ВК подгружается в iframe...
Даже если его (виджет/iframe) растянуть на всю страницу, вид, скажем так, ужасный, да и iframe лепить не хочется...
Решил как-нибудь сделать выборку отдельных div-ов... аля-парсинг, что ли....
Но ума не приложу, извините, как выбрать содержимое со сторонней страницы (нужно только текст, картинки и дату)...

iframe через DOM не хочется лепить, web-proxy творить еще всякие...

Есть мысль, что это можно выбрать php, но блин... нужно хотя бы как-то открыть "чужой сайт" не в iframe, либо выбрать текст из нужных div-ов...


Зло не дремлет, а я добрый...
 
Rush
у вк есть апи


 
Web
Zaxap
от этого легче не становится...


Зло не дремлет, а я добрый...
 
Rush
еще у групп возможно есть рсс, точно не помню


 
Web
Zaxap
Rush, как раз нет rss.


Зло не дремлет, а я добрый...
 
Rush
есть, но кривой весьма.
апи в любом случае разрулит. и вообще непонятно, обычно все кросспостят с сайта в вк, а ты наоборот)


 
Web
Zaxap
Rush, просто новости размещаются в группе, а я тупо создал на пока простую php страничку, хочу вывести "последние новости"))
(да и на потом надо, удобно чтобы было)

В API лазил, лазил... тупо распилить что ли openapi.js? Или есть какой-то адекватный мануал, как вывести то или иное??

А, нашел!) /закопали куда-то, куда подальше/
http://vk.com/dev/wall.get

---

Возникли некоторые проблемы с выводом фото.
Вот так вот вывожу (пример):
Загрузить источник  GeSHi: PHP
  1. $hell = file_get_contents("https://api.vk.com/method/wall.get?v=5.3&filter=all&domain=1&count=1");
  2. $hell = json_decode($hell);
  3. $photo = $hell->response->items->attachments->photo->photo_604; //так вот вывожу, но вот не выводится, зараза... ничего не отдает...
Добавлено за 0.032 секунд, используя GeSHi 1.0.8.10


И еще кое что: как заставить "работать" переносы строки \n? После json_decode они просто-напросто превращаются в пробелы...


Изменил(а) Zaxap, 19.04.2014 18:10
Зло не дремлет, а я добрый...
 
Polarfox
Домаин 1? Надеюсь это не так в рабочем коде?


Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
 
Zaxap
PolarFox, не так.


Зло не дремлет, а я добрый...
 
Rush
я думаю в апи вк требуется авторизация приложения через oauth


 
Web
Zaxap
Rush, кажется, не требуется, там тупо в json'е все лежит, переводим это в массив, берем оттуда ссылку на фото... но вот она не берется...


Изменил(а) Zaxap, 19.04.2014 21:18
Зло не дремлет, а я добрый...
 
Rush
ну это не массив, а объект. используй foreach к примеру и приведи var_dump


 
Web
Zaxap
Не выходит как-то с foreach...
Галерею приделать выходит, но мне не галерею надо ведь...


Изменил(а) Zaxap, 23.04.2014 14:03
Зло не дремлет, а я добрый...
 
Pisatel
Скачать исходники  Код
  echo var_dump($hell);



Скинь, че получится, посмотреть, чего тебе отдает. Заменить пробелы можно обычным str_replace или preg_replace, либо попробовать банально nl2br()

 
Web
Zaxap
Скачать исходники  Код
object(stdClass)#1 (1) { ["response"]=> object(stdClass)#2 (2) { ["count"]=> int(50) ["items"]=> array(10) { [0]=> object(stdClass)#3 (10) { ["id"]=> int(17) ["from_id"]=> int(-56078485) ["owner_id"]=> int(-56078485) ["date"]=> int(1375980851) ["post_type"]=> string(4) "post" ["text"]=> string(70) "Продолжение вопроса по новому сайту ." ["attachments"]=> array(1) { [0]=> object(stdClass)#4 (2) { ["type"]=> string(4) "poll" ["poll"]=> object(stdClass)#5 (8) { ["id"]=> int(99966742) ["owner_id"]=> int(-56078485) ["created"]=> int(1375980852) ["question"]=> string(67) "Кем бы вы хотели быть на нашем сайте ?" ["votes"]=> int(57) ["answer_id"]=> int(0) ["answers"]=> array(8) { [0]=> object(stdClass)#6 (4) { ["id"]=> int(318745721) ["text"]=> string(28) "Администратор ." ["votes"]=> int(10) ["rate"]=> float(17.54) } [1]=> object(stdClass)#7 (4) { ["id"]=> int(318745722) ["text"]=> string(20) "Модератор ." ["votes"]=> int(6) ["rate"]=> float(10.53) } [2]=> object(stdClass)#8 (4) { ["id"]=> int(318745723) ["text"]=> string(14) "Блогер ." ["votes"]=> int(0) ["rate"]=> float(0) } [3]=> object(stdClass)#9 (4) { ["id"]=> int(318745724) ["text"]=> string(22) "Информатор ." ["votes"]=> int(0) ["rate"]=> float(0) } [4]=> object(stdClass)#10 (4) { ["id"]=> int(318745725) ["text"]=> string(30) "VIP пользователь ." ["votes"]=> int(14) ["rate"]=> float(24.56) } [5]=> object(stdClass)#11 (4) { ["id"]=> int(318745726) ["text"]=> string(43) "Кодописец (программер) ." ["votes"]=> int(0) ["rate"]=> float(0) } [6]=> object(stdClass)#12 (4) { ["id"]=> int(318745727) ["text"]=> string(26) "Пользователь ." ["votes"]=> int(24) ["rate"]=> float(42.11) } [7]=> object(stdClass)#13 (4) { ["id"]=> int(318745728) ["text"]=> string(25) "Свой вариант ." ["votes"]=> int(3) ["rate"]=> float(5.26) } } ["anonymous"]=> int(1) } } } ["comments"]=> object(stdClass)#14 (1) { ["count"]=> int(21) } ["likes"]=> object(stdClass)#15 (1) { ["count"]=> int(0) } ["reposts"]=> object(stdClass)#16 (1) { ["count"]=> int(0) } } [1]=> object(stdClass)#17 (9) { ["id"]=> int(16) ["from_id"]=> int(-56078485) ["owner_id"]=> int(-56078485) ["date"]=> int(1375616795) ["post_type"]=> string(4) "post" ["text"]=> string(303) "Нихао . Делается вторая версия сайта , доступна по адресу Няндекс.рф . Сейчас ведется набор блогеров на сайт и администрации . Кому интересен проект , случимся в личку ." ["comments"]=> object(stdClass)#18 (1) { ["count"]=> int(0) } ["likes"]=> object(stdClass)#19 (1) { ["count"]=> int(1) } ["reposts"]=> object(stdClass)#20 (1) { ["count"]=> int(0) } } [2]=> object(stdClass)#21 (10) { ["id"]=> int(14) ["from_id"]=> int(-56078485) ["owner_id"]=> int(-56078485) ["date"]=> int(1374244413) ["post_type"]=> string(4) "post" ["text"]=> string(102) "Доступна мобильная версия сайта , по адресу http://m.nyandex.tk/ ." ["attachments"]=> array(1) { [0]=> object(stdClass)#22 (2) { ["type"]=> string(4) "link" ["link"]=> object(stdClass)#23 (4) { ["url"]=> string(20) "http://m.nyandex.tk/" ["title"]=> string(14) "Няндекс" ["description"]=> string(0) "" ["image_src"]=> string(53) "http://cs309422.vk.me/v309422828/7ef0/PerKi211w8Q.jpg" } } } ["comments"]=> object(stdClass)#24 (1) { ["count"]=> int(1) } ["likes"]=> object(stdClass)#25 (1) { ["count"]=> int(10) } ["reposts"]=> object(stdClass)#26 (1) { ["count"]=> int(0) } } [3]=> object(stdClass)#27 (10) { ["id"]=> int(13) ["from_id"]=> int(-56078485) ["owner_id"]=> int(-56078485) ["date"]=> int(1374177933) ["post_type"]=> string(4) "post" ["text"]=> string(0) "" ["attachments"]=> array(1) { [0]=> object(stdClass)#28 (2) { ["type"]=> string(4) "poll" ["poll"]=> object(stdClass)#29 (8) { ["id"]=> int(97465905) ["owner_id"]=> int(-56078485) ["created"]=> int(1374177932) ["question"]=> string(68) "Собираюсь делать чат . Какой сделать :" ["votes"]=> int(185) ["answer_id"]=> int(0) ["answers"]=> array(3) { [0]=> object(stdClass)#30 (4) { ["id"]=> int(310549494) ["text"]=> string(29) "Оставить такой ." ["votes"]=> int(79) ["rate"]=> float(42.7) } [1]=> object(stdClass)#31 (4) { ["id"]=> int(310549495) ["text"]=> string(57) "Сделать на отдельной странице ." ["votes"]=> int(72) ["rate"]=> float(38.92) } [2]=> object(stdClass)#32 (4) { ["id"]=> int(310549496) ["text"]=> string(24) "Не нужен чат ." ["votes"]=> int(34) ["rate"]=> float(18.38) } } ["anonymous"]=> int(1) } } } ["comments"]=> object(stdClass)#33 (1) { ["count"]=> int(0) } ["likes"]=> object(stdClass)#34 (1) { ["count"]=> int(0) } ["reposts"]=> object(stdClass)#35 (1) { ["count"]=> int(0) } } [4]=> object(stdClass)#36 (10) { ["id"]=> int(12) ["from_id"]=> int(-56078485) ["owner_id"]=> int(-56078485) ["date"]=> int(1374165122) ["post_type"]=> string(4) "post" ["text"]=> string(0) "" ["attachments"]=> array(1) { [0]=> object(stdClass)#37 (2) { ["type"]=> string(4) "poll" ["poll"]=> object(stdClass)#38 (8) { ["id"]=> int(97438993) ["owner_id"]=> int(-56078485) ["created"]=> int(1374165122) ["question"]=> string(72) "Будите ли вы пользоваться поисковиком ?" ["votes"]=> int(234) ["answer_id"]=> int(0) ["answers"]=> array(3) { [0]=> object(stdClass)#39 (4) { ["id"]=> int(310462828) ["text"]=> string(5) "Да!" ["votes"]=> int(186) ["rate"]=> float(79.49) } [1]=> object(stdClass)#40 (4) { ["id"]=> int(310462829) ["text"]=> string(7) "Нет!" ["votes"]=> int(10) ["rate"]=> float(4.27) } [2]=> object(stdClass)#41 (4) { ["id"]=> int(310462830) ["text"]=> string(33) "Нужно доработать !" ["votes"]=> int(38) ["rate"]=> float(16.24) } } ["anonymous"]=> int(1) } } } ["comments"]=> object(stdClass)#42 (1) { ["count"]=> int(0) } ["likes"]=> object(stdClass)#43 (1) { ["count"]=> int(0) } ["reposts"]=> object(stdClass)#44 (1) { ["count"]=> int(0) } } [5]=> object(stdClass)#45 (9) { ["id"]=> int(9) ["from_id"]=> int(-56078485) ["owner_id"]=> int(-56078485) ["date"]=> int(1374149894) ["post_type"]=> string(4) "post" ["text"]=> string(370) "В скором времени мы переезжаем на новый домен . Сайт будет кардинально изменен . Появиться почта , новости , может даже ВИДИО . С сегодняшнего дня мы активно сотрудничаем с группой Няндекс ( http://vk.com/nyandex_x ) ." ["comments"]=> object(stdClass)#46 (1) { ["count"]=> int(2) } ["likes"]=> object(stdClass)#47 (1) { ["count"]=> int(5) } ["reposts"]=> object(stdClass)#48 (1) { ["count"]=> int(0) } } [6]=> object(stdClass)#49 (10) { ["id"]=> int(7) ["from_id"]=> int(-56078485) ["owner_id"]=> int(-56078485) ["date"]=> int(1374087816) ["post_type"]=> string(4) "post" ["text"]=> string(33) "Фоновая картинка ." ["attachments"]=> array(1) { [0]=> object(stdClass)#50 (2) { ["type"]=> string(4) "poll" ["poll"]=> object(stdClass)#51 (8) { ["id"]=> int(97336069) ["owner_id"]=> int(-56078485) ["created"]=> int(1374087819) ["question"]=> string(33) "Фоновая картинка ." ["votes"]=> int(153) ["answer_id"]=> int(0) ["answers"]=> array(2) { [0]=> object(stdClass)#52 (4) { ["id"]=> int(310127350) ["text"]=> string(29) "Вернуть старую !" ["votes"]=> int(40) ["rate"]=> float(26.14) } [1]=> object(stdClass)#53 (4) { ["id"]=> int(310127351) ["text"]=> string(25) "Оставить эту !" ["votes"]=> int(113) ["rate"]=> float(73.86) } } ["anonymous"]=> int(1) } } } ["comments"]=> object(stdClass)#54 (1) { ["count"]=> int(0) } ["likes"]=> object(stdClass)#55 (1) { ["count"]=> int(2) } ["reposts"]=> object(stdClass)#56 (1) { ["count"]=> int(1) } } [7]=> object(stdClass)#57 (9) { ["id"]=> int(4) ["from_id"]=> int(-56078485) ["owner_id"]=> int(-56078485) ["date"]=> int(1374057392) ["post_type"]=> string(4) "post" ["text"]=> string(149) "Первые 100 пользователей - есть . Следующей нашей челью является - 500 пользователей ." ["comments"]=> object(stdClass)#58 (1) { ["count"]=> int(0) } ["likes"]=> object(stdClass)#59 (1) { ["count"]=> int(10) } ["reposts"]=> object(stdClass)#60 (1) { ["count"]=> int(0) } } [8]=> object(stdClass)#61 (10) { ["id"]=> int(2) ["from_id"]=> int(-56078485) ["owner_id"]=> int(-56078485) ["date"]=> int(1374008581) ["post_type"]=> string(4) "post" ["text"]=> string(191) "C сегодняшнего дня на данной странице будут освящаться все новости по поисковику и что к нему прилегает ." ["attachments"]=> array(1) { [0]=> object(stdClass)#62 (2) { ["type"]=> string(5) "photo" ["photo"]=> object(stdClass)#63 (13) { ["id"]=> int(309259457) ["album_id"]=> int(-7) ["owner_id"]=> int(-56078485) ["user_id"]=> int(100) ["photo_75"]=> string(53) "http://cs421617.vk.me/v421617828/6076/sbgFPH25zRM.jpg" ["photo_130"]=> string(53) "http://cs421617.vk.me/v421617828/6077/Irwsmc7qox0.jpg" ["photo_604"]=> string(53) "http://cs421617.vk.me/v421617828/6078/2ETIj6ORdbE.jpg" ["width"]=> int(234) ["height"]=> int(60) ["text"]=> string(0) "" ["date"]=> int(1374008583) ["post_id"]=> int(2) ["access_key"]=> string(18) "5b696398022a5086a8" } } } ["comments"]=> object(stdClass)#64 (1) { ["count"]=> int(4) } ["likes"]=> object(stdClass)#65 (1) { ["count"]=> int(8) } ["reposts"]=> object(stdClass)#66 (1) { ["count"]=> int(0) } } [9]=> object(stdClass)#67 (10) { ["id"]=> int(1) ["from_id"]=> int(-56078485) ["owner_id"]=> int(-56078485) ["date"]=> int(1374008069) ["post_type"]=> string(4) "post" ["text"]=> string(0) "" ["attachments"]=> array(1) { [0]=> object(stdClass)#68 (2) { ["type"]=> string(5) "photo" ["photo"]=> object(stdClass)#69 (14) { ["id"]=> int(309259132) ["album_id"]=> int(-6) ["owner_id"]=> int(-56078485) ["user_id"]=> int(100) ["photo_75"]=> string(53) "http://cs309422.vk.me/v309422828/7db0/GKFIhvKxO3g.jpg" ["photo_130"]=> string(53) "http://cs309422.vk.me/v309422828/7db1/FSOi36d4TTE.jpg" ["photo_604"]=> string(53) "http://cs309422.vk.me/v309422828/7db2/_PaNwfPogeU.jpg" ["photo_807"]=> string(53) "http://cs309422.vk.me/v309422828/7db3/rf6p_pvWplQ.jpg" ["width"]=> int(644) ["height"]=> int(425) ["text"]=> string(0) "" ["date"]=> int(1374008069) ["post_id"]=> int(1) ["access_key"]=> string(18) "61474e2ca685b1bc83" } } } ["comments"]=> object(stdClass)#70 (1) { ["count"]=> int(0) } ["likes"]=> object(stdClass)#71 (1) { ["count"]=> int(33) } ["reposts"]=> object(stdClass)#72 (1) { ["count"]=> int(2) } } } } }




Зло не дремлет, а я добрый...
 
Pisatel
Жарааа... foreach тебе поможет, но мне не сообразить.

x1
 
Web
Polarfox
Вот этим попробуй http://www.php.net/manual/ru/function.var-export.php и все станет очевидно (хотя не помню как оно работает с объектами)


Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
x1
 
Zaxap
Загрузить источник  GeSHi: PHP
  1. //...
  2. $hell = $hello->response->items;
  3. for ($i = 0; $i < count($hell); $i++){
  4. //...
  5. $pho = $hell[$i]->attachments;
  6. for ($to = 0; $to < count($pho); $to++){
  7. echo "<img src=\"".$pho[$to]->photo->photo_75."\" alt=\"\">";
  8. }
  9. //...
  10. }
  11. //...
Добавлено за 0.017 секунд, используя GeSHi 1.0.8.10


Все бы ничего, но, насколько я понимаю код, count производит "подсчет" элементов в массиве (ну или что-то подобное).
Т.к. $pho = $hell[$i]->attachments;, следовательно,
count($pho) считает кол-во всего аттача, необязательно фото, а видео, аудио и т.п....

Как сделать так, чтобы подсчет велся именно фотографий (где "type":"photo")?
Кусочек JSON


---

И еще вопрос: вот кол-во ссылок на фото зависит от его качества...
Например,
"photo_75":"http:\/\/my.site\/photo_75.jpg",
"photo_130":"http:\/\/my.site\/photo_130.jpg",
"photo_604":"http:\/\/my.site\/photo_604.jpg",
"photo_807":"http:\/\/my.site\/photo_807.jpg",
"photo_1280":"http:\/\/my.site\/photo_1280.jpg",
"photo_2560":"http:\/\/my.site\/photo_2560.jpg"
и т.д.
Как можно "словить" последнюю такую вот ссылку (на изображение макс. качества)?


Изменил(а) Zaxap, 26.04.2014 06:54
Зло не дремлет, а я добрый...
 
Rush


 
Web
Zaxap
Как можно "словить" последнюю такую вот ссылку (на изображение макс. качества)?


Rush, немного не то... проблема в том, что эти ссылки никак не последние в массиве, они только идут одна за другой в порядке возрастания и начинаются с "photo_...", а до и после них идут другие элементы...

Объединено 28.04.2014 08:23:
UP


Изменил(а) Zaxap, 27.04.2014 22:23
Зло не дремлет, а я добрый...
 

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Темы Форум Ответов / Просмотров Последние сообщения
в PHP 7.4 нельзя вставлять пустое значение в `id` как раньше  →  Пожелания и предложения 4 / 1076 19.12.2023 03:32
нужны ли на сайте "Закладки" и "История посещений", как в браузере?  →  Пожелания и предложения 4 / 841 11.08.2023 15:56
Потерял пароль от сайта  →  Разное 6 / 2109 22.01.2022 14:54
Как сделать микроразметку на сайте?  →  PHP 1 / 3374 22.07.2021 06:39
Нужна дороботка сайта на 7 версии  →  Народное творчество 0 / 1730 25.05.2021 16:57
Как вебмастеру сформулировали УТП для создания сайтов на PHP-Fusion?  →  Пожелания и предложения 1 / 7309 25.07.2020 03:46
SEO-оптимизация. дубли страниц в PHP-Fusion - где искать и как избавиться?  →  Ошибки, баги 0 / 5120 19.06.2020 17:06
У нас есть простейшая форма заказа дл сайта?  →  Пожелания и предложения 3 / 2890 16.03.2020 12:35
Как вывести все данные из таблицы, за исключением администраторов  →  Плагины 3 / 5333 24.02.2020 15:59
Какой плагин PHP-Fusion уместно использовать для создания сайта КВИЗа?  →  Пожелания и предложения 1 / 3963 18.02.2020 15:14
Топ 5 пользователей форума
Zaxap Zaxap (1,090)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)   SchreiBear SchreiBear (625)