• Какой best-practice определения типа данных map/list существует в Helm?

    Shavaleev_DieZ
    @Shavaleev_DieZ Автор вопроса
    Возможно будут ответы получше, но сам опытным путем нашел такой "костыль" :
    {{- if eq ( toYaml ( typeOf .Values ) ) "map[string]interface {}" }}
    {{- range $k, $v := .Values }}
    {{ $k }}: {{ $v }}
    {{- end }}
    {{- else }}
    {{- range .Values }}
    values: {{ . }}
    {{- end}}
    {{- end}}
    Ответ написан
    Комментировать
  • Какую базу данных использовать для такого проекта?

    Думаю в данном случае вполне подойдет Postgres, для более структурированного хранения данных, нежели использование NoSQL СУБД. Там уже продумать структуру таблиц можно спокойно и подготовить миграции в проекте.
    Ответ написан
    Комментировать
  • Как догрузить необходимые для парсинга JS элементы с сайта?

    Страница сайта скорее всего генерируется автоматически при помощи JS, сами скрипты тянут данные отсюда, ну а дальше скрипт JS парсит полученный словарь и динамически заполняет блоки нужными полями.

    Частично что выдает результатом такой запрос

    {
      "state":0,
      "data":
        {
          "products":
            [
              {"id":6583968,"root":5214366,"kindId":0,"subjectId":436,"subjectParentId":49,"name":"Спрей","brand":"Ollin Professional","brandId":11981,"siteBrandId":21981,"sale":24,"priceU":85100,"salePriceU":64600,"pics":8,"rating":5,"feedbacks":32767,"colors":[],"sizes":[{"name":"","origName":"0","rank":0,"optionId":23181493}],"diffPrice":false},
              {"id":3861036,"root":3198966,"kindId":0,"subjectId":358,"subjectParentId":49,"name":"Шампунь","brand":"Ollin Professional","brandId":11981,"siteBrandId":21981,"sale":24,"priceU":111400,"salePriceU":84600,"pics":8,"rating":4,"feedbacks":3586,"colors":[],"sizes":[{"name":"","origName":"0","rank":0,"optionId":14625839}],"diffPrice":false},
              {"id":7052045,"root":5547739,"kindId":0,"subjectId":372,"subjectParentId":49,"name":"Сыворотка","brand":"d'Alba","brandId":26057,"siteBrandId":36057,"sale":25,"priceU":370000,"salePriceU":277500,"pics":15,"rating":4,"feedbacks":2175,"colors":[],"sizes":[{"name":"","origName":"0","rank":0,"optionId":24472815}],"diffPrice":false},
              {"id":3860934,"root":3198957,"kindId":0,"subjectId":364,"subjectParentId":49,"name":"Флюид","brand":"Ollin Professional","brandId":11981,"siteBrandId":21981,"sale":24,"priceU":98400,"salePriceU":74700,"pics":8,"rating":5,"feedbacks":6549,"colors":[],"sizes":[{"name":"","origName":"0","rank":0,"optionId":14625737}],"diffPrice":false}
              ]
        }
    }



    Заголовки запроса

    User-Agent: Любой UA браузера
    Accept: */*
    Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
    Accept-Encoding: gzip, deflate, br
    Origin: https://www.wildberries.ru
    Connection: keep-alive
    Referer: https://www.wildberries.ru/
    Sec-Fetch-Dest: empty
    Sec-Fetch-Mode: cors
    Sec-Fetch-Site: cross-site



    А вообще, вкладка "сеть" инспектора кода, очень полезная вещь. Особенно когда работаешь с парсингом страниц.
    Делаешь GET запрос по приложенной ссылке с указанными заголовками. Получаешь в формате json ответ. Далее просто в циклах перебираешь элементы и берешь нужные тебе данные. Касаемо ссылки часть где передаются id товаров - получение этих id лучше тоже автоматизировать и подмешивать полученный результат в адрес.
    И не забывай, если часто с одного и того же IP-адреса будут лететь запросы в сторону сайта или API, то скорее всего попадешь в бан-лист сайта.
    Ответ написан
    Комментировать
  • Как удалить пустые страницы из ворда питон?

    for paragraph in document.paragraphs:
        if len(paragraph.text)==0:
            paragraph.clear()

    Взято с progi.pro.
    Тут идет удаление конкретно отдельно пустых строк, но обыграть можно.
    Ответ написан
    Комментировать
  • Как резделить groovy pipeline jenkins?

    А что мешает вынести те или иные действия в методы/функции в отдельную библиотеку, а далее ее подключать в нужных джобах?
    Вот вам ссылка на оффициальную документацию, где есть вся необходимая информация по подключению и использованию таких библиотек. Ну думаю с написанием коих уже проблем не возникнет.
    Ответ написан
  • Цикл в парсинге?

    В предыдущем ответе Dr. Bacon верно указал на ваши ошибки.
    Итого получится что-то наподобие такого:
    """Изначальный вариант, подразумевается что <a> только в структуре, что вы привели"""
    items = soup.find_all("a")
    for catalog in items:
        catalog_title = catalog.text
        print(catalog_title)
     
    """Если тег <a> еще где-то присутствет на странице"""
    items = soup.find_all("div", class_="product-snippet__desc")
    for catalog in items:
        a_tags = catalog.find_all("a")
        for a in a_tags:
            catalog_title = a.text
            print(catalog_title)
    Ответ написан
  • Не могу сделать инициализацию переменных для подсчета количества и стоимости товара, как мне по очереди вытащить quantity и price?

    Ну изучать для начала мат.часть.
    Собственно реализовать можно наподобие:
    """Стандартный цикл проходящий по всем корневым элементам"""
    for item in store:
        """Цикл, который пройдет все вложенные элементы вне зависимости от колличества"""
        for subitem in store[item]:
            """Собственно получение необходимых значений"""
            quantity = subitem['quantity']
            price = subitem['price']
            print(f'Название:{item}\nКолличество:{quantity}\nЦена:{price}\n\n')


    Что полаучем на выходе

    Название:12345:
    Колличество:27
    Цена:42

    Название:23456:
    Колличество:22
    Цена:510

    Название:23456:
    Колличество:32
    Цена:520

    Название:34567:
    Колличество:2
    Цена:1200

    Название:34567:
    Колличество:1
    Цена:1150

    Название:45678:
    Колличество:50
    Цена:100

    Название:45678:
    Колличество:12
    Цена:95

    Название:45678:
    Колличество:43
    Цена:97
    Ответ написан
    Комментировать
  • Как использовать условия в парсинге на Python?

    import requests
    import lxml
    from bs4 import BeautifulSoup
    
    resultList = []
    web = 'example.com'
    response = requests.get(web)
    soup = BeautifullSoup(response.text, "lxml")
    
    for td in soup.findAll('td'):
        resultList.append(td.text)
    
    print(resultList)

    Ищет тэги все "td" по странице, и далее извлекает содержимое этого тэга.
    Дальше думаю справитесь.
    Ответ написан
    Комментировать
  • Поможете с решением задачи взятой из книги Начинаем программировать на Python | Гэддис Тони?

    В целом все вроде бы верно, единственное опечатались с вычислением федерального налога, он у вас 0.005, когда должен быть 0.05
    Ответ написан
  • Как настроить микротик?

    Каким образом на данный момент реализована конфигурация, скрины можете показать? (если прописан внешний адрес, желательно затереть)
    Для начала интересуют вкладки Quick Set и Interfaces.
    Ответ написан
  • Почему не подключается к личному серверу с openVPN?

    Этот гайд должен помочь, сам первый раз когда разворачивал делал по нему, далее уже сам освоился. Ну и при составлении конфигов читайте документацию, там ничего сложного нет. Это в плане инсталляции. А в целом по проблеме, вероятнее всего трабла с конфигом /etc/openvpn/server/server.conf .
    Вывод journalctl -xe дает какую инфу?

    P.S. Если нужно будет, могу скинуть свои конфиги. Сервис стартует без проблем.
    Ответ написан
    Комментировать
  • Почему не находит WiFi сеть в Linux Mint?

    сам интерфейс wifiX в системе есть?
    Вывод ip -a можете показать?
    Ответ написан
  • Кто как борется с отвалами принтеров и сканеров?

    Не хочешь делать в ручную - автоматизируй. За одно и прокачаешься в написании скриптов, хуже не будет.
    Ответ написан
    7 комментариев
  • Как провести опто волокно в частный(дом внутри города)?

    Оптоволокно обычно закатывается в землю, либо же в специальную телекоммуникационную канализацию. Говоря про провода, вы путаете с аналоговым широполосным способом передачи, вроде правильно назвал. Как уже говорилось выше провайдеру просто экономически не выгодно тянуть вам кабель, устанавливать всё оборудование, которое попросту не окупится, если только вы сами не оплатите матералы, оборудование, не оплатите работы, но и до такого еще нужно тоже договориться. Прочитайте статьи по оптоволокну, стандарты FTTX
    Ответ написан
    1 комментарий
  • Как убрать синхронизацию времени по RDP?

    Shavaleev_DieZ
    @Shavaleev_DieZ Автор вопроса
    Не совсем уверен в решении. Помог костыль. Shell-скрипт:
    echo y | net time /domain:domain.local /set
    Скрипт через группвые политики прокинуть в домен на логон в систему, хуже от этого никому не будет.
    После этого проблемы пока не появлялось до сих пор.
    Надеюсь кому поленым будет.
    Ответ написан
    Комментировать
  • Что выбрать для моих целей, NAS (Samba) или Nextcoud?

    Если я тебя правильно понял, то в сети полно NAS дистрибутивов на Linux. Сам недавно "щупал" для XigmaNAS (ex. NAS4Free), для "файлопомойки" самое то на мой взгляд. А так по сути можно еще дистрибутивы посмотреть, к примеру FreeNAS, OpenMediaVault и т.п. У всех в основном управление и настройка через веб-консоль, разобраться что к чему много времени не займёт.
    Ответ написан
    Комментировать
  • Не отображаются доменные группы в Openfire. Есть идеи?

    Shavaleev_DieZ
    @Shavaleev_DieZ Автор вопроса
    Вопрос решён. В домене использовались в качестве основных групп глобальные группы отделов. Решение проблемы таково, создал локальные группы безопасности в домене, добавил пользователей, далее в самом openfire "Пользователи/группы - группы", путём нажатия на название группы, зашёл в её редактирование, где в блоке "Общий список" выставил значение "Включить общий доступ к спискам контактов группы", вводим значение группы какое хотим видеть в списке контактов мессенджера с установленным флагом "Все пользователи". Ну и собственно применяем настройки. Сие действия проделываются на каждую из проблемных групп.
    Ответ написан
    Комментировать
  • Как подружить между собой PCM 3000BA с SuperMicro Sys-6028r-tr?

    Shavaleev_DieZ
    @Shavaleev_DieZ Автор вопроса
    Подключил через RS-232(консольник) все заработало, правда пришлось поизвращаться, докачивать пакет lib32bz2-1.0_1.0.6-4_amd64.deb. После чего установка и настройка UPSMON прошла нормально.
    Ответ написан
    Комментировать
  • Как устранить регулярную ошибку MS Office "Исправить..." в доменной сети?

    Shavaleev_DieZ
    @Shavaleev_DieZ Автор вопроса
    В общем, разобрался с данной проблемой, довольно таки давно, не доходили руки отписать сюда...
    Насколько я понял, что службы ms office начинают ловить косяки на ПК, что заеведены в домен. Причины не совсем ясны, возможно службы и процессы не могут работать в домене, либо же с конкретной настройкой домена. Но данное решение помогло, уже длительное время не происходит подобной ошибки, хоть и выпадала по несколько раз на дню.
    Нужно дать права на Network Service с полным доступом на папки:
    - C:\ProgramData\Microsoft\OfficeSoftwareProtectionPlatform
    - C:\Program Files\Common Files\Microsoft Shared\OfficeSoftwareProtectionPlatform
    - C:\Program Files (x86)\Common Files\Microsoft Shared\OfficeSoftwareProtectionPlatform
    И на раздел реестра "HKEY_CLASSES_ROOT\AppID"

    P.S. Если используется доменная сеть, то можно на домен развернуть групповую политику, однако права на раздел реестра пришлось выставлять вручную на каждой машине, т.к. почему то ГП на реестр не сработала. А так в общем проблема решена подобным способом. Надеюсь кому-нибудь поможет.
    Ответ написан
    Комментировать