Пример написания парсера на примере порно )))

Тема в разделе "PHP", создана пользователем Mendel, 11 мар 2008.

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

    Mendel

    Регистр.:
    27 янв 2008
    Сообщения:
    217
    Симпатии:
    64
    В данной статье я расскажу как можно автоматизировать некоторые действия в интернете. Никаких тем палить не буду.
    Никаких сложных инструментов, супер-бупер знаний и тп.
    Просто описываю как можно достать нужную инфу на реальном примере. Это не учебник, это скорее "лог" хода мыслей... я специально не убирал тупиковые ветки, чтобы было естественнее.

    Контекст:
    ========
    Существует сайт 89.com на котором размещается большое количество коротких видеороликов "эротического" содержания. Ролики можно просматривать по одному с сайта, ппосматривая рекламу рекомендующую просмотреть весь фильм за денежку.

    Задача:
    ======
    Поскольку покупать мы не собираемся у них, а смотреть такие фильмы по одному, переключаясь затруднительно (у когото при этом могут быть заняты руки ГЫГЫ) мы хотим автоматически генерировать плейлист роликов который спокойно просматривать в .. ну пусть будет винампе.

    Решение:
    =======
    Открываем сам сайт.
    Ручками открываем ролики по одному (меню со скролом слева).
    Изучаем структуру URL открывающегося при просмотре ролика.
    Простые наблюдения показывают нам что URL прост как тапки http://www.89.com/av/?v=КАТЕГОРИЯ
    Где КАТЕГОРИЯ это название категории - один из нескольких десятков вариантов.
    Список вариантов можно вытащить из html-кода главной страницы. (к слову сказать тамже мы могли и структуру URL увидеть, но я делал так как пишу).
    Ну что делать - открываем для примера http://www.89.com/av/?v=Amateur смотрим ее исходный код.
    Опа! первый прикол а сама страница во фрейме.
    Поэтому тут мы получаем новый адрес - http://freexxxvideoclip.aebn.net/in...teur/color/5/genre_id/1/refid/AEBN006403/.cfm
    первое что пугает это расширение cfm ... ну пока не будем по этому поводу переживать.
    Пока мы анализируем наш новый URL
    freexxxvideoclip.aebn.net/index.cfm/fa/ClipViewergraphics/tid/11111/console_id/1/genrestub/ похоже что это "постоянная составляющая".
    В данный момент можете поверить мне на слово, но при реальном анализе это необходимо проверить. Проверим на разных категориях и на разных днях...
    amateur - это собственно наша категория, думаю нет смысла объяснять.
    /color/5/genre_id/1/refid/ - очень похожа на очередную константу...
    AEBN006403 - выглядит как переменная зависяшая от дня.
    поскольку AEBN это название их сайта где предлагают купить порно, то очевидно что 006403 это наша новая переменная скорее всего связанная с днем за который показывают ролик.
    Пробуем поиграться с ссылкаи и видем что мы пошли в тупиковую сторону - это очередная тупая разводка/обманка - ссылки работают одинаково и без этого элемента, не говоря уже о том что увеличение/уменьшение цифр не дают нам увидеть киношку за вчера/завтра :)
    Ну да ничего... так всегда бывает.

    Идем далее.
    Сохраним нашу "флешку". это можно сделать любой качалкой... просто обычно браузеры не дают просмотреть код незнакомого им типа документа.
    открываем файл в текстовом редакторе, и видем почтичто обычный html-код, только размазанный по большому куску файла... бегло пролистав его мы находим ссылку на наш видеоклип.
    эта ссылка:
    mms://winmedia.freeclip.aebn.net/FreeClip_v2/free_amateur_0006-225.wmv
    Ну сейчас давайте глянем как это можно было сделать проще:
    Делаем то что надо было сделать с самого начала - щелкаем правой кнопкой по самому клипу, и в свойствах видим тотже адрес :)
    Собственно очевидно что переменной частью будет только amateur_0006-225
    с аматором все ясно... а вот что делать с цифрами?
    ну с цифрами мы просто пробуем разные категории, и видим что 225 у нас константа...
    Пробуем увеличить цифру с 6 на семь и ... о чудо - мы получаем клип который будет завтра.

    В принципе имея всю необходимую аналитическую информацию для того чтобы писать парсер... мы понимаем что писать его нам не надо :)
    мы можем теперь сгенерировать ссылки самостоятельно и без парсера.

    Следующий этап это познакомиться с форматом плейлиста... честно говоря устал я уже от писанины:
    сохраняем в винампе плейлист, открываем его в редакторе, видим что у нас получилось... и по аналогии делаем свой плейлист.

    Ну а тем кто пришел сюда не учиться чемуто а просто ради слова ПОРНО наконец даю готовый пример - плейлист почти на сутки видео :) качаем xxx.rar
    Ну а если вам надо всетаки парсер, раз уж обещал парсер, то ловите и его - adult.rar там все достаточно прозрачно. Но сами понимаете что сама задача обесценилась в результате побочного продукта анализа... и такое бывает.
     

    Вложения:

    • xxx.rar
      Размер файла:
      1,7 КБ
      Просмотров:
      46
    • adult.rar
      Размер файла:
      887 байт
      Просмотров:
      69
    KrasivayaSvo, verissimo, pslava и 3 другим нравится это.
  2. pinox

    pinox Постоялец

    Регистр.:
    14 июн 2007
    Сообщения:
    131
    Симпатии:
    23
    Может, конечно, поучительно. Но я не понял, где
     
  3. Mendel

    Mendel

    Регистр.:
    27 янв 2008
    Сообщения:
    217
    Симпатии:
    64
    В статье описана вся информация необходимая для написания регэкспов. Рассказано откуда мы взяли эту информацию.
    В атаче есть готовый парсер, к вотором собственно парсер занимает 5 строк. Думаю если человек не может разобраться в этих пяти строчках, то он не сможет написать парсер как бы ему не разжевывать. Ну а правила написания регэкспов можно найти в сети и без того. Да банально документации по php вполне для этого достаточно.
    Так что я не понимаю что вы не поняли... )))
     
Статус темы:
Закрыта.