За последние 24 часа нас посетили 56582 программиста и 1786 роботов. Сейчас ищут 2169 программистов ...

Парсер с помощью DOM

Тема в разделе "Прочие вопросы по PHP", создана пользователем wtfowned, 4 окт 2007.

  1. wtfowned

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

    С нами с:
    4 окт 2007
    Сообщения:
    37
    Симпатии:
    0
    Привет всем.
    Моя будущая задача - писать парсеры поисковых систем .
    Можно это делать просто при помощи PHP :
    fopen и построчно при помощи регулярок разбирать .
    Меня интересует , можно ли открывать удаленные файлы и разбирать из при помощи DOM ?
    Функция load открывает только локальные файлы .
    Как быть?
     
  2. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    loadXML используйте. Он строку принимает, а не имя файла.
     
  3. wtfowned

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

    С нами с:
    4 окт 2007
    Сообщения:
    37
    Симпатии:
    0
    Так , идею понял. То есть грузить содержимое в переменную , и грузить ее с помощью loadHTML .
    Теперь проблема , из-за чего может быть глюк , что такое не работает ?

    allow_url_fopen = On
    PHP:
    1.  
    2. <?php
    3. $s = file_get_contents('http://yandex.ru/');
    4. echo $s;
    5. ?>
    6.  
     
  4. wtfowned

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

    С нами с:
    4 окт 2007
    Сообщения:
    37
    Симпатии:
    0
    В поиске решения так и не было , все ссылались на баг .
     
  5. Штаны

    Штаны Guest

    У меня этот код прекрасно работает
     
  6. wtfowned

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

    С нами с:
    4 окт 2007
    Сообщения:
    37
    Симпатии:
    0
    Немного забросил темку.
    Проблема , кстати , заключалась в том , что браузер работал через прокси-сервер (на работе) .
    В общем разобрался с домовским классом в пхп , но там куча ньюансов своих .
    Ещё бесит , что при загрузке хтмл контента в DOM , он сразу же проверяет на соответствие стандарту , прописанному в doctype -.-
    А так пока все понятно , гораздо приятнее получать данные со страницы именно этим методом , а не тупым проходом по всем строкам подряд , в поисках соответствия регулярке =)