Напарсеное в файл

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

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

    Innocent77 Создатель

    Регистр.:
    20 дек 2009
    Сообщения:
    23
    Симпатии:
    6
    Короче нужно спарсить сайт http://ruseller.com
    Брать нужно статьи из http://ruseller.com/lessons.php?rub=число рубрики.
    Допустим спарсить можно, но как вывести спарсенное в хмл файл?либо просто для начала в тхт.

    Знания в пхп расплывчатые,так что прошу помощи.
    PHP:
    <?php 
    set_time_limit
    (0);  //Обязательно ли писать?

    $url='http://ruseller.com/lessons.php?rub'//Как тут получится? 
    //рубрики то все надо спарсить, что каждый раз писать урл полный?
    //тем более если проходить по этому урлу, то буду выводится только описания а мне нужно полную статью.
    //Еще было бы хорошо картинки в папку спарсить.
    $input=file_get_contents($url); 

    preg_match_all('/<div class="les">(.*)<div style="padding-top:1px;">'$input$regs); //так?или не так?

    //и дальше как засунуть контент в хмл файл для импорт в вп?

    ?>
     
  2. potuga

    potuga

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

    Для парсинга советую использовать curl или сокеты (fread), но никак не file_get_contents - у него даже таймаута нет, может легко подвесить весь скрипт.

    Теперь о том, как парсить. На сайте около 15 рубрик. Нумерация не по порядку. Заходишь на главную и парсишь все урлы рубрик - они в виде http://ruseller.com/lessons.php?rub=1 (regexp: (http://ruseller.com/lessons.php?rub=\d+))
    Далее проходишь в цикле по всем ссылкам, которые спарсил выше и грабишь все ссылки на статьи. Они все в виде http://ruseller.com/lessons.php?rub=1&id=425 (regexp: (http://ruseller.com/lessons.php?rub=\d+&id=\d+))
    Картинки к статьям тоже парсишь тут (regexp: <img src="([^"]*)" class="mini_img")
    Теперь опять в цикле проходишь по всем статьям и берешь сам текст статьи.

    Теперь у тебя есть ссылки на картинки к статьям и сам текст статьи. Как их сохранить в файл? Самое простое file_put_contents(). Кстати, удивительно, что зная file_get_contents, ты не знаешь этой функции...
    Как сохранить картинку? Точно так же. Выкачиваешь картинку по урлу, как обычную страницу и запихиваешь её в файл хоть file_put_contents().
     
  3. Innocent77

    Innocent77 Создатель

    Регистр.:
    20 дек 2009
    Сообщения:
    23
    Симпатии:
    6
    что то недаперло насчет file_put_contents,
    записывать так?
    PHP:
    file_put_contents ($naparsennoe=>'naparsennoe.xml','1');//так?
    // или все перемнные в массив засунуть, и этот массив засунуть в хмл файл?
    file_put_contents в хмл файл может засунуть?также нужно будет писать классы для хмл,чтобы все успешно в пв импортировалось?

    Добавлено через 8 минут
    или так записать?
    PHP:
    file_put_contents 'naparsennoe'mixed data [, int flags [, resource context]] )
    mixed data [, int flags [, resource context]] - не понял.В нете чот даже не нашел вменяемых комментариев.
     
  4. Miraage

    Miraage Angular/Laravel

    Регистр.:
    3 июн 2008
    Сообщения:
    230
    Симпатии:
    51
    Автор, почитай http://api.jquery.com/load/.. думаю с остальной задачей ты справишься
     
Статус темы:
Закрыта.