За последние 24 часа нас посетили 62735 программистов и 1752 робота. Сейчас ищут 924 программиста ...

Википедия и file_get_contents

Тема в разделе "PHP для новичков", создана пользователем klissan, 30 янв 2008.

  1. klissan

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

    С нами с:
    30 янв 2008
    Сообщения:
    8
    Симпатии:
    0
    Собственно, появилось желание немного попарсить ее.
    Вчера немного попробовал, но при попытки взять страницу через file_get_contens(), получаю 403.
    Как поступить? Юзать курл и подделывать юзер-агент или еще что-то нужно?
    Кто занимался, не поделитесь опытом?
    Вот попробовал на курле скрипт написать, не работает ((



    PHP:
    1.  
    2. <?
    3. $url = "http://ru.wikipedia.org/wiki/";
    4.  
    5. echo '<form action="" method="POST">
    6. <input type="text" name="word" value="'.$_POST['word'].'"><br>
    7. <input type="submit">
    8. </form>';
    9. $user_agent = 'Mozilla/5.0 (Windows; U;
    10. Windows NT 5.1; ru; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9';
    11.         $header = array(
    12.         "Accept: text/xml,application/xml,application/xhtml+xml,
    13. text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5",
    14.         "Keep-Alive: 300");
    15. if($_POST['word'] != ""){
    16.     $url = $url.urlencode($_POST['word']);
    17.     echo $url;
    18.     $res = curl_init($url);
    19.     curl_setopt($res, CURLOPT_USERAGENT, $user_agent);
    20.     curl_setopt($res, CURLOPT_VERBOSE, 1);
    21.     curl_setopt($res, CURLOPT_HTTPHEADER, $header);
    22.     echo $res.'<br>';
    23.     $out = array();
    24.     $str = curl_exec($res);
    25. echo $str;
    26. curl_close($res);  
    27.     preg_match_all('/<li class="interwiki-ja"><a href="http:\/\/ja.wikipedia.org\/wiki\/.+">(.+)<\/a><\/li>/', $str, $out);
    28.     echo $out[1][0];
    29. }
    30.  
    31.  
    32. ?>
    33.  
     
  2. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    А цели-то какие преследуешь?
     
  3. klissan

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

    С нами с:
    30 янв 2008
    Сообщения:
    8
    Симпатии:
    0
    Чисто для себя. Некоторые понятия переводить на японский, т.к. во многих словарях, которые я нашел, нет многих слов. Больше технические термины.