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

Пресет Скачивание картинок указанного разрешения и размера 1.1

Скачивание картинок нужной тематики с фильтром по разрешению и размеру

  1. Support

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

    Регистрация:
    16 мар 2012
    Сообщения:
    4.545
    Симпатии:
    2.163
    Задача: нужно скачать картинки определенной тематики с разрешением не менее 1920х1080 и объёмом от 1 до 10 мегабайт. Тематика задается ключевыми словами:
    Также они должны быть рассортированы по темам.

    Решение:
    1) Ищем по заданным ключам все ссылки на картинки с использованием парсера SE::Google::Images SE::Google::Images и нужных фильтров.
    [​IMG]
    • Используем фильтры по высоте, ширине, размеру и наличию в конце ссылки расширения файла (для того, чтобы потом с ним сохранять). Высота и ширина указаны на 1 меньше от требуемых для того, чтобы захватить стандартный формат 1920х1080.
    • Каждую ссылку сохраняем с ее ключевым словом, чтобы потом его использовать для названия папки.
    • Включаем уникализацию, чтобы избежать повторов.
    Код:
    eyJwcmVzZXQiOiJEb3dubG9hZCBwaWN0dXJlcyAtIDEiLCJ2YWx1ZSI6eyJwcmVz
    ZXQiOiJEb3dubG9hZCBwaWN0dXJlcyAtIDEiLCJwYXJzZXJzIjpbWyJTRTo6R29v
    Z2xlOjpJbWFnZXMiLCJkZWZhdWx0Iix7InR5cGUiOiJmaWx0ZXIiLCJyZXN1bHQi
    Olsic2VycCIsIndpZHRoIl0sImZpbHRlclR5cGUiOiI+IiwidmFsdWUiOiIxOTE5
    Iiwib3B0aW9uIjoic2VucyJ9LHsidHlwZSI6ImZpbHRlciIsInJlc3VsdCI6WyJz
    ZXJwIiwiaGVpZ2h0Il0sImZpbHRlclR5cGUiOiI+IiwidmFsdWUiOiIxMDc5Iiwi
    b3B0aW9uIjoic2VucyJ9LHsidHlwZSI6Im92ZXJyaWRlIiwiaWQiOiJmb3JtYXRy
    ZXN1bHQiLCJ2YWx1ZSI6IiRzZXJwLmZvcm1hdCgnJHF1ZXJ5Lm9yaWc7JGxpbmtc
    XG4nKSJ9LHsidHlwZSI6InVuaXF1ZSIsInJlc3VsdCI6WyJzZXJwIiwibGluayJd
    LCJ1bmlxdWVUeXBlIjoic3RyaW5nIiwidW5pcXVlR2xvYmFsIjpmYWxzZX0seyJ0
    eXBlIjoiZmlsdGVyIiwicmVzdWx0IjpbInNlcnAiLCJsaW5rIl0sImZpbHRlclR5
    cGUiOiJyZW1hdGNoIiwidmFsdWUiOiJcXC4oXFx3ezMsNH0pJCIsIm9wdGlvbiI6
    IiJ9LHsidHlwZSI6ImZpbHRlciIsInJlc3VsdCI6WyJzZXJwIiwic2l6ZSJdLCJm
    aWx0ZXJUeXBlIjoiPiIsInZhbHVlIjoiMTAyNCIsIm9wdGlvbiI6InNlbnMifSx7
    InR5cGUiOiJmaWx0ZXIiLCJyZXN1bHQiOlsic2VycCIsInNpemUiXSwiZmlsdGVy
    VHlwZSI6IjwiLCJ2YWx1ZSI6IjEwMjQwIiwib3B0aW9uIjoic2VucyJ9XV0sInJl
    c3VsdHNGb3JtYXQiOiIkcDEucHJlc2V0IiwicmVzdWx0c1NhdmVUbyI6ImZpbGUi
    LCJyZXN1bHRzRmlsZU5hbWUiOiJwaWN0dXJlc1xcbGlua3NfJGRhdGVmaWxlLmZv
    cm1hdCgpLnR4dCIsImFkZGl0aW9uYWxGb3JtYXRzIjpbXSwicmVzdWx0c1VuaXF1
    ZSI6Im5vIiwicXVlcnlGb3JtYXQiOlsiJHF1ZXJ5Il0sInVuaXF1ZVF1ZXJpZXMi
    OmZhbHNlLCJzYXZlRmFpbGVkUXVlcmllcyI6ZmFsc2UsIml0ZXJhdG9yT3B0aW9u
    cyI6eyJvbkFsbExldmVscyI6ZmFsc2UsInF1ZXJ5QnVpbGRlcnNBZnRlckl0ZXJh
    dG9yIjpmYWxzZX0sInJlc3VsdHNPcHRpb25zIjp7Im92ZXJ3cml0ZSI6dHJ1ZX0s
    ImRvTG9nIjoibm8iLCJrZWVwVW5pcXVlIjoiTm8iLCJtb3JlT3B0aW9ucyI6ZmFs
    c2UsInJlc3VsdHNQcmVwZW5kIjoiIiwicmVzdWx0c0FwcGVuZCI6IiIsInF1ZXJ5
    QnVpbGRlcnMiOltdLCJyZXN1bHRzQnVpbGRlcnMiOltdLCJjb25maWdPdmVycmlk
    ZXMiOltdfX0=

    2) По полученным в 1-м шаге ссылкам с помощью Net::HTTP Net::HTTP скачиваем изображения и сохраняем их в соответствующие папки.
    [​IMG]
    • Конструктором запросов извлекаем ссылку, имя для папки и расширение файла.
    • Прокси не используем (сайты разные и так быстрее).
    • Изменяем Max body size, чтобы большие картинки не обрезались.
    • Отфильтровываем все что меньше 100 Кб (бывает что по ссылке отдается страница, а не картинка).
    • Имя файла и путь генерируем из полученных ранее данных.
    • ВНИМАНИЕ! Не рекомендую ставить большое кол-во потоков, оптимально 50-100 потоков.
    Код:
    eyJwcmVzZXQiOiJEb3dubG9hZCBwaWN0dXJlcyAtIDIiLCJ2YWx1ZSI6eyJwcmVz
    ZXQiOiJEb3dubG9hZCBwaWN0dXJlcyAtIDIiLCJwYXJzZXJzIjpbWyJOZXQ6OkhU
    VFAiLCJkZWZhdWx0Iix7InR5cGUiOiJvdmVycmlkZSIsImlkIjoidXNlcHJveHki
    LCJ2YWx1ZSI6ZmFsc2V9LHsidHlwZSI6Im92ZXJyaWRlIiwiaWQiOiJnb29kQ29k
    ZSIsInZhbHVlIjoyMDB9LHsidHlwZSI6Im92ZXJyaWRlIiwiaWQiOiJxdWVyeWZv
    cm1hdCIsInZhbHVlIjoiJHF1ZXJ5LmxpbmsifSx7InR5cGUiOiJvdmVycmlkZSIs
    ImlkIjoiZm9ybWF0cmVzdWx0IiwidmFsdWUiOiIkZGF0YSJ9LHsidHlwZSI6Im92
    ZXJyaWRlIiwiaWQiOiJtYXhfc2l6ZSIsInZhbHVlIjoiMTA0ODU3NjAifSx7InR5
    cGUiOiJmaWx0ZXIiLCJyZXN1bHQiOiJbJSBkYXRhLmxlbmd0aCAlXSIsImZpbHRl
    clR5cGUiOiI+IiwidmFsdWUiOiIxMDI0MDAiLCJvcHRpb24iOiJzZW5zIn1dXSwi
    cmVzdWx0c0Zvcm1hdCI6IiRwMS5wcmVzZXQiLCJyZXN1bHRzU2F2ZVRvIjoiZmls
    ZSIsInJlc3VsdHNGaWxlTmFtZSI6InBpY3R1cmVzLyRxdWVyeS5uYW1lLyRxdWVy
    eS5udW0tJGRhdGVmaWxlLmZvcm1hdCgpLiRxdWVyeS5leHQiLCJhZGRpdGlvbmFs
    Rm9ybWF0cyI6W10sInJlc3VsdHNVbmlxdWUiOiJubyIsInF1ZXJ5Rm9ybWF0Ijpb
    IiRxdWVyeSJdLCJ1bmlxdWVRdWVyaWVzIjpmYWxzZSwic2F2ZUZhaWxlZFF1ZXJp
    ZXMiOmZhbHNlLCJpdGVyYXRvck9wdGlvbnMiOnsib25BbGxMZXZlbHMiOmZhbHNl
    LCJxdWVyeUJ1aWxkZXJzQWZ0ZXJJdGVyYXRvciI6ZmFsc2V9LCJyZXN1bHRzT3B0
    aW9ucyI6eyJvdmVyd3JpdGUiOmZhbHNlfSwiZG9Mb2ciOiJubyIsImtlZXBVbmlx
    dWUiOiJObyIsIm1vcmVPcHRpb25zIjpmYWxzZSwicmVzdWx0c1ByZXBlbmQiOiIi
    LCJyZXN1bHRzQXBwZW5kIjoiIiwicXVlcnlCdWlsZGVycyI6W3sic291cmNlIjoi
    cXVlcnkiLCJ0eXBlIjoic3RyaW5nU3BsaXQiLCJzZXBhcmF0b3IiOiI7IiwidG8i
    OlsibmFtZSIsImxpbmsiXX0seyJzb3VyY2UiOiJsaW5rIiwidHlwZSI6InJlZ2V4
    IiwicmVnZXgiOiJcXC4oXFx3KykkIiwicmVnZXhUeXBlIjpudWxsLCJ0byI6WyJl
    eHQiXX1dLCJyZXN1bHRzQnVpbGRlcnMiOltdLCJjb25maWdPdmVycmlkZXMiOltd
    fX0=

    Результат:
    В итоге мы получили 360 картинок (объёмом 1 Гб) отсортированых по тематике за 3,5 минуты на 50-ти потоках. Неплохое обновление обоев для рабочего стола:)

    Скачать
     
    18kotov, Max, Forbidden и 2 другим нравится это.
  2. aliasfox

    aliasfox A-Parser Pro License
    A-Parser Pro

    Регистрация:
    17 окт 2015
    Сообщения:
    10
    Симпатии:
    6
    не работает первый пресет, ничего не парсится=(
    ссылки вроде парсятся, но результирующий файл пустой
     
    #2 aliasfox, 26 апр 2016
    Последнее редактирование: 26 апр 2016
  3. Support

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

    Регистрация:
    16 мар 2012
    Сообщения:
    4.545
    Симпатии:
    2.163
    18kotov и aliasfox нравится это.
  4. 18kotov

    18kotov A-Parser Pro License
    A-Parser Pro

    Регистрация:
    8 май 2015
    Сообщения:
    35
    Симпатии:
    5
    как ограничить кол-во собираемых ссылок на каждую темаику?
     
  5. Support

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

    Регистрация:
    16 мар 2012
    Сообщения:
    4.545
    Симпатии:
    2.163
    Как вариант - можно указать кол-во страниц выдачи:
    [​IMG]
    тем самым ограничив кол-во ссылок. По-умолчанию данный параметр = 10
     
  6. 18kotov

    18kotov A-Parser Pro License
    A-Parser Pro

    Регистрация:
    8 май 2015
    Сообщения:
    35
    Симпатии:
    5
    спасибо
     
    Support нравится это.
  7. BlackAlex

    BlackAlex A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    30 янв 2013
    Сообщения:
    27
    Симпатии:
    23
    возник вопрос по сохранению картинок, да если с ПС парсить урлы картинок и сохранять то все ОК

    но вот если парсить по урлам с конкретного сайта то возникла необходимось сохранять вложенность, как это делают Teleport или HTTrack Website Copier (они правда медленные по сравнению с апарсером)

    т.е. например есть урлы на картинки
    http://site.com/papka1/image.jpg
    http://site.com/papka1/papka2/image.jpg
    http://site.com/papka1/1/2/image.jpg

    можно ли в а-парсере
    извлекать имя для папки /papka1/ или /papka1/papka2/ или /papka1/1/2/

    если да то подскажите решение плиз!
     
  8. Support

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

    Регистрация:
    16 мар 2012
    Сообщения:
    4.545
    Симпатии:
    2.163
    Точно также Конструктором запросов (можно и Конструктором результатов) извлекаете путь вместе с именем и расширением файла и используете их формате имени файла результата.
    Например (жирным выделено то, что нужно извлекать):
    http://site.com/papka1/image.jpg
    http://site.com/papka1/papka2/image.jpg
    http://site.com/papka1/1/2/image.jpg
     
  9. BlackAlex

    BlackAlex A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    30 янв 2013
    Сообщения:
    27
    Симпатии:
    23
    можно пример реализации? или это будет платно?)
     
    List и Sobesednic нравится это.
  10. Support

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

    Регистрация:
    16 мар 2012
    Сообщения:
    4.545
    Симпатии:
    2.163
    Это не полный пресет, это только пример извлечения пути и имени файла из запроса и подстановки его в формат файла результата.
    [​IMG]
     
    BlackAlex нравится это.
  11. kaznokrad

    kaznokrad A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    14 июн 2014
    Сообщения:
    41
    Симпатии:
    5
    При импортировании через урл пишет:
    Load preset error: network error


    Скиньте в спойлер код для версии 1.1
     
  12. Support Денис

    Support Денис A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    12 июн 2017
    Сообщения:
    586
    Симпатии:
    185
    Здравствуйте. Вот код для импорта
    eJztVm1P2zAQ/iuVVTTQSklLy0YmTWJs7EUTsNF9airkNdfUw7GD7RS6qv99Z8dJ
    WuiqjX3dF8c+3z332D4/zoIYqm/0pQINRpNwuCCZ65OQvJV3gksaNzI2NjlaG/uN
    DmmRjCoNyjoPydW7MHwvZcIhDD+mNAGNDjFMaM4NaS2ImWeAUBPGDSicQhQ7Ew4J
    QmRouGOxmZJRy7sMCv/XODOjPLf9znHnGIcyM0wKHGsQmiz/BHsKLJma7eDBiyeC
    cyZuHkErSKkZT1cSRFF7N4ruFoet3nKvuZqKLEejElefSYWRaG1mnbbN0J44y+6z
    5m0Oat6WiiWvmjZpFIlnexUjfUVnMJAFVajNZzg6p6mlUB5fFNlwfd2MqQHrXebY
    a5t7PC1C45hZcpQXdOwR1xS/CXbrlqSNYiJBf8uMgT5TMkWzAQfi6JbLGZKCvt2o
    3MV/KWJIOKFcQ4topH9GkUz8cIbhtlIj1YXbMLQviBQnnH+GGfDazeG/yRmPsSZP
    Jhj00Qdudrl4hLGslriaagbqTiGH2imWn2WCCxUSl3kDkFU7cm4tqVRQARiVQwWL
    tysDEdszr2wnWW1a47e25+vGsRQTllwgM8ViKD1zMcArfCFOZZpxsIQ33twuJso1
    fK3L40T7LbeDivJDuFOXFEGrW02MlFx/uirIZ4ph9fWrarA1nwe9w4lte4Hrv1zp
    g2t7rg0i4b7fXdt3Xh1vG3sP29K1eFHje7TDR8ixi/C4DTcoAroPExaunuLE3f2t
    Cth9oIDnYMLww2BwuVH4pD8snGT2tPEEMiXv57VC+Or6bUQiZXwq3dhHDLtBMNoS
    4cqpuNorQuR1xMnWluCU3l9r9hPWNLL3sv/iKNiqi2S400BdoW0OIjHTxs6IbJXd
    bi8IHgvv7xTRIj9F8g78qgWaq36e7m+QQD8Lf6OETgnWVdBT+q+Coib3RBlcEC1z
    NYaypK3yFKVUvEBXGWf2sPBKUb9U8srJk91ye+TVM20rtwJzpgpLQQL3jpD9Vg/2
    c/dYO2NRvyLnvMS2RTJa/qtMF4hbNbncwH8V5QJtWPI9qO5H8UeQ0vl1cHzdOdoP
    jvf7gfsdcOvzQlf9Hi42/fCFCyyLWgZxiOMf+rKItam9D+6Idre9s/wF01uN9A==
     

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