1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 2200+ и мы растем!
    Скрыть объявление

Пресет Парсинг дерева категорий с сохранением структуры 1.0

Пример парсинга категорий из интернет-магазина, с сохранением структуры и путей на примере Я.Маркета

  1. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    3.531
    Симпатии:
    1.880
    Иногда возникает необходимость спарсить категории из интернет-магазинов, сохранив при этом их структуру и путь к подкатегории. Ниже показан такой парсинг на примере Яндекс.Маркета. Для упрощения задания используется мобильная версия m.market.yandex.ru.
    Примечание: для данного пресета необходима версия А-Парсера 1.1.292 и выше.
    [​IMG]
    Код:
    eyJwcmVzZXQiOiJDYXQgWWFuZGV4Lk1hcmtldCIsInZhbHVlIjp7InByZXNldCI6
    IkNhdCBZYW5kZXguTWFya2V0IiwicGFyc2VycyI6W1siTmV0OjpIVFRQIiwiZGVm
    YXVsdCIseyJ0eXBlIjoib3ZlcnJpZGUiLCJpZCI6ImZvcm1hdHJlc3VsdCIsInZh
    bHVlIjoiWyUgRk9SRUFDSCBpIElOIGludGxpbmtzO1xucyA9IFwiXFx0XCI7XG5z
    LnJlcGVhdChxdWVyeS5sdmwpXyBxdWVyeS5wYXRoIF9cIiA+IFwiXyBpLmFuY2hv
    ciBfXCI6IGh0dHA6Ly9tLm1hcmtldC55YW5kZXgucnVcIl8gaS5saW5rIF9cIlxc
    blwiO1xuRU5EICVdIn0seyJ0eXBlIjoib3ZlcnJpZGUiLCJpZCI6InF1ZXJ5Zm9y
    bWF0IiwidmFsdWUiOiIkcXVlcnkubGluayJ9LHsidHlwZSI6Im92ZXJyaWRlIiwi
    aWQiOiJnb29kQ29kZSIsInZhbHVlIjoyMDB9LHsidHlwZSI6Im9wdGlvbnMiLCJp
    ZCI6ImNoZWNrQ29udGVudCIsInZhbHVlIjoiXHUwNDJmXHUwNDNkXHUwNDM0XHUw
    NDM1XHUwNDNhXHUwNDQxXFwuXHUwNDFjXHUwNDMwXHUwNDQwXHUwNDNhXHUwNDM1
    XHUwNDQyPFxcL3RpdGxlPiJ9LHsidHlwZSI6Im92ZXJyaWRlIiwiaWQiOiJwcm94
    eXJldHJpZXMiLCJ2YWx1ZSI6IjEwMCJ9LHsidHlwZSI6ImN1c3RvbVJlc3VsdCIs
    InJlc3VsdCI6ImRhdGEiLCJyZWdleCI6IjxoMSBjbGFzcz1cImItdGl0bGVcIj4o
    Lis/KSg/Olx1MDQyMVx1MDQzY1x1MDQzNVx1MDQzNlx1MDQzZFx1MDQ0Ylx1MDQz
    NSBcdTA0M2FcdTA0MzBcdTA0NDJcdTA0MzVcdTA0MzNcdTA0M2VcdTA0NDBcdTA0
    MzhcdTA0Mzh8aHRtbCkiLCJyZWdleFR5cGUiOiIiLCJyZXN1bHRUeXBlIjoiZmxh
    dCIsImFycmF5TmFtZSI6IiIsInJlc3VsdHMiOlsic291cmNlIl19LHsidHlwZSI6
    ImN1c3RvbVJlc3VsdCIsInJlc3VsdCI6InNvdXJjZSIsInJlZ2V4IjoiYi1zdWJ0
    aXRsZVwiPjxhIGhyZWY9XCIoXFwvY2F0YWxvZ1xcLnhtbFxcP2hpZD1cXGQrKVwi
    PiguKz8pPCIsInJlZ2V4VHlwZSI6ImciLCJyZXN1bHRUeXBlIjoiYXJyYXkiLCJh
    cnJheU5hbWUiOiJpbnRsaW5rcyIsInJlc3VsdHMiOlsibGluayIsImFuY2hvciJd
    fSx7InR5cGUiOiJ1bmlxdWUiLCJyZXN1bHQiOlsiaW50bGlua3MiLCJsaW5rIl0s
    InVuaXF1ZVR5cGUiOiJzdHJpbmciLCJ1bmlxdWVHbG9iYWwiOnRydWV9XV0sInJl
    c3VsdHNGb3JtYXQiOiJbJSBGT1JFQUNIIGkgSU4gcDEuaW50bGlua3M7XG50b29s
    cy5xdWVyeS5hZGQoXCJodHRwOi8vbS5tYXJrZXQueWFuZGV4LnJ1XCJfIGkubGlu
    ayBfXCJ8XCJfIHF1ZXJ5LnBhdGggX1wiID4gXCJfIGkuYW5jaG9yKTtcbkVORCAl
    XSRwMS5wcmVzZXQiLCJyZXN1bHRzU2F2ZVRvIjoiZmlsZSIsInJlc3VsdHNGaWxl
    TmFtZSI6IiRkYXRlZmlsZS5mb3JtYXQoKS50eHQiLCJhZGRpdGlvbmFsRm9ybWF0
    cyI6W10sInJlc3VsdHNVbmlxdWUiOiJubyIsInF1ZXJ5Rm9ybWF0IjpbIiRxdWVy
    eXxcdTA0MTNcdTA0M2JcdTA0MzBcdTA0MzJcdTA0M2RcdTA0MzBcdTA0NGYiXSwi
    dW5pcXVlUXVlcmllcyI6ZmFsc2UsInNhdmVGYWlsZWRRdWVyaWVzIjpmYWxzZSwi
    aXRlcmF0b3JPcHRpb25zIjp7Im9uQWxsTGV2ZWxzIjpmYWxzZSwicXVlcnlCdWls
    ZGVyc0FmdGVySXRlcmF0b3IiOnRydWUsInF1ZXJ5QnVpbGRlcnNPbkFsbExldmVs
    cyI6dHJ1ZX0sInJlc3VsdHNPcHRpb25zIjp7Im92ZXJ3cml0ZSI6ZmFsc2V9LCJk
    b0xvZyI6ImRiIiwia2VlcFVuaXF1ZSI6Ik5vIiwibW9yZU9wdGlvbnMiOmZhbHNl
    LCJyZXN1bHRzUHJlcGVuZCI6IiIsInJlc3VsdHNBcHBlbmQiOiIiLCJxdWVyeUJ1
    aWxkZXJzIjpbeyJzb3VyY2UiOiJxdWVyeSIsInR5cGUiOiJzdHJpbmdTcGxpdCIs
    InNlcGFyYXRvciI6InwiLCJ0byI6WyJsaW5rIiwicGF0aCJdfV0sInJlc3VsdHNC
    dWlsZGVycyI6W10sImNvbmZpZ092ZXJyaWRlcyI6W119fQ==
    Логика заключается в следующем. На первом шаге парсятся ссылки на основные категории и их названия. Ссылки вместе с путем к ним выводятся в результат и подставляются в запросы для следующего шага. На втором шаге запрос разделяется на ссылку и путь к ней. По ссылке делается запрос, парсятся ссылки на категории и их названия. Все это опять выводится в результат и подставляется в запросы на следующий шаг. При этом проверяется уникализация запросов и результатов. И так до тех пор, пока есть новые, уникальные категории. В итоге имеем полный перечень категорий и путей к ним.
    Результат:
    [​IMG]
     
    murl, Forbidden, vipdenya и 2 другим нравится это.
  2. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    3.531
    Симпатии:
    1.880
    Пресет обновлен в связи с изменением выдачи.
    Код:
    eyJwcmVzZXQiOiJDYXQgWWFuZGV4Lk1hcmtldCIsInZhbHVlIjp7InByZXNldCI6
    IkNhdCBZYW5kZXguTWFya2V0IiwicGFyc2VycyI6W1siTmV0OjpIVFRQIiwiZGVm
    YXVsdCIseyJ0eXBlIjoib3ZlcnJpZGUiLCJpZCI6InF1ZXJ5Zm9ybWF0IiwidmFs
    dWUiOiIkcXVlcnkubGluayJ9LHsidHlwZSI6Im92ZXJyaWRlIiwiaWQiOiJnb29k
    Q29kZSIsInZhbHVlIjpbMjAwXX0seyJ0eXBlIjoib3B0aW9ucyIsImlkIjoiY2hl
    Y2tDb250ZW50IiwidmFsdWUiOiJcdTA0MmZcdTA0M2RcdTA0MzRcdTA0MzVcdTA0
    M2FcdTA0NDFcXC5cdTA0MWNcdTA0MzBcdTA0NDBcdTA0M2FcdTA0MzVcdTA0NDI8
    XFwvdGl0bGU+IiwiYWRkaXRpb25hbCI6eyJjaGVja0NvbnRlbnRNYXRjaFR5cGUi
    OjF9fSx7InR5cGUiOiJvdmVycmlkZSIsImlkIjoicHJveHlyZXRyaWVzIiwidmFs
    dWUiOiIxMDAifSx7InR5cGUiOiJjdXN0b21SZXN1bHQiLCJyZXN1bHQiOiJkYXRh
    IiwicmVnZXgiOiI8bGkgY2xhc3M9XCJiLWxpc3RfX2l0ZW0uKz9ocmVmPVwiKFxc
    L2NhdGFsb2dcXC8uKz8pXCJbXj5dKj4oLis/KTxcXC9hPiIsInJlZ2V4VHlwZSI6
    ImciLCJyZXN1bHRUeXBlIjoiYXJyYXkiLCJhcnJheU5hbWUiOiJpbnRsaW5rcyIs
    InJlc3VsdHMiOlsibGluayIsImFuY2hvciJdfSx7InR5cGUiOiJ1bmlxdWUiLCJy
    ZXN1bHQiOlsiaW50bGlua3MiLCJsaW5rIl0sInVuaXF1ZVR5cGUiOiJzdHJpbmci
    LCJ1bmlxdWVHbG9iYWwiOnRydWV9XV0sInJlc3VsdHNGb3JtYXQiOiJbJSBGT1JF
    QUNIIGkgSU4gcDEuaW50bGlua3M7XG5cdHRvb2xzLnF1ZXJ5LmFkZCgnaHR0cDov
    L20ubWFya2V0LnlhbmRleC5ydScgXyBpLmxpbmsgXyAnfCcgXyBxdWVyeS5wYXRo
    IF8gJyA+ICcgXyBpLmFuY2hvcik7XG5cdHMgPSBcIlxcdFwiO1xuXHRzLnJlcGVh
    dChxdWVyeS5sdmwpIF8gcXVlcnkucGF0aCBfICcgPiAnIF8gaS5hbmNob3IgXyAn
    OiBodHRwOi8vbS5tYXJrZXQueWFuZGV4LnJ1JyBfIGkubGluayBfIFwiXFxuXCI7
    XG5FTkQgJV0iLCJyZXN1bHRzU2F2ZVRvIjoiZmlsZSIsInJlc3VsdHNGaWxlTmFt
    ZSI6IiRkYXRlZmlsZS5mb3JtYXQoKS50eHQiLCJhZGRpdGlvbmFsRm9ybWF0cyI6
    W10sInJlc3VsdHNVbmlxdWUiOiJubyIsInF1ZXJpZXNGcm9tIjoidGV4dCIsInF1
    ZXJ5Rm9ybWF0IjpbIiRxdWVyeXxcdTA0MTNcdTA0M2JcdTA0MzBcdTA0MzJcdTA0
    M2RcdTA0MzBcdTA0NGYiXSwidW5pcXVlUXVlcmllcyI6ZmFsc2UsInNhdmVGYWls
    ZWRRdWVyaWVzIjpmYWxzZSwiaXRlcmF0b3JPcHRpb25zIjp7Im9uQWxsTGV2ZWxz
    IjpmYWxzZSwicXVlcnlCdWlsZGVyc0FmdGVySXRlcmF0b3IiOnRydWUsInF1ZXJ5
    QnVpbGRlcnNPbkFsbExldmVscyI6dHJ1ZX0sInJlc3VsdHNPcHRpb25zIjp7Im92
    ZXJ3cml0ZSI6ZmFsc2V9LCJkb0xvZyI6Im5vIiwia2VlcFVuaXF1ZSI6Ik5vIiwi
    bW9yZU9wdGlvbnMiOmZhbHNlLCJyZXN1bHRzUHJlcGVuZCI6IiIsInJlc3VsdHNB
    cHBlbmQiOiIiLCJxdWVyeUJ1aWxkZXJzIjpbeyJzb3VyY2UiOiJxdWVyeSIsInR5
    cGUiOiJzdHJpbmdTcGxpdCIsInNlcGFyYXRvciI6InwiLCJ0byI6WyJsaW5rIiwi
    cGF0aCJdfV0sInJlc3VsdHNCdWlsZGVycyI6W10sImNvbmZpZ092ZXJyaWRlcyI6
    W10sInJ1blRhc2tPbkNvbXBsZXRlIjpudWxsLCJ1c2VSZXN1bHRzRmlsZUFzUXVl
    cmllc0ZpbGUiOmZhbHNlLCJydW5UYXNrT25Db21wbGV0ZUNvbmZpZyI6ImRlZmF1
    bHQiLCJ0b29sc0pTIjoiIiwicXVlcmllcyI6Imh0dHA6Ly9tLm1hcmtldC55YW5k
    ZXgucnUvIn19
     
    Metroid и Forbidden нравится это.
  3. Cheshire

    Cheshire A-Parser Pro License
    A-Parser Pro

    Регистрация:
    2 фев 2016
    Сообщения:
    1
    Симпатии:
    0
    Так и не разобрался откуда эта конструкция:
    <li class="b-list__item.+?href="(\/catalog\/.+?)"[^>]*>(.+?)<\/a>
    Просмотрел много страниц маркета, но в html нету ничего с классом b-list__item
    Здесь ведь собираются анкоры ссылок? Хотя возможно на маркете что-то поменяли, с сентября.
     
  4. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    3.531
    Симпатии:
    1.880
    Да, там полностью изменилась верстка.
     
  5. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    3.531
    Симпатии:
    1.880
    В связи с изменением верстки пресет полностью переписан. Теперь, кроме пути и ссылки, на следующий уровень нужно передавать еще и куки. Кроме этого, теперь на всех уровнях кроме 0-го, результат приходит в JSON, а в запросе нужно использовать несколько дополнительных параметров, которые получаются на 0-м уровне.
    [​IMG]
    Код:
    eyJwcmVzZXQiOiJZYS5cdTA0MWNcdTA0MzBcdTA0NDBcdTA0M2FcdTA0MzVcdTA0
    NDIgbmV3IiwidmFsdWUiOnsicHJlc2V0IjoiWWEuXHUwNDFjXHUwNDMwXHUwNDQw
    XHUwNDNhXHUwNDM1XHUwNDQyIG5ldyIsInBhcnNlcnMiOltbIk5ldDo6SFRUUCIs
    ImRlZmF1bHQiLHsidHlwZSI6Im92ZXJyaWRlIiwiaWQiOiJnb29kQ29kZSIsInZh
    bHVlIjpbMjAwXX0seyJ0eXBlIjoiY3VzdG9tUmVzdWx0IiwicmVzdWx0IjoiZGF0
    YSIsInJlZ2V4IjoiZGF0YS1uaWQ9XCIoLis/KVwiLis/PGRpdiBjbGFzcz1cIm4t
    bmF2LW1lbnVfX2NhdGVnb3J5LXRpdGxlIHRleHRfc2l6ZV9tXCI+KC4rPyk8XFwv
    ZGl2PiIsInJlZ2V4VHlwZSI6ImciLCJyZXN1bHRUeXBlIjoiYXJyYXkiLCJhcnJh
    eU5hbWUiOiJjYXRzIiwicmVzdWx0cyI6WyJpZCIsIm5hbWUiXX0seyJ0eXBlIjoi
    b3ZlcnJpZGUiLCJpZCI6ImNvb2tpZXMiLCJ2YWx1ZSI6InlhbmRleHVpZD0kcXVl
    cnkueXVpZCJ9LHsidHlwZSI6ImZpbHRlciIsInJlc3VsdCI6WyJjYXRzIiwiaWQi
    XSwiZmlsdGVyVHlwZSI6Im5vdGVxdWFsIiwidmFsdWUiOiI2MTUyMiIsIm9wdGlv
    biI6InNlbnMifSx7InR5cGUiOiJjdXN0b21SZXN1bHQiLCJyZXN1bHQiOiJkYXRh
    IiwicmVnZXgiOiJcInNrXCI6XCIoW15cIl0rKVwiIiwicmVnZXhUeXBlIjoiIiwi
    cmVzdWx0VHlwZSI6ImZsYXQiLCJhcnJheU5hbWUiOiIiLCJyZXN1bHRzIjpbInNr
    Il19LHsidHlwZSI6ImN1c3RvbVJlc3VsdCIsInJlc3VsdCI6ImhlYWRlcnMiLCJy
    ZWdleCI6InlhbmRleHVpZD0oLis/KSg/Ojt8JCkiLCJyZWdleFR5cGUiOiIiLCJy
    ZXN1bHRUeXBlIjoiZmxhdCIsImFycmF5TmFtZSI6IiIsInJlc3VsdHMiOlsieXVp
    ZCJdfSx7InR5cGUiOiJvdmVycmlkZSIsImlkIjoicXVlcnlmb3JtYXQiLCJ2YWx1
    ZSI6IiRxdWVyeS5saW5rIn1dXSwicmVzdWx0c0Zvcm1hdCI6IlslIHMgPSBcIlxc
    dFwiO1xuSUYgcXVlcnkubHZsID09IDA7XG5cdEZPUkVBQ0ggcDEuY2F0cztcblx0
    XHR0b29scy5xdWVyeS5hZGQoJ2h0dHBzOi8vbS5tYXJrZXQueWFuZGV4LnJ1L2Fw
    aS9jYXRhbG9nZXIvZ2V0TmF2aWdhdGlvblRyZWU/c2s9JyBfIHAxLnNrIF8gJyZu
    aWQ9JyBfIGlkIF8gJ3wnIF8gcDEueXVpZCBfICd8JyBfIHF1ZXJ5Lm5hbWUgXyAn
    ID4gJyBfIG5hbWUpO1xuXHRFTkQ7XG5FTFNFO1xuXHRqc29uID0gdG9vbHMucGFy
    c2VKU09OKHAxLmRhdGEpO1xuXHRuID0gcXVlcnkubHZsIC0gMTtcblx0cy5yZXBl
    YXQobikgXyBxdWVyeS5uYW1lIF8gJzogaHR0cHM6Ly9tYXJrZXQueWFuZGV4LnJ1
    JyBfIGpzb24uY2F0ZWdvcmllcy5uYXZub2Rlcy4wLnVybCBfIFwiXFxuXCI7XG5c
    dGsgPSBqc29uLmNhdGVnb3JpZXMubmF2bm9kZXMuc2l6ZSAtIDE7XG5cdEZPUkVB
    Q0ggaSBJTiBbMS4ua107XG5cdFx0dG9vbHMucXVlcnkuYWRkKCdodHRwczovL20u
    bWFya2V0LnlhbmRleC5ydS9hcGkvY2F0YWxvZ2VyL2dldE5hdmlnYXRpb25UcmVl
    P3NrPScgXyBxdWVyeS5zayBfICcmbmlkPScgXyBqc29uLmNhdGVnb3JpZXMubmF2
    bm9kZXMuJGkuaWQgXyAnfCcgXyBxdWVyeS55dWlkIF8gJ3wnIF8gcXVlcnkubmFt
    ZSBfICcgPiAnIF8ganNvbi5jYXRlZ29yaWVzLm5hdm5vZGVzLiRpLmZ1bGxOYW1l
    KTtcblx0RU5EO1xuRU5EICVdIiwicmVzdWx0c1NhdmVUbyI6ImZpbGUiLCJyZXN1
    bHRzRmlsZU5hbWUiOiIkZGF0ZWZpbGUuZm9ybWF0KCkudHh0IiwiYWRkaXRpb25h
    bEZvcm1hdHMiOltdLCJyZXN1bHRzVW5pcXVlIjoibm8iLCJxdWVyaWVzRnJvbSI6
    InRleHQiLCJxdWVyeUZvcm1hdCI6WyIkcXVlcnl8fFx1MDQxM1x1MDQzYlx1MDQz
    MFx1MDQzMlx1MDQzZFx1MDQzMFx1MDQ0ZiJdLCJ1bmlxdWVRdWVyaWVzIjpmYWxz
    ZSwic2F2ZUZhaWxlZFF1ZXJpZXMiOmZhbHNlLCJpdGVyYXRvck9wdGlvbnMiOnsi
    b25BbGxMZXZlbHMiOmZhbHNlLCJxdWVyeUJ1aWxkZXJzQWZ0ZXJJdGVyYXRvciI6
    dHJ1ZSwicXVlcnlCdWlsZGVyc09uQWxsTGV2ZWxzIjp0cnVlfSwicmVzdWx0c09w
    dGlvbnMiOnsib3ZlcndyaXRlIjpmYWxzZX0sImRvTG9nIjoibm8iLCJrZWVwVW5p
    cXVlIjoiTm8iLCJtb3JlT3B0aW9ucyI6ZmFsc2UsInJlc3VsdHNQcmVwZW5kIjoi
    IiwicmVzdWx0c0FwcGVuZCI6IiIsInF1ZXJ5QnVpbGRlcnMiOlt7InNvdXJjZSI6
    InF1ZXJ5IiwidHlwZSI6InN0cmluZ1NwbGl0Iiwic2VwYXJhdG9yIjoifCIsInRv
    IjpbImxpbmsiLCJ5dWlkIiwibmFtZSJdfSx7InNvdXJjZSI6ImxpbmsiLCJ0eXBl
    IjoicmVnZXgiLCJyZWdleCI6InNrPSguKz8pJiIsInJlZ2V4VHlwZSI6bnVsbCwi
    dG8iOlsic2siXX1dLCJyZXN1bHRzQnVpbGRlcnMiOltdLCJjb25maWdPdmVycmlk
    ZXMiOltdLCJydW5UYXNrT25Db21wbGV0ZSI6bnVsbCwidXNlUmVzdWx0c0ZpbGVB
    c1F1ZXJpZXNGaWxlIjpmYWxzZSwicnVuVGFza09uQ29tcGxldGVDb25maWciOiJk
    ZWZhdWx0IiwidG9vbHNKUyI6IiIsInF1ZXJpZXMiOiJodHRwczovL20ubWFya2V0
    LnlhbmRleC5ydS8ifX0=
    Пример результата:
    [​IMG]
     
    Metroid и Forbidden нравится это.

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