Как правильно скачать страницу с помощью curl_setopt?

 
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1035
Пишу для сайта парсеры кинотеатров. 4 написал осталось 2, не могу с ними ничего придумать.
Пытаюсь скачать страницу, вот функция
Код PHP:
  1.  
  2. function browser($url){
  3. $c = curl_init();
  4.  
  5. curl_setopt($c, CURLOPT_URL, $url);
  6. curl_setopt($c, CURLOPT_USERAGENT, "User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:6.0) Gecko/20100101 Firefox/6.0");
  7. curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
  8. $res = curl_exec($c);
  9. return $res;
  10. }
  11.  
  12. .....
  13. function kinomax(){
  14. $index = browser('http://www.kinomax.ru/ryazan/');
  15. .....
  16.  
Если просто перейти по этой ссылке, то страница соответственно открывается без проблем, но функция скачивает страницу не целиком, именно фильмы то и не скачиваются, поскольку на странице-оригинале фильмы подгружаются на аяксе.

Как можно скачать страницу с фильмами, может кто подсказать?
Редактировалось: 1 раз (Последний: 26 января 2013 в 10:49)
Модератор
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форума
Сообщений: 1422
Мб, так?
kinomax.ru/schedule/schedule.php?cinemaID=ryazan
Редактировалось: 2 раз (Последний: 26 января 2013 в 10:52)
Нормальный хостинг, сервера быстрые - пользуюсь сам.
Реклама
cms
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1035
lokanaft, спасибо. Я как бы пока постигаю азы парсинга. Один вопрос, в этой ссылке www.kinomax.ru/schedule/schedule.php?cinemaID=ryazan получается с помощью get передается id города?
Модератор
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форума
Сообщений: 1422
Отсюда туда передаётся: kinomax.ru/ryazan/ . Видимо у них такая идентификация наглядная.
Нормальный хостинг, сервера быстрые - пользуюсь сам.
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1035
а как можно вытащить за сегодняшнюю дату?
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1035
а вообще то ладно, я по другому выберу нужные даты.
lokanaft, спасибо большое
Модератор
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форума
Сообщений: 1422
Если уж начали, то капайте, разбирайтесь - главное набраться опыта. Уж слишком простые вещи вы спрашиваете.
Нормальный хостинг, сервера быстрые - пользуюсь сам.
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1035
lokanaft, я если честно с парсерами вчера только начал разбираться)
Модератор
small user social cms
МедальПочетный донор проектаКубок зрительских симпатийАвторитет форума
Сообщений: 1422
Ну начните с того, что каждый фильм в блоке <div class="filmdesc clearboth"> , потом выводятся не только сегодняшние фильмы, но и анонс. Значит, перебирая все блоки, надо искать строки с: <td class="week-day">Сб, 26.01</td> и соответственно брать время.
Вроде разбираетесь, а такие вещи спрашиваете, либо я не понял, что конкретно вы хотите scratch
Нормальный хостинг, сервера быстрые - пользуюсь сам.
Посетитель
small user social cms
Медаль
Сообщений: 138
дополню, если нужно передать какие-то параметры через POST,-

Код PHP:
  1. curl_setopt ( $putcurl, CURLOPT_POST, true );
  2. curl_setopt ( $putcurl, CURLOPT_POSTFIELDS, $post_fields );
иногда полезно передать реферера:

Код PHP:
  1. curl_setopt ( $putcurl, CURLOPT_REFERER, 'http://kinomax.ru');
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1035
lokanaft:
либо я не понял, что конкретно вы хотите
я тоже так и решил сделать. А хотел я изначально скачать страницу с уже сегодняшней датой. Выбрать то я выберу.
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1035
Не могу теперь скачать эту страницу http://www.5zvezd.ru/schedule/#3073:8 (для Рязани). По разному пытался подставлять значения, но ничего не получается.
Подскажите как нужно.
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1035
Уже разобрался. Совет Cruzka, очень помог. Спасибо
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1224
Rossoman:
Не могу теперь скачать эту страницу http://www.5zvezd.ru/schedule/#3073:8 (для Рязани). По разному пытался подставлять значения, но ничего не получается. Подскажите как нужно.
сомневаюсь что подгрузите по ссылке, так как данные генерируются через аякс
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1035
по ссылке нет, но получилось сделать так
Код PHP:
  1.  
  2. function browser($url){
  3. $vars = "&CITY_ID=3073&CINEMA_ID=8";
  4. $c = curl_init();
  5. curl_setopt($c, CURLOPT_URL, $url);
  6. curl_setopt($c, CURLOPT_POST, 1);
  7. curl_setopt($c, CURLOPT_POSTFIELDS, $vars);
  8. curl_setopt($c, CURLOPT_USERAGENT, "User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:6.0) Gecko/20100101 Firefox/6.0");
  9. curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
  10. $res = curl_exec($c);
  11. return $res;
  12. }
  13.  
  14. ....
  15.  
  16. function 5stars(){
  17. $index = browser('http://www.5zvezd.ru/schedule/');
  18.  
  19. ....
  20.  
  21.  
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.