Кто ты сегодня?
Играл сегодня в 5букв. Получилась такая интересная комбинация слов.
Играл сегодня в 5букв. Получилась такая интересная комбинация слов.
Делал покупки в магните. Дали промики. Может кому надо.
Предыдущий пост можно посмотреть здесь.
Записал небольшое видео работы скрипта, как это выглядит с моей стороны.
В данный момент я работаю контент-менеджером в "крупном" интернет - магазине. В моём случае, это больше 100 000 позиций.
Иногда приходится сталкиваться с такой проблемой: поставщик присылает фотографии со ссылками на яндекс диск. Это крайне неудобно, потому что приходится ходить по каждой ссылке и скачивать изображение к себе, а затем уже загружать на сервер и т.д.
Готового решения я не нашел и решил написать свою реализацию работы с яндекс диском. Хорошо, что я знаю python.
У меня было 2 версии программы:
когда по ссылке находится папка с картинками, python скачивает эту папку как зип файл, затем распаковывает. Все манипуляции записываются в csv файл, путь до файла с картинками
когда по ссылке идёт только одна картинка, в данном случаи все немного проще, не нужны лишние действия с распаковкой картинок
p.s. ещё были 2 побочные небольшие программки: 1-я для уменьшения размера картинки, 2-я для переименования картинок (менялся пробел на дефис)
скачать и установить python c официального сайта https://www.python.org/downloads
открыть любимый редактор кода (я использую vscode) https://code.visualstudio.com
подключить следующие стандартные библиотеки: urllib.parse, csv, os, zipfile. Установить библиотеку requests https://pypi.org/project/requests/ (для отправки запроса на сервер)
для полного фен-шуя можно использовать виртуальное окружение, дабы не засорять систему ненужными пакетами. Подробнее о virtualenv можно ознакомится по ссылке https://docs.python.org/3/tutorial/venv.html или же использовать poetry.
Ссылки на яндекс диск имеют вид: https://disk.yandex.ru/d/xNBn7lE1_Y5knQ. Чтобы их можно было скачать, они должны быть публичными.
Обратимся к API яндекс. После ключа public_key="вставляем_ссылку_на_файл"
https://cloud-api.yandex.net/v1/disk/public/resources/downlo...https://disk.yandex.ru/d/xNBn7lE1_Y5knQ
В ответе мы получаем json, из которого нам нужно получить значение по ключу href. Полученное значение и будет нашей прямой ссылкой к файлу.
Пожалуй, на этом хватит теории, теперь, постараюсь внятно объяснить, как всё это можно применить в контексте python.
# создаем новый файл и подключаем нужные нам библиотеки
import requests
from urllib.parse import urlencode
import csv
import os
import zipfile
Для начало создадим функцию, которая будет возвращать нам ссылку для скачивания:
final_url = base_url + urlencode(dict(public_key=public_link))
response = requests.get(final_url)
parse_href = response.json()['href']
return parse_href
Файлы могут быть в разных форматах: ссылки могут быть на одну или несколько картинок. В первом случае можно напрямую скачивать картинку по ссылке. Во втором, если по ссылке несколько картинок, то при скачивании мы получаем архив, который требует дополнительных действий (распаковку).
resources = "https://cloud-api.yandex.net/v1/disk/public/resources?"
requests_url = resources + urlencode(dict(public_key=public_link))
r = requests.get(requests_url)
type_file = r.json()['type']
return type_file
Далее, мы скачиваем файлы и в зависимости от его типа выполняем действия: просто записываем в результирующий файл или же переходим к его распаковке с последующей записью.
В итоге, мы получаем файл result_data.csv со ссылками на фотографии на нашем жестком диске:
В добавок, у нас на жёстком диске появляется папка со скаченными картинками в папке download_files.
Полностью посмотреть код можно в репозитории на гитхаб.
p.s. Официальная документация по API Яндекс. Диска
p.s.s. Немного поразмышляв, я подумал, что неплохо было бы написать, тесты. Пройтись линтером по коду. Добавить функцию переименования файлов. Может быть что-нибудь ещё?)
Спасибо за прочтение! Комментарии, лайки, дизлайки, предложения, пожелания крайне приветствуются.
Сейчас узучаю базы данных, скачал учебник для ознакомления. В нём приведены примеры для демо базы данных, которую я замонался подключать. Вот небольшая инструкция: Как подключить демо базу данных. Книгу можно найти тут.
Небольшая ремарочка, я использую линукс минт на английском языке.
установка postgres в вашу систему, для линукс:
sudo apt-get update
sudo apt-get install postgrespro-std-14
так как в базе используется русская раскладка, пришлось переключиться на отображение русского языка. Используем следующие команды:
export LC_CTYPE=ru_RU.UTF8
export LC_COLLATE=ru_RU.UTF8
далее заходим в рабочию среду postgres, вводим в терминале
sudo su - postgres
скачаем демо базу данных
проверяем скачалась ли база, вводим в терминале ls
в руководстве было написано использовать команду: zcat demo-small.zip | psql Но, она у меня так и не заработала. Пришлось распаковать базу данных.
unzip demo-small.zip
Далее вводим
postgres# \i demo-small-20170815.sql
Поздравляю! Вы подключись! Вы великолепны! После подключения и выполнения запроса, терминал выглядит так:
Надеюсь, Вам поможет моё руководство. Спасибо за внимание!
Предложения, пожелания приветствуются.
В общем, привет. Давно не было постов. Хочется немного поделиться своими переживаниями.
Я заметил за собой такую вещь: если что-то делать, делать нужно идеально или вообще не делать. Как оказалось, это очень сильно мешает мне продвигаться по жизни, потому что срабатывает такой механизм: появляется идея или мысль, приступаю к её реализации, понимаю, где можно сделать лучше, недостаточно знаний или умений. Бросаю дело, так и не заканчивая его. То есть, до своего логического завершения так ничего и не доходит. Скорее всего, это психология, и мне нужно обратиться к специалистам. Что вы думаете, господа и дамы.
p.s.:
Вот что ответил ChatGPT:
Чувство совершенства может быть источником мотивации и драйва, но может также привести к негативным последствиям, таким как перфекционизм, прокрастинация и чрезмерный стресс. Вот несколько советов, которые могут помочь вам справиться с этим чувством:
Признайте, что идеальность недостижима. Никто не идеален, и все мы делаем ошибки. Принимая это, вы можете сократить ожидания, которые вы накладываете на себя, и стать более терпимыми к себе.
Установите реалистичные цели. Разработайте конкретные, измеримые и достижимые цели. Это поможет вам сосредоточиться на конкретных задачах и избежать чувства, что все должно быть идеально.
Уважайте свои достижения. Не забывайте отмечать свои успехи, как маленькие, так и большие. Признавая свои достижения, вы можете чувствовать большую уверенность и мотивацию.
Практикуйте медитацию и/или йогу. Эти практики могут помочь вам научиться справляться со стрессом и беспокойством, а также научиться принимать себя таким, какой вы есть.
Используйте свое стремление к совершенству в качестве стимула. Используйте свое стремление к совершенству как мотивацию для улучшения своих навыков и знаний, но не позволяйте ему контролировать вашу жизнь.
Обратитесь к профессионалу. Если вы чувствуете, что ваше чувство совершенства приводит к негативным последствиям в вашей жизни, то может быть полезно обратиться за помощью к профессионалу, например, к психологу или психотерапевту.
Здравствуйте, друзья. Небольшое наблюдение или пост боли. Пошёл уже третий по счёту месяц 2023 года и что-то он совсем меня не радует. Вернее радует, но не совсем. Денег как будто стало меньше хватать, причем снижения зарплаты не было, траты не увеличивались, а денег хватает в притык от зарплаты до зарплаты.
Вот нужно за квартиру платить, а зарплату будет лишь 10-го числа. Для того чтобы проанализировать свои расходы я веду гугл-таблицу и еженедельно заношу траты в нее.
Кому интересно, можно перейти по ссылке глянуть - таблица ведения бюджета.
Суть её очень проста, к такому формату пришёл сам. Есть 3 колонки:
комментарии - на что тратим, от чего получаем
приход - приход денег (зарплата, продажа вещей, дивиденды, дни рождения, праздники)
расход - можно подстроить под свои нужды
Если лень переходить на гугл - вот скриншот.
Больше всего денег уходит на аренду квартиры, бензин и еду. Но с этими тратами по своей сути ничего поделать нельзя.
Дальше по расходам идёт - еда на работе, да, мы офисные планктоны любим пожрать в рабочее время и в не рабочее тоже 😁. Вот с этими тратами уже можно что-то сделать, например, брать с собой еду из дома, но тогда будет лишний раз напрягать хозяюшку на готовку. Нужно провести эксперемент, кто быстрее устанет: я таскать на работу контейнеры или жена делать еду на одну порцию больше, чем обычно.
Февраль, подкинул ещё незапланированных трат на одежду и лечение зубов в районе 10 тыс.
Прихожу к такому выводу, что нужно больше зарабатывать, а не уменьшать расходы. Как думаете уважаемые читатели?
p.s. чёт складывается ощущение, что только появилась мысль, а она уже обрывается и конец. Наверное, потому-что уже первый час ночи. По хорошему нужно бы дополнить статью. Но как-то лень. Пора спать. До встречи!!!
Приходим на работу, чуть пораньше, минут за 5, не более.
Включаем компьютер и открываем что-нибудь по работе. Работать пока не нужно.
Тупим часик в интернете, читая статьи и листая соц. сети или телеграмчик.
Воу, прошёл час, а мы не ели. Идем наливать чай/кофе попутно, можно сходить по нужде.
Прошло ещё пол часа, можно и покурить, если не куришь, сходи в туалет.
Теперь можно поработать, а между тем прошло 2 часа рабочего времени.
В это время лучше не отвлекаться, а усердно сосредоточится на работе, ведь скоро обед.
Время 12 часов дня. Пора закинуться калориями, для этого нужно позвать коллег или коллегу, чтобы было с кем потрещать, пообсуждать рабочие моменты и вообще.
После обеденное время, морфей одолевает, боремся всеми силами. Обычно помогает увлеченная работа.
Часы подходят к 16, время сделать перерыв. Надеемся, что устали мы не сильно. Надо чайку попить.
Осталось несчастные 1.5 часа до свободы. В это время не стоит себя утруждать, ведь ещё нужны силы для похода домой. По пути надо зайти в магазин и купить себе или своим родным вкусняшки.
За пол часа до окончания рабочего дня нужно начать собираться, чтобы не делать это впопыхах в последние 10 минут.
Ура! Рабочий день подошёл к концу. Прощаемся с коллегами!
p.s. : lf gjikj jyj dc`/ elfxb!