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

#16 28 января 2013 в 21:43
столкнулся с новой проблемой при написании последнего парсера. Не могу понять в чем дело и надеюсь на вашу помощь.
Не получается вытащить ссылки по шаблону. Имеется код
  1.  
  2. <div class="sh_film_name">
  3. <h3><a href="/films/5225/">Анна Каренина</a> 2012</h3>
  4. <p>Драма</p>
  5. <span class="shel_ico">2 часа 9 минут <span class="gray-button-small" title="Ограничение по возрасту">12+</span></span>
  6. </div>
  7. <div class="sh_film_cimena">
  8. <ul>
  9. <li>
  10. <div class="sh_film_time">
  11. <div>
  12. <span class="disable" title="На этот сеанс забронировать билеты уже нельзя">
  13. 17:00
  14. </span>
  15. <small>от 180<em><!-- rub --></em></small>
  16. </div>
  17. </div>
  18. </li>
  19. </ul>
  20. </div>
  21.  
Пытаюсь вытащить из него ссылки следующим образом
  1.  
  2. preg_match_all('#<h3><a href="([^\"]*)">([^<]*)</a>([^<]*)</h3>#', $FilmHtml, $ok);
  3.  
$FilmHtml = "Первый код"
print_ok выводит пустые массивы.
Почему? Где моя ошибка?

Другой парсер с практически таким же кодом работает.
#17 29 января 2013 в 01:13
кавычки заэкранированы мб?

попробуйте
  1. preg_match_all('#<h3><a href="(.*?)">(.*?)</a>(.*?)</h3>#smi',$FilmHtml,$ok);
  2. die(VAR_DUMP($ok));
  3.  
#18 29 января 2013 в 16:08
все равно выводит пустые массивы.
Я сделал другим способом, но мне все таки интересно, почему этот не работает?
#19 29 января 2013 в 16:36
Я так обычно юзаю:
  1. preg_match_all('|<li> <a href="([^"]*)".*src="([^"]*)".*</li>|Uis',$get,$mds, PREG_SET_ORDER);
Пример рабочий.

Скорее всего в этом месте у вас ошибка: href="([^\"]*)"
#20 29 января 2013 в 16:37
И ещё перед обработкой убираю переносы строк и лишние пробелы.
#21 29 января 2013 в 17:02
lokanaft, ваш вариант сработал, спасибо.
Вопросов конечно очень много с этими парсерами появляется))

Вот возник еще такой вопрос. Функцией file_get_contents сохраняю картинки на свой сервер. Картинки сохраняются, но выполнение скрипта не останавливается. То есть страничка не загружается и браузер вечно думает.
Опять же с другими 5 парсерами таких проблем нет.
Сохраняется около 15 картинок, каждая весом около 40-50 кб
#22 30 января 2013 в 15:53
Каждый новый парсер все сложнее и сложнее))
Наверное последний вопрос задам в этой теме.
Как скачать страницу отсюда www.kronverkcinema.ru/cgi-bin/show.pl?option=MoviesList для Рязани?
Спасибо)
#23 30 января 2013 в 16:39
Скажу проще. Я никак не могу поймать POST запрос, который отправляется при выборе "Рязань" из списка
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.