Парсер Яндекс.Маркет

Тема в разделе "Яндекс", создана пользователем Серж, 14 янв 2013.

  1. Серж

    Серж

    Регистрация:
    5 янв 2013
    Сообщения:
    47
    Симпатии:
    2
    Пример парсера с яндекса маркета на примере средней цены видеокарты

    Основа
    Вкратце рассмотрим что же из себя представляет самый обычный парсер или как его ещё называют граббер. Это небольшой скрипт который получает html код какого либо сайта и ищёт в нём совпадения по ранее заданному пользователем (программистом) критерию. Это могут быть все ссылки со страницы, значения каких либо таблиц и т.д. Критерий обычно указывается с помощью регулярных выражений.

    Начнём
    зайдём на Яндекс.Маркет и в строку поиска введём "Видеокарта GeForce GTX 590", нажимаем "Найти" и лицезреем список найденных продуктов. поставим галочку напротив пункта "В наличии" и опять нажмём "Найти".
    И мы получили ссылку типа:
    А перед тем как начать парсить, убедитесь что у вас подключено расширение Curl для php.
    Теперь мы знаем как и откуда брать информацию, ну что ж, начнём:


    Данные получены, осталось их обработать.

    Обработка
    Давйте зайдём обратно на нашу страничку поиска в Яндекс.Маркете и посмотри на её исходный код, а точнее на то, как там записана цена.
    И можно заметить, что все цены занесены между следующими тегами:
    Т.е. с помощью регулярного выражения нам надо вытащить содержание этих тегов:


    Вот и всё, тоже самое касается и всех остальных товаров, надо поменять только лишь цену. А если вы будете циклически перебирать большое количество товаров, то не забудьте в конце каждой итерации добавить задержку:
    Где i - количество секунд. Иначе в противном случае умный Яндекс забанит ваш ip на n-ое количество часов.
    И в заключение, весь листинг: