Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как получить данные с саита?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: я прочитал такие темы про "curl" но понел из них 0%
ajlhimik
Отправлено: 14 Января, 2015 - 17:39:02
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Дек. 2014  


Помог: 0 раз(а)




вот есть страница всех результатов: http://lottery[dot]com[dot]ua/ru/lottery[dot][dot][dot]keno/results[dot]htm
мне надо получит все выиграшные номера в текстовом виде за последние 100 дней (к примеру с розыгрыша 4926 по 5026). Возможно ли ето? Заранее спасибо!

(Отредактировано автором: 14 Января, 2015 - 17:41:00)

 
 Top
Zuldek
Отправлено: 14 Января, 2015 - 18:10:16
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




$page = file_get_contents('http://lottery[dot]com[dot]ua/ru/lottery[dot][dot][dot]keno/results[dot]htm');
echo $page;
 
 Top
GoDr
Отправлено: 15 Января, 2015 - 10:03:57
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




Zuldek, Не всё так просто.. Данные формируются через Javascript. И ещё просмотр результатов осуществляется через Ajax. Так что просто скопировав страницу, ничего не получишь.

А запрашивать в своём скрипте (не через клиента) сторонний скрипт... не думаю что должно получится. По крайней мере нормальный код такое бы запретил..


-----
Система управления веб-содержимым Lotos CMS
 
 Top
Zuldek
Отправлено: 15 Января, 2015 - 13:14:22
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




GoDr пишет:
А запрашивать в своём скрипте (не через клиента) сторонний скрипт... не думаю что должно получится. По крайней мере нормальный код такое бы запретил..

phantom.js к вашим услугам
 
 Top
GoDr
Отправлено: 15 Января, 2015 - 13:33:25
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




Zuldek, ну или как-то так Радость


-----
Система управления веб-содержимым Lotos CMS
 
 Top
ajlhimik
Отправлено: 19 Января, 2015 - 16:07:27
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Дек. 2014  


Помог: 0 раз(а)




GoDr пишет:
Zuldek, ну или как-то так Радость

а как букмекерские конторы их получяют?
 
 Top
LIME
Отправлено: 19 Января, 2015 - 16:11:53
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




через API
 
 Top
ajlhimik
Отправлено: 19 Января, 2015 - 16:32:03
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Дек. 2014  


Помог: 0 раз(а)




LIME пишет:
через API

ето что?)
 
 Top
LIME
Отправлено: 19 Января, 2015 - 16:35:24
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




енто они договорились и отдают им данные в удобоваримом виде
 
 Top
ajlhimik
Отправлено: 19 Января, 2015 - 16:43:59
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Дек. 2014  


Помог: 0 раз(а)




LIME пишет:
енто они договорились и отдают им данные в удобоваримом виде

а можно как нибудь удаленно получить только цифры
 
 Top
GoDr
Отправлено: 19 Января, 2015 - 18:49:46
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




ajlhimik, если сайт отдаёт то можно.. А вообще попробуй написать на сайт ну или позвонить, да спроси... Вдруг там у них есть что-то типа API

(Отредактировано автором: 19 Января, 2015 - 18:50:12)



-----
Система управления веб-содержимым Lotos CMS
 
 Top
armancho7777777 Супермодератор
Отправлено: 19 Января, 2015 - 19:10:02
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




GoDr пишет:
просмотр результатов осуществляется через Ajax

И? В чём проблема? Тот же http запрос.
Смотрим в файрбаге запрос, его метод, и данные, которые отсылаются.
Запрашивать курлом.
Возможно надо будет отправить заголовок "http_x_requested_with".

Там ожидается post-запрос со следующими данными:
draw: 5031 // № розыгрыша...
action: show_results_keno
module: lottery
is_ajax: true


URL запроса:
_http://lottery.com.ua/index.php

Если нужна сортировать шарики по номерам, то укажите ещё "Need_sort:1"

Список номеров розыгрышей есть в исходном коде страницы в виде JS объекта "DateJSON"
PHP:
скопировать код в буфер обмена
  1. $content = file_get_contents('http://lottery.com.ua/ru/lottery/keno/results.htm');
  2. $drawList = array();
  3.  
  4. if(preg_match('/var\s+DateJSON\s*=\s*([^;]+)\s*;/', $content, $match)) {
  5.     $drawList = json_decode($match[1], true);
  6. }
  7.  
  8. // Номера розыгрышей за 01/01/2015
  9. print_r($drawList[2015][1][1]);

(Отредактировано автором: 20 Января, 2015 - 08:28:43)

 
 Top
GoDr
Отправлено: 20 Января, 2015 - 09:21:13
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




armancho7777777 пишет:
Возможно надо будет отправить заголовок "http_x_requested_with".
Тогда возможно нужно будет ещё подменить HTTP_REFERER


-----
Система управления веб-содержимым Lotos CMS
 
 Top
armancho7777777 Супермодератор
Отправлено: 20 Января, 2015 - 14:54:05
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Не проблема.
Это всего лишь заголовки.

(Отредактировано автором: 20 Января, 2015 - 14:55:02)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB