За последние 24 часа нас посетили 30452 программиста и 1795 роботов. Сейчас ищут 824 программиста ...

Проблема file_get_contents()

Тема в разделе "PHP для новичков", создана пользователем Neka, 7 апр 2010.

  1. Neka

    Neka Активный пользователь

    С нами с:
    16 янв 2010
    Сообщения:
    188
    Симпатии:
    0
    Приветствую!
    PHP:
    1. <?php
    2. $name = 'Звёздные собаки: Белка и Стрелка';
    3. $s_query = 'http://www.kinopoisk.ru/index.php?first=no&kp_query='.urlencode($name); ?>
    Получаем:
    http://www.kinopoisk.ru/index.php?first ... 5%EB%EA%E0
    Делаем:
    PHP:
    1. <?php $search = file_get_contents($s_query) ?>
    Получаем код главной страницы (index.php). В браузере отображается страница результатами поиска.
    Как ее получить в $search? Что не так?
     
  2. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Где $s_query появляется?
     
  3. Neka

    Neka Активный пользователь

    С нами с:
    16 янв 2010
    Сообщения:
    188
    Симпатии:
    0
    ?? Не понял вопроса
    Появляется он в 3-й строке 1-й части кода в первом посте...
     
  4. engager

    engager Активный пользователь

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    первая часть кода и вторая каким образом связаны между собой? находятся ли они в одном скрипте? короче, видна ли переменная $s_query в момент, когда вызывается file_get_contents($s_query)
     
  5. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    [тем временем, в параллельной вселенной, где люди читают мануал]
    а знаете, что здесь самое интересное? А то, что даже у file_get_contents() есть всё для эмуляции нормального запроса браузера.
     
  6. Neka

    Neka Активный пользователь

    С нами с:
    16 янв 2010
    Сообщения:
    188
    Симпатии:
    0
    engager
    Да, они идут друг за другом

    Luge
    И я там (php.net) был, мёд (google), пиво (форумы) пил (читал)... Может искал не то?
     
  7. engager

    engager Активный пользователь

    С нами с:
    21 янв 2009
    Сообщения:
    1.106
    Симпатии:
    1
    Luge имел в виду, что http://www.kinopoisk.ru/ может быть таким умным, что не всякому user-agent'у отдаст контент. нужно маскироваться под браузер
     
  8. Neka

    Neka Активный пользователь

    С нами с:
    16 янв 2010
    Сообщения:
    188
    Симпатии:
    0
    Пробуем маскироваться
    PHP:
    1. <?php    $s_query = 'http://www.kinopoisk.ru/index.php?first=no&kp_query='.urlencode($name);
    2.     $ch = curl_init();
    3.     curl_setopt($ch, CURLOPT_URL, $s_query);
    4.     curl_setopt($ch, CURLOPT_HEADER, false);
    5.     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    6.     curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2');
    7.     $search = curl_exec($ch);
    8.     curl_close($ch); ?>
    $search - пуста...
    Код стырен с php.net, и не работает =( кУрл подключен, еррор_лог пуст... аномалия?
     
  9. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    о, а что ещё говорит браузер, когда коннектится к серваку?

    всё можно нормально забрать, только что проверил
     
  10. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    можешь этот поправить
     
  11. Neka

    Neka Активный пользователь

    С нами с:
    16 янв 2010
    Сообщения:
    188
    Симпатии:
    0
    Никаких задумок... раз и все...
     
  12. Neka

    Neka Активный пользователь

    С нами с:
    16 янв 2010
    Сообщения:
    188
    Симпатии:
    0
    Шож за проклятье висит на GET в парсинге?((
    Твой код работает, но опять же посылает на ... главную страницу =( Уж лучше бы прямым текстом туда...
     
  13. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    куки принимаются и отдаются? заголовки шлются? Всё пашет, результаты поиска открываются
     
  14. Neka

    Neka Активный пользователь

    С нами с:
    16 янв 2010
    Сообщения:
    188
    Симпатии:
    0
    Куки? все дело в печеньках??
    Я их удалил *shy ... заголовки шлются, что должно то быть в $cookie_file внутри?

    А еще я удалил все упоминания gZip, а то он выдает бред L2 кэша процессора, не думаю что это как то повлияло.

    P.S. Лучше бы по старинке... клавой, мышью и копипастом...
    P.P.S Хотя нет. Мужики не танцуют!
    P.P.P.S Ой, точнее программисты не сдаются!
    P.P.P.P.S А может и сдаются, но не в этот раз.