Спарсить информацию со странички

Тема в разделе "PHP", создана пользователем pronax, 7 сен 2010.

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

    pronax Постоялец

    Регистр.:
    21 сен 2008
    Сообщения:
    146
    Симпатии:
    10
    Всем привет! кто подскажет метод, с помощью которого можно спарсить страничку: urlvoid.com
    для пробы: http://www.urlvoid.com/scan/mail.ru
    Курлом не получается
    file_get_html тоже... в любом случае 403 выскакивает ...может есть ещё способ?
     
  2. gres_18

    gres_18 Pythonобандерівець®

    Регистр.:
    26 апр 2009
    Сообщения:
    407
    Симпатии:
    206
    Curl-ом получается, ага.
    PHP:
    <?php 
    $ch 
    curl_init();
    curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);
    curl_setopt($chCURLOPT_RETURNTRANSFERTRUE);
    curl_setopt($chCURLOPT_COOKIESESSIONTRUE);
    curl_setopt($chCURLOPT_HEADER0);
    curl_setopt($chCURLOPT_COOKIEFILE"cookiefile");
    curl_setopt($chCURLOPT_COOKIEJAR"cookiefile");
    curl_setopt($chCURLOPT_COOKIEsession_name() . '=' session_id());
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
    curl_setopt($chCURLOPT_USERAGENT'User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8');
    curl_setopt($chCURLOPT_URL'http://www.urlvoid.com/scan/mail.ru');
    $res curl_exec($ch);
    echo 
    $res;
    ?>
    Как с регулярками? Результат сам распарсишь? ;)
     
    pronax нравится это.
  3. Yaggi Jah

    Yaggi Jah Постоялец

    Регистр.:
    15 ноя 2006
    Сообщения:
    75
    Симпатии:
    31
    Скорее всего твой ip выхватил ban. Попробуй с другого.
     
  4. pronax

    pronax Постоялец

    Регистр.:
    21 сен 2008
    Сообщения:
    146
    Симпатии:
    10
    Благодарю за помощь, видно руки всё же кривые)
    каким образом записать регулярку, вот пример как я написал:
    PHP:
    preg_replace('/(Website)/',"",$website[0][$q]);
    Работает отлично, а вот как добавить вид:
    PHP:
    <tr class="row0"><td>Website</td> <td>
    выдаёт: Unknown modifier 't'
     
  5. gres_18

    gres_18 Pythonобандерівець®

    Регистр.:
    26 апр 2009
    Сообщения:
    407
    Симпатии:
    206
    Слэш в </td> нужно экранировать. Вот так:
    PHP:
    preg_replace('/<tr class="row0"><td>Website<\/td><td>/',"",$website[0][$q]);  
     
    pronax нравится это.
  6. Google.com

    Google.com Читатель

    Заблокирован
    Регистр.:
    16 фев 2010
    Сообщения:
    250
    Симпатии:
    295
    кавычки тоже
    PHP:
    preg_replace('/<tr class=\"row0\"><td>Website<\/td><td>/',"",$website[0][$q]); 
     
  7. gres_18

    gres_18 Pythonобандерівець®

    Регистр.:
    26 апр 2009
    Сообщения:
    407
    Симпатии:
    206
    Кавычки не относятся к управляющим символам регулярных выражений, поэтому экранировать их не нужно.
     
  8. potuga

    potuga

    Регистр.:
    22 сен 2009
    Сообщения:
    376
    Симпатии:
    91
    Кавычки нужно экранировать, когда они совпадают с начальным и кончеными кавычками выражения, например так:

    PHP:
    preg_replace("/<tr class=\"row0\"><td>Website<\/td><td>/","",$website[0][$q]);
    Если же кавычки различны (' и "), то экранировать их не нужно.
     
Статус темы:
Закрыта.