Простой парсер своими руками

Тема в разделе "От души", создана пользователем manya, 29 сен 2016.

  1. manya

    manya

    Сообщения:
    14
    Баллы:
    1
    Любой парсер, который ты где-то приобрел за n-ную сумму пиастров может перестать работать уже через 5 минут, т.к. на всех сайтах постоянно меняется-оптимизируется код. А кодер, написавший его, как всегда неожиданно забухал, женился, или не дай бог, помер.
    Чтобы абсолютно не зависеть от этого придется немного напрячься.
    Для этого надо:
    1. Прочитать какую-нибудь хорошую книжку по регулярным выражениям, например "Регулярные выражения" Майкла Фицджеральда (в гугле можно скачать), там все разжевано для младенцев.
    Как только почувствовал в себе силы в регулярках, действуешь так:
    а) Сохраняешь html код страницы сайта на комп: открываешь страницу в браузере, жмешь ctrl+U, потом выделить все ctrl+A и вставляешь в notepad++ ctrl+V.
    б) Парсишь из нее регулярками все что тебе надо. В notepad++есть поиск регулярными выражениями.
    3. Сохраняешь напаршенное в отдельный файл.
    И так все страницы какие тебе надо по порядку: сохранил, спарсил, сохранил...
    Заманаешься конечно, но например 1к мыл спарсить за час другой можно.
    А вот чтобы все это делалось на автомате пока ты занимаешься другими , более важными делами, нужно еще немного напрячься и выполнить следующий пунктик.
    2. Взять любой простенький язык програмирования, например PHP:
    а) Почитать про основные конструкции циклы, условия.
    б) Просмотреть несколько функций для работы с файлами типа file_get_contents и т.п.
    Применить все это на практике, т.е. написать простенький парсер.
    Закинуть его на хостинг, можно на бесплатный с поддкержкой php, чтобы он парсил все что тебе надо по крону и сохранял в файл или отправлял на мыло.

    Например, чтобы спарсить ответы маил.ру, делал так:
    1. Каждый раз при запуске скрипта по крону подставлялась новая категория. (названия категорий тоже спарсил регуляркой)
    Ответы@Mail.Ru: Автоспорт. Открытые вопросы
    Ответы@Mail.Ru: Автострахование . Открытые вопросы
    и т.д.
    2. Регуляркой вырезаем все ссылки на странице категории на вопросы вида <a href="/profile/id206638307/" class="q--li--ava small-avatar" data-user="206638307" title="Александр Морозов" style="background-image:url(//filin.mail.ru/[email protected]&amp;width=32&amp;height=32)"></a>
    3. Пробегаемся по ним циклом и вырезаем из них мыло, имя юзверя и его id. ИД нужен для того чтобы потом можно было спарсить с его странички побольше инфы о нем.
    5. Проверяем если нет такого мыла в БД то вставляем как новое.
    Т. о. пока скрипт дойдет до последней категории в первой уже появятся пару новых вопросов, ты их спарсишь, и все новые участники будут у тебя в БД, и самое главное это будут живые люди, а не мыла из вопросов 3-х летней давности.

    Поверь, потратишь на изучение 1-2 дня, потом сможешь написать любой парсер минут за 40-60, а чтобы подправить код после изменения html кода сайта понадобится 5-10 минут. Не святые горшки лепят. Потом еще будешь продавать свои парсеры за пиастры)
  2. Deff

    Deff

    Сообщения:
    162
    Баллы:
    16
    Еще можно скачать нуленный content downloader)
    очень хороший парсер, и не надо ничего учить (если конечно цель просто спарсить, а не развиваться в этом направлении)
  3. manya

    manya

    Сообщения:
    14
    Баллы:
    1
    content downloader тоже надо учить)
  4. Deff

    Deff

    Сообщения:
    162
    Баллы:
    16
    Согласен, насчет не надо учить перегнул)
    но порог входа там гораздо ниже. Хотя я на нем особо сложные вещи не делал, в итоге пересел на зеннопостер.
  5. Salazar

    Salazar

    Сообщения:
    27
    Баллы:
    1
    Не так то все просто.
    Я думал, что тема создана для новичков которые не разбираются в языка программирования, что будут примеры и готовые просты решения, а оказалась просто теория.
  6. manya

    manya

    Сообщения:
    14
    Баллы:
    1
    Если эта тема будет интересна хотя бы 5-м пиратам этого форума, то можно и продолжить. Можно и конкретные задачи рассмотреть. Задавайте вопросы.
  7. Anonymouse

    Anonymouse

    Сообщения:
    532
    Баллы:
    16
    ребята курите зенопостер и будете сами себе софт писать как боги, самый тупой и криворукий юнга за две недели вкурит че к чему.
  8. manya

    manya

    Сообщения:
    14
    Баллы:
    1
    Зенка медленная как черепаха, для повседневных задач конечно подойдет, но стоит денег. Аналог зенки - хуман эмулятор, который при минимальных знаниях пхп, по прожорливости ресурсов и гибкости, легче зенки раза в три. А вот языки программирования бесплатные и работают в десятки раз быстрее того и другого, особенно при многопотоке. При этом в каждом ЯП куча вспомогательных библиотек которые распостраняются абсолютно бесплатно. В то время как под зенку любой юзер, впервые написавший регер из 3-х строчек кода под какой-нить форум считает себя нев*ебенным хакером и продает этот скрипт минимум за 1к рублей. И самое интересное, что находятся юзверы, которые его покупают и при этом нахваливают как он приумножил их несметные богатства. Так что, как было написано на воротах Освенцима, "каждому свое". Умели они пошутить...
  9. Deff

    Deff

    Сообщения:
    162
    Баллы:
    16
    Насчет минимум 1к, потому-что там еще надо выписать бота, который стоит 10$ )
    Каждый инструмент под свою задачу. Это как линукс с виндой сравнивать.
    Зенка заруливает в сложных шабах и имитации действия браузера. Но когда она уже есть на руках, то и парсинг через делать быстро и удобно.
  10. manya

    manya

    Сообщения:
    14
    Баллы:
    1
    Любой браузер работает на пост и гэт запросах. Любой ЯП может имитировать эти запросы с помощью того же курла. В зенке кстати тоже есть такая возможность.
  11. Deff

    Deff

    Сообщения:
    162
    Баллы:
    16
    Движение мыши, имитация скорости ввода текста, подключение флеша - я говорил про это.
    И опять же, даже обычный шаб регистрации делать через зенку на порядок быстрее, чем сидеть анализировать запросы и передавать куки. (как выше писал, холивара тут нет, каждый инструмент под свою цель)
  12. Deff

    Deff

    Сообщения:
    162
    Баллы:
    16
    Ну и накину тоже в тему, может будет полезно)
    (курс не смотрел)
    [​IMG]
    Представляем вашему вниманию полный курс по PHP-парсерам. После изучения этого видеопособия вы сформируете полную картину организации парсинга сайтов на PHP. Вы получите мини-фреймворк для организации парсинга, а также разберёте множество полезных и увлекательных тем.

    _dmitrylavrik.ru/php-parser - автор
    парсеры
  13. manya

    manya

    Сообщения:
    14
    Баллы:
    1
    Хороший курс. Когда-то смотрел его и взял из него основу движка для парсеров на пхп.

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