Получение параметра в URL с другого сайта

Тема в разделе "PHP", создана пользователем twentyz, 11 авг 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. twentyz

    twentyz Создатель

    Регистр.:
    16 июл 2007
    Сообщения:
    20
    Симпатии:
    0
    Здравствуйте. Проконсультируйте пожалуйста по следующему вопросу..
    Как получить в своём скрипте параметр id с "левого" url http://site.com/content/?id=12345
    т.е. надо как-то выдернуть 12345
     
  2. Inviseble_Demon

    Inviseble_Demon

    Регистр.:
    11 дек 2008
    Сообщения:
    482
    Симпатии:
    350
    PHP:
    <?PHP
    $url
    ='http://site.com/content/?id=12345';

    $query=parse_url($url);
    $query_arr=explode('&'$query['query']);

    foreach (
    $query_arr as $query
    {
        
    $explode=explode('='$query);
        
    $get[$explode[0]]=$explode[1];
    }


    print_r ($get);
    ?>
    $url - урл который нужно "распарсить".
    $get - ассоциативный масив GET параметров $url.

    Для получения 'id' достаточно обратиться к масиву $get['id'].
     
    twentyz нравится это.
  3. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    Не самый лучший и безопасный способ получения параметром из урла: (чисто для ознакомления)
    PHP:
    $query parse_url('http://localhost.ru/lol.php?index=p&l=2');
    parse_str($query['query'], $array);
    print_r($array);
     
    twentyz нравится это.
  4. twentyz

    twentyz Создатель

    Регистр.:
    16 июл 2007
    Сообщения:
    20
    Симпатии:
    0
    Благодарю за помощь. Еще вопросик есть:
    Как средствами php преобразовать текст введёный в форму в вид URL адреса.
    Ну вот в гугл если ввести тест, то в адресной строке вместо тест будет %D1%82%D0%B5%D1%81%D1%82
    как сделать такой перевод внутри скрипта?
     
  5. ar4ik

    ar4ik

    Регистр.:
    26 ноя 2007
    Сообщения:
    331
    Симпатии:
    95
    если правильно понял, то http://ua2.php.net/manual/en/function.urlencode.php
     
    twentyz нравится это.
  6. twentyz

    twentyz Создатель

    Регистр.:
    16 июл 2007
    Сообщения:
    20
    Симпатии:
    0
    Спасибо, то что надо. использовал urlencode.
    Теперь пожалуй самый сложный вопрос в котором мне нужно разобраться - как грабить страницы? Нужно со страницы выдернуть определённый контент.
    Например с этой ссылки http://intv.ru/search/?q=оло
    как выдернуть табличку результатов поиска?
     
  7. Freeborn

    Freeborn Постоялец

    Регистр.:
    31 окт 2008
    Сообщения:
    62
    Симпатии:
    21
    $page = file_get_contents('адрес_страницы');
    В переменной $page у вас страница. Грабьте регулярками потом.
     
  8. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    PHP:
    $c curl_init();
    curl_setopt($cCURLOPT_URL'http://intv.ru/search/?q=%D0%BE%D0%BB%D0%BE');
    curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
    curl_setopt($cCURLOPT_HEADERfalse);
    $content curl_exec($c);
    curl_close($c);
    $content substr($contentstrpos($content'<table class="thumbox">'));
    $content substr($content0strpos($content'<!-- footer begin -->'));
    $array explode('<table class="thumbox">'$content);
    unset(
    $array[0]);
    print_r($array);
     
    twentyz нравится это.
  9. Inviseble_Demon

    Inviseble_Demon

    Регистр.:
    11 дек 2008
    Сообщения:
    482
    Симпатии:
    350
    На этот вопрос ответ лучше найти самостоятельно покурив поиск.
    Вам ни кто не собирается писать скрипты парсенгу :) могут лиш направить в нужное русло. Иначе вашими следующими вопросами будит:

    А как сделать кнопку БОБЛО !?:-]

    Копайте в сторону регулярных выражений (покрайней мере пока:D).

    PS. Если есть желание конкретно разобрать вопрос парсенга, грабинга сайтов (авторизация, использование PROXY, и т.д.) милости прошу в ICQ - дам платные консультации (буджетно естественно:))

    Добавлено через 6 минут
    К чему давить сразу курлами на человека :) ?
    Пусть сначало разберется с выпарской и потом уже...


    Так я думаю будет проще для понимания:
    PHP:
    $str=file_get_contents('http://intv.ru/search/?q=%D0%BE%D0%BB%D0%BE'); 
    $str substr($strstrpos($str'<table class="thumbox">')); 
    $str substr($str0strpos($str'<!-- footer begin -->')); 
    $array explode('<table class="thumbox">'$str); 
    unset(
    $array[0]); 
    print_r($array); 
     
    twentyz нравится это.
  10. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    Ну как бы не было проще, курл стоит чаще, чем allow_url_fopen.
     
Статус темы:
Закрыта.