1. Ссылки покупок

    Стратегия "Звезда бинарных опционов" позволяет зарабатывать от 10 000 рублей ежедневно!

    [Courson] Холодные звонки. Как продать идею за 100 секунд?

    SalesHub - Мастер-группа: Запуск бизнеса на Amazon за 90 дней (2016)

    ОКтрафик - краткий курс по Одноклассникам для новичков и не только!

    Прибыльный VisitWeb (Юрий Минаев)

    Турбо-запуск товарного бизнеса за 1 день (Пакет GOLD, 2016) Осень

    Photoshop. магия внутри

    Тизерный трафик. Масштабирование с нуля до результата

    Гребём лопатой Adult трафик - белая схема заработка 50$ в день без вложений (2016)

    Клуб Миллионеров - Стратегия Триллион для форекс и бинарных опционов

    Способ продвижения в топ Youtube за 1 день (2016)

    Схемы заработка без вложений

    Wordpress помогатор 3.1

    Стратегия Ставок на Футбол от Густаво Доньжи

    Стратегия на турбо опционы

    Обучение по Бинарным Опционам.

    Бизнес по рецепту. продажа женских товаров

    Мануал по добыче бесплатного трафика с поисковика Bing (2016)

    От 6к уникальных посетителей на страницу ВК

    Facebook

    Стратегия Лайв Профит - ставки на футбол

    [Ирина Шмидт] - Церебро Таргет 2016

    Новый дорген.

    Стратегия на спорт.

    Двойной арбитражник по бесплатному трафику (2016)

    Подробная инструкция по Созданию интернет магазина чая с нуля (2016)

    Чертежи солнечного био-вегетария площадью 1200 кв.м. (СБВ-Профи)

    Адский стрим по копирайтингу: то чувство, когда подглядывать - хорошо!

    Видео-Курс - Tехнология быстрого старта в email рассылках (2016)

    Продвижение партнерских программ в одноклассниках (2016)

    Научу грести трафик. Только успевай сервера покупать!

    Трафик из ВК (Схема + Кейсы)

    Пассивный доход со стабильными выплатами.Схема добычи трафика.

    Секрет создания аккаунта яндекс директ без НДС

    Система ставок от проверенного каппера

    Государственный и банковский конфискат +VIP блок (2016)

    Как работать и зарабатывать деньги на продвижении своих проектов (2016)

    Секреты бесплатной рекламы от бывшего сотрудника Вконтакте

    Mobile Арбитраж - Арбитраж мобильного трафика (2016)

    BUSINESS MANUAL - Безопасные схемы заработка

    Как получать 1000-и заказов из CPA сетей (Дм.Ковпак)

    Как зарабатывать удаленно 100 тыс. руб на продвижении в Инстаграме без вложений и жить в Тайланде

    Самонаполняемые Видео-сайты!

    Прибыльная стратегия для бинарных опционов, первый доход через считанные дни + бонус!

    Траф с Вк за копейки

    Профит на онлайн теме от 30к до Неизвестно в месяц

    Легальный высокодоходный бизнес в реале

Блог вебмастера. Создание и раскрутка сайтов. | Пишем собственный парсер. PHP для упрощения...

  1. [Блог вебмастера. Создание и раскрутка сайтов.]
    Сегодня я опубликую мини-туториал по написанию парсеров с нуля. Думаю каждый seo-шник сталкивался с необходимостью обработать автоматически довольно большие объемы информации. И куда легче, быстрее и спокойнее сделать это самому, написав на коленке несложный скрипт за пол-часа.

    В примере я приведу liveinternet и парсинг всех сайтов определенной тематики. Туториал расчитан на тех, кто немного щупал HTML/CSS и слышал о PHP. Для полных новичков в программировании урок будет сложноват, но вполне реален для усвоения. Тем более, что по каждому из шагов дополнительно можно найти кучу информации.

    Скачать готовый парсер с комментариями: index.php

    Итак, поехали! )

    0. Нужен PHP.
    Для Windows-юзеров можно скачать: http://www.denwer.ru/
    Для MacOS-юзеров советую MAMP (free-версии хватит): http://www.mamp.info/en/

    1. Анализируем задачу.
    У нас стоит цель взять url всех сайтов определенной тематики. Заходим для примера сюда: http://www.liveinternet.ru/rating/ru/genealogy/index.html?page=1 и начинаем анализировать.

    1. Для отображения всех ссылок используется пагинация (всего 9 страниц)
    2. Благодаря пагинации, страницы отличаются между собой по GET параметру page.
      Т.е. для первой страницы адрес будет: http://www.liveinternet.ru/rating/ru/genealogy/index.html?page=1.
      А для девятой: http://www.liveinternet.ru/rating/ru/genealogy/index.html?page=9
    3. На каждой странице есть по 30 ссылок, которые нам и надо взять
    4. Все ссылки обрамляются в одинаковом HTML-коде.


    <a name="kakzovut.ru"
    target="_blank" onclick="cl(this)" href="http://www.kakzovut.ru/">
    КакЗовут.Ру - Значение имени, мужские и женские имена
    </a>


    Для начала ставим цель спарсить 30 сайтов с одной страницы. Для этого нам нужны регулярные выражения.

    2. Парсим html-код страницы.
    Делается это при помощи функции file_get_contents. Таким образом весь html-код страницы будет в переменной $url.

    $cat = "http://www.liveinternet.ru/rating/ru/genealogy/index.html?page=1"
    $url = file_get_contents($cat);


    3. Регулярные выражения.
    Досконально изучить регулярные выражения с нуля за один мини-урок точно не успеем. Я оставлю тут 3 ссылки, которые помогут всем желающим полностью войти в курс дела и понять их:
    http://phpfaq.ru/regexp
    http://ru2.php.net/manual/ru/reference.pcre.pattern.syntax.php
    http://dreamhelg.ru/2010/02/15-regular-expression-for-web-developers/

    Поскольку мы заметили, что у всех ссылок есть один общий шаблон:

    <a name="kakzovut.ru"


    то регулярное выражение, позволяющее их “выцепить” будет таким:


    preg_match_all('/<a name="(.*)"/', $url, $mathces);


    В итоге все url помещаются в многомерный массив $matches.

    3. Сохранение в файл.
    Все наши результаты стоит сохранить в файл, т.к. выводить тысячи страниц в браузере не комильфо.
    О работе с файлами на php можно почитать тут:
    http://www.php.su/articles/?cat=fs&page=005

    А “скелет” сохранения в файл будет таким:


    $file = fopen("result.txt", "a+"); // открываем файл с записью в конец
    fwrite ($file, $domain."\n"); // записываем с новой строчки
    fclose($file); // закрываем соединение


    4. Парсим все.
    Вообще, по-хорошему, для такой задачи стоит изпользовать cron-демон. Он будет автоматически запускать ваш скрипт, php при каждом запуске будет увеличивать счетчик страниц на одну и сохранять, и так каждую минуту до последней страницы.
    Но поскольку тут только 9 страниц, и что бы не усложнять туториал сделаем небольшой рабочий хардкод >_p>
    А именно запустим все в браузере, а в php поставим обычный цикл "for" на 9 страниц. Для девяти страниц за раз этот цикл отработает нормально.

    Итого выходит рабочий код на 11 строчек :)


    / url для загрузки файлов
    $file = fopen("result.txt", "a+"); // открываем файл для записи результатов

    for ($j = 1; $j<9; $j++) { // запускаем цикл на 9 страниц
    $url = file_get_contents($cat.$j); // парсим каждую страницу в цикле от первой до девятой
    preg_match_all('/<a name="(.*)"/', $url, $mathces); // регуляркой вытаскивам нужные url и помещаем в массив $matches

    $count = count($mathces[0]); // считаем количество полученных url (в данном случае тридцать
    for ($i = 0; $i<$count; $i++) {
    fwrite ($file, $mathces[1][$i]."\n"); // Записываем в файл результаты, каждый с новой строчки.
    }
    }
    ?>


    В итоге все 248 сайтов рубрики окажутся у вас в файле result.txt. А дальше можете их анализировать как захотите :)
     

Поделиться этой страницей