1. Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 2600+ и мы растем!
    Скрыть объявление

Пресет Парсинг OpenSiteExplorer (MOZ) с авторизацией 1.0

Парсинг OpenSiteExplorer (MOZ) с авторизацией

  1. Support

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

    Регистрация:
    16 мар 2012
    Сообщения:
    4.545
    Симпатии:
    2.163
    В А-Парсере есть парсер Rank::OpenSiteExplorer Rank::OpenSiteExplorer. Но он возвращает лишь некоторые параметры. Если смотреть на сайте, то их значительно больше, например Spam Score, Total Internal/External Links, MozRank, MozTrust и другие. Полный список параметров можно увидеть здесь.

    Для того, чтобы все это парсить, нужно найти запрос, по которому возвращается данная информация. Проанализируем работу сайта с помощью любого дебаггера. В частности интересует загрузка информации на этой странице. После анализа увидим такой запрос:
    Код:
    https://moz.com/researchtools/ose/api/comparisons?site=a-parser.com
    Данный запрос возвращает данные в JSON, а благодаря tools.parseJSON нам не составит труда извлечь нужные параметры.

    Но на moz.com существует ограничение - 10 запросов с одного IP в сутки без авторизации. Данная проблема частично решается использованием прокси, но на большом кол-ве проверяемых сайтов это может вызвать проблемы. Поэтому логичным будет парсинг с авторизацией.

    Обычно за авторизацию отвечает один или несколько куков. Немного потестировав полученный ранее запрос, мы обнаружим, что здесь это mozauth. И приходит он после авторизации на сайте.

    Исходя из всего, что описано выше, вся логика парсинга сводится к двум этапам:
    1. Получаем mozauth, авторизуясь на сайте
    2. Парсим нужную информацию, подставляя в куки полученный ранее mozauth
    Авторизоваться с помощью А-Парсера не сложно. Смотрим в дебаггере, как это происходит через браузер и повторяем все это в парсере. Как правило - это передача логина и пароля на сервер в теле POST запроса и получение ответа. Нас интересуют только куки, поэтому достаточно получить только заголовки и регулярным выражением извлечь нужное значение.
    [​IMG]
    Код:
    eyJwcmVzZXQiOiJNT1ogR2V0IGF1dGgiLCJ2YWx1ZSI6eyJwcmVzZXQiOiJNT1og
    R2V0IGF1dGgiLCJwYXJzZXJzIjpbWyJOZXQ6OkhUVFAiLCJkZWZhdWx0Iix7InR5
    cGUiOiJvdmVycmlkZSIsImlkIjoiZ29vZENvZGUiLCJ2YWx1ZSI6WzMwMiw0MDNd
    fSx7InR5cGUiOiJvdmVycmlkZSIsImlkIjoicmVjdXJzZSIsInZhbHVlIjoiMCJ9
    LHsidHlwZSI6Im92ZXJyaWRlIiwiaWQiOiJxdWVyeWZvcm1hdCIsInZhbHVlIjoi
    aHR0cHM6Ly9tb3ouY29tL2xvZ2luIn0seyJ0eXBlIjoib3ZlcnJpZGUiLCJpZCI6
    Im1ldGhvZCIsInZhbHVlIjoiUE9TVCJ9LHsidHlwZSI6Im92ZXJyaWRlIiwiaWQi
    OiJib2R5IiwidmFsdWUiOiJkYXRhW1VzZXJdW3JlZGlyZWN0XT0vaG9tZSZkYXRh
    W1VzZXJdW2xvZ2luX2VtYWlsXT0kcXVlcnkubG9naW4mZGF0YVtVc2VyXVtwYXNz
    d29yZF09JHF1ZXJ5LnBhc3N3b3JkIn0seyJ0eXBlIjoiY3VzdG9tUmVzdWx0Iiwi
    cmVzdWx0IjoiaGVhZGVycyIsInJlZ2V4IjoibW96YXV0aD0oLis/KSg/Ojt8JCki
    LCJyZWdleFR5cGUiOiIiLCJyZXN1bHRUeXBlIjoiZmxhdCIsImFycmF5TmFtZSI6
    IiIsInJlc3VsdHMiOlsia2V5Il19LHsidHlwZSI6Im92ZXJyaWRlIiwiaWQiOiJv
    bmx5aGVhZGVycyIsInZhbHVlIjp0cnVlfV1dLCJyZXN1bHRzRm9ybWF0IjoiWyUg
    SUYgcDEuY29kZSA9PSAzMDI7XG5cdHAxLmtleTtcbkVMU0U7XG5cdCdBdXRob3Jp
    emF0aW9uIGVycm9yJztcbkVORCAlXSIsInJlc3VsdHNTYXZlVG8iOiJmaWxlIiwi
    cmVzdWx0c0ZpbGVOYW1lIjoiJGRhdGVmaWxlLmZvcm1hdCgpLnR4dCIsImFkZGl0
    aW9uYWxGb3JtYXRzIjpbXSwicmVzdWx0c1VuaXF1ZSI6Im5vIiwicXVlcnlGb3Jt
    YXQiOlsiJHF1ZXJ5Il0sInVuaXF1ZVF1ZXJpZXMiOmZhbHNlLCJzYXZlRmFpbGVk
    UXVlcmllcyI6ZmFsc2UsIml0ZXJhdG9yT3B0aW9ucyI6eyJvbkFsbExldmVscyI6
    ZmFsc2UsInF1ZXJ5QnVpbGRlcnNBZnRlckl0ZXJhdG9yIjpmYWxzZSwicXVlcnlC
    dWlsZGVyc09uQWxsTGV2ZWxzIjpmYWxzZX0sInJlc3VsdHNPcHRpb25zIjp7Im92
    ZXJ3cml0ZSI6ZmFsc2V9LCJkb0xvZyI6Im5vIiwia2VlcFVuaXF1ZSI6Ik5vIiwi
    bW9yZU9wdGlvbnMiOmZhbHNlLCJyZXN1bHRzUHJlcGVuZCI6IiIsInJlc3VsdHNB
    cHBlbmQiOiIiLCJxdWVyeUJ1aWxkZXJzIjpbeyJzb3VyY2UiOiJxdWVyeSIsInR5
    cGUiOiJyZWdleCIsInJlZ2V4IjoiKFteJV0rKVxcfCguKykiLCJyZWdleFR5cGUi
    Om51bGwsInRvIjpbImxvZ2luIiwicGFzc3dvcmQiXX1dLCJyZXN1bHRzQnVpbGRl
    cnMiOltdLCJjb25maWdPdmVycmlkZXMiOltdLCJydW5UYXNrT25Db21wbGV0ZSI6
    bnVsbCwidXNlUmVzdWx0c0ZpbGVBc1F1ZXJpZXNGaWxlIjpmYWxzZSwicnVuVGFz
    a09uQ29tcGxldGVDb25maWciOiJkZWZhdWx0IiwidG9vbHNKUyI6IiJ9fQ==
    • На вход нужно подать одну пару логин|пароль через разделитель |
      Например: [email protected]|your_password
    • На выходе получим ключ авторизации mozauth
    • Данный пресет достаточно запустить один раз перед запуском второго
    Теперь используя уже известный запрос и полученный mozauth, мы можем парсить нужные нам данные.
    [​IMG]
    Код:
    eyJwcmVzZXQiOiJNT1ogd2l0aCBBY2NvdW50IiwidmFsdWUiOnsicHJlc2V0Ijoi
    TU9aIHdpdGggQWNjb3VudCIsInBhcnNlcnMiOltbIk5ldDo6SFRUUCIsImRlZmF1
    bHQiLHsidHlwZSI6Im92ZXJyaWRlIiwiaWQiOiJxdWVyeWZvcm1hdCIsInZhbHVl
    IjoiaHR0cHM6Ly9tb3ouY29tL3Jlc2VhcmNodG9vbHMvb3NlL2FwaS9jb21wYXJp
    c29ucz9zaXRlPSRxdWVyeSJ9LHsidHlwZSI6Im92ZXJyaWRlIiwiaWQiOiJjb29r
    aWVzIiwidmFsdWUiOiJtb3phdXRoPVx1MDQxN1x1MDQxNFx1MDQxNVx1MDQyMVx1
    MDQyYyBcdTA0MWRcdTA0MjNcdTA0MTZcdTA0MWRcdTA0MWUgXHUwNDIzXHUwNDFh
    XHUwNDEwXHUwNDE3XHUwNDEwXHUwNDIyXHUwNDJjIE1PWkFVVEgifSx7InR5cGUi
    OiJvdmVycmlkZSIsImlkIjoiZ29vZENvZGVSZWdleCIsInZhbHVlIjoiMjAwfDQy
    MiJ9XV0sInJlc3VsdHNGb3JtYXQiOiJbJSBVU0UgTWF0aDtcbmpzb24gPSB0b29s
    cy5wYXJzZUpTT04ocDEuZGF0YSk7XG5cbmRhID0ganNvbi5kYXRhLnJvb3RfZG9t
    YWluLjAuZG9tYWluX2F1dGhvcml0eSA/IE1hdGguaW50KGpzb24uZGF0YS5yb290
    X2RvbWFpbi4wLmRvbWFpbl9hdXRob3JpdHkgKyAwLjUpIDogJy0nO1xucGEgPSBq
    c29uLmRhdGEucGFnZS4wLnBhZ2VfYXV0aG9yaXR5ID8gTWF0aC5pbnQoanNvbi5k
    YXRhLnBhZ2UuMC5wYWdlX2F1dGhvcml0eSArIDAuNSkgOiAnLSc7XG5zcyA9IGpz
    b24uZGF0YS5zdWJkb21haW4uMC5zcGFtX3Njb3JlID8ganNvbi5kYXRhLnN1YmRv
    bWFpbi4wLnNwYW1fc2NvcmUgOiAnLSc7XG5cbnF1ZXJ5IF8gJyAtIERBOicgXyBk
    YSBfICc7IFBBOicgXyBwYSBfICc7IFNwYW0gU2NvcmU6JyBfIHNzIF8gXCJcXG5c
    IiAlXSIsInJlc3VsdHNTYXZlVG8iOiJmaWxlIiwicmVzdWx0c0ZpbGVOYW1lIjoi
    JGRhdGVmaWxlLmZvcm1hdCgpLnR4dCIsImFkZGl0aW9uYWxGb3JtYXRzIjpbXSwi
    cmVzdWx0c1VuaXF1ZSI6Im5vIiwicXVlcnlGb3JtYXQiOlsiJHF1ZXJ5Il0sInVu
    aXF1ZVF1ZXJpZXMiOmZhbHNlLCJzYXZlRmFpbGVkUXVlcmllcyI6dHJ1ZSwiaXRl
    cmF0b3JPcHRpb25zIjp7Im9uQWxsTGV2ZWxzIjpmYWxzZSwicXVlcnlCdWlsZGVy
    c0FmdGVySXRlcmF0b3IiOmZhbHNlLCJxdWVyeUJ1aWxkZXJzT25BbGxMZXZlbHMi
    OmZhbHNlfSwicmVzdWx0c09wdGlvbnMiOnsib3ZlcndyaXRlIjpmYWxzZX0sImRv
    TG9nIjoibm8iLCJrZWVwVW5pcXVlIjoiTm8iLCJtb3JlT3B0aW9ucyI6ZmFsc2Us
    InJlc3VsdHNQcmVwZW5kIjoiIiwicmVzdWx0c0FwcGVuZCI6IiIsInF1ZXJ5QnVp
    bGRlcnMiOltdLCJyZXN1bHRzQnVpbGRlcnMiOltdLCJjb25maWdPdmVycmlkZXMi
    OltdLCJydW5UYXNrT25Db21wbGV0ZSI6bnVsbCwidXNlUmVzdWx0c0ZpbGVBc1F1
    ZXJpZXNGaWxlIjpmYWxzZSwicnVuVGFza09uQ29tcGxldGVDb25maWciOiJkZWZh
    dWx0IiwidG9vbHNKUyI6IiJ9fQ==
    • На вход подаем список сайтов (страниц)
    • В Cookies подставляем mozauth из предыдущего пресета
    • По-умолчанию на выходе получаем список сайтов (страниц) с PA, DA, Spam Score
    • Можно выводить любой набор параметров, изменив формат результата. Пример JSON с информацией для a-parser.com здесь
    Пример результата:
    100 потоков, без прокси.
    [​IMG]
    P.S. Данным методом вполне возможен парсинг без прокси. Но существует риск получить бан аккаунта или IP.
     
    fancy27, seowin555, Metroid и 7 другим нравится это.
  2. sergeda

    sergeda A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    22 май 2013
    Сообщения:
    193
    Симпатии:
    23
    А как можно в Cookies несколько штук прописать? Какой разделитель?
     
  3. Support

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

    Регистрация:
    16 мар 2012
    Сообщения:
    4.545
    Симпатии:
    2.163
    Через точку с запятой (;)
     
    sergeda нравится это.

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