fsoc

fsoc

It-технологии , Системное администрирование.
Пикабушник
341 рейтинг 41 подписчик 3 подписки 14 постов 5 в горячем
Награды:
5 лет на Пикабу
17

Что случилось с KDE ? Мой опыт использования в 2024

Честно говоря, познакомился с KDE Plasma 4 году в 2015м при установке очередного дебианообразного дистрибутива. На первый взгляд как человеку только познавший Linux , студенту с огромный количеством времени ,под настройку которого было пару уютных чайных вечеров. Сказать что было все по-людски - сложно , изх коробки определенное кол-во твиков , открываешь виджет с погодой - крашится plasma , открыл приложение - крашится plasma , долго не крашится plasma - надо бы крашнутся. Довольно обширный выбор тем , работали процентов 30 не вызывая проблем , касмомизация на уровне , можно все настроить под себя , в отличие от GNOME она была достаточно лёгкая , на моей старой печке , она работала довольно быстро .
Запомнилась мне в общем она довольно позитивно , хоть и имела множество проблем.

Не так давно , я решил пересесть на Fedora , выбор DE - это вечно сложный выбор , и я решил по старой памяти выбрать дистрибутив с KDE Plasma 5 , предварительно посмотрел ролики с обзорами пятой плазмы что бы понимать что я пропустил( Оказалось очень много ) .

Плазма 5 из коробки выглядит довольно приятно , убогая стандартная панель , которую я выкидываю в замену Cairo-Dock или Latte-Dock ( о нём узнал от самого сообщества KDE ).
KDE Connect очень нравится , очень крутая вещь . Особенно вывести уведомления с телефона , и получать коды авторизации где-либо не отходя от пк.

К чему я придираюсь:
Во первых , тот же визуал , да выглядит приятно, кастомизация осталась на уроне plasma 4, тот же родной твик с погодой не умеет в российские города , только одна Москва ( Москвичам в этом плане повезло!) Уродливая панель которая бросается в глаза , была жуткая еще в 4-ке , в пятерке все то же самое.
И моё удивление Plasma точно так же падает.
Буфер обмена - не умеет копировать картинки , о как же это взбесило , как это возможно из коробки .. Приходится так же допиливать.
Темы - абсолютно не адаптированы ко всем приложениям , если вы нашли красивую тему , не факт что в приложении будет все отображаться адекватно , к примеру я часто использую vmware horizon client , при первом запуске мне пришлось редачить конфиги что бы она завелась нормально , т.к были ошибки , после чего я понял что графический интерфейс в по зависим от темы , и при выборе светлой темы перекрываются белые шрифты , идёшь сам в шрифты , ставишь  тест потемнее .. и так во многих вещах . Я все таких очень люблю когда из коробки все работает без дополнительных допиливаний , т.к пыл уже не тот как был в 2015-м когда я всем этим яростно интересовался.

В общем ровно месяц как я устроился на KDE , впечатления двухзначные .. , подумываю посмотреть, как сейчас, поживает GNOME.. , тот же GSconnect + очень большой выбор расширений меня сильно привлекают .. Если кто-то сталкивался , какие можно получить грабли из коробки ?

Показать полностью
23

Что бы такое запарсить .. ??

Добрый день всем :)

Введение:


Не так давно столкнулся с ситуацией, которая в принципе натолкнула меня на написание этой программы (если это можно так назвать и вообще если можно назвать меня программистом)

Я большой любитель компьютерного железа и частенько закупаю в одном из желтых магазинов у дома с эмблемой инопланетянина. Но копаться на сайте мне порой лень либо времени нет - не беда , прайс лист есть , сортирую по ценнику и поехал скупать , но нет , с недавних пор dns убрали прайс листы , так же на сайте всячески используются подгруздки данных через js процедуры .

Решил найти в интернете парсер , вся информация которая есть либо 2018-19 года с вопросами "а что то не получается " или "больше не актуально , не работает" а так хотелось найти рабочий парсер на Python .


Не так давно я начал проходить тестирование UI интерфейсов и решил с помощью Selenium на Python реализовать парсер.

2 часа мучений и добиваемся такого результата :


Что бы такое запарсить .. ??

Ссылка на код :

https://github.com/tagunzet/selenium_dnsshop_parser



Теперь вопрос , есть идея такая , создаю web сервис на Flask/Django и создаю микро-сервис который будет помогать пользователю подобрать технику по его параметрам .

Например мы хотим подобрать телефон , выбираем критерии к примеру :


Пол

Возраст

Для каких целей

Цена

И т.д.


Далее получаем список критериев на основе чего делаем подбор техники и советуем пользователю .


Плюсы сервиса : Если это будет кому то нужно кроме меня , то это поможет человеку без обращения за помощью к своим близким / дальним знакомым / родственникам получить помощь в подборе техники .


Конечно можно на первое время сделать подбор на основе ручного анализа (через словари к примеру)


А по мере развития уже автоматизировать процесс через обучение.

Ну как, стоит ли?

Показать полностью 1
11

Telegramm - Бот для мониторинга погоды

Знаю, каждый Python программист уже создавал сотню разных Tg-ботов, тема уже заезженная, не актуальная, но этот бот писался для себя, имею под рукой vds сервер, есть возможность развернуть, так что… Могу и буду!


И так, есть задача:

1. Мониторить погоду с какого-нибудь хорошего источника

2.Получать инфу через запрос

3.Хочу знать погоду на конкретной геолокации

4.Выводить погоду в телегу в "нескучном виде" ( текст глаза режет )


Код :

https://github.com/tagunzet/tg_weatherbot


Расписывать смысла не вижу , так как информация не заходит , расскажу что было сделано .


1.Получил информацию с помощью сервиса openweather.

2.Далее указал параметры в которых меня интересует погода

3.Вывел запрос , обработал данные , положил в массив .

4.Вывожу эту информацию через Telegram бота , обработав предварительно и вставив смешные картинки под погодную температуру .


И так :

Telegramm - Бот для мониторинга погоды
Показать полностью 1
29

Выброс из головы , достойный на новый проект . Часть #2 Наверное конец ...

И снова добрый день мои читатели. И вот я закончил начатое , сразу скажу , проект я закончил , ТЗ - выполнено и приложение заработало .

Работает - палкой и смекалкой , но все же , возможно когда-нибудь пригодится человечеству ( вероятность = 0 )

Остановились в прошлой части мы на том , что извлекли видео и отдельно звуковую дорожку .

Проблема сразу меня атаковала и отняла 4 часа моего времени на её решение ( диванные эксперты справились бы за 1 минуту но я еще молод и глуп что бы просить помощи у великих .. )
Так вот , аудиофайл с youtube скачивается хоть и как mp3 файл , но mimetype у него webm , для этого пришлось скачать еще 3 файла с ffmpeg и закинуть в мою директорию указав в python .

import speech_recognition as sr

from os import path

from pydub import AudioSegment

AudioSegment.converter = "ffmpeg.exe"

AudioSegment.ffmpeg = "ffmpeg.exe"

AudioSegment.ffprobe ="ffprobe.exe"


с помощью библиотеки AudioSegment я импортирую исходный трек
sound = AudioSegment.from_file(namefile+".mp3")
beginning = sound + 1
Прибавляю 1db громкости ## мне помогло немного повысить точность распознания , если криво распознает убрать .

И теперь, сохраняет файл в wav формате со всеми изменениями .
beginning.export("outputfile.wav", format="wav")


Далее переходим к блоку распознания и так :

Импортируем библиотеки , да где то выше я уже импортировал их , но НУЖНО БОЛЬШЕ ИМПОРТОВ .
import speech_recognition
from speech_recognition import *

Берем наш файл и объявляем объект

sample_audio = speech_recognition.AudioFile('outputfile.wav')

r = sr.Recognizer()

with sr.AudioFile('outputfile.wav') as source:

audio = r.record(source) чтение объекта ( аудиофайла)

print(type(audio)) выводим тип аудиофайла , удостоверяемся что он объект своими глазами

massslov = [] - сюда будут выводиться слова которые нашел sphinx

try:

out = r.recognize_sphinx(audio, language="en-US")

massslov.append(out)

## далее идут исключения если ничего не нашел или невозможно найти .

except sr.UnknownValueError:

print("Sphinx could not understand audio")

except sr.RequestError as e:

print("Sphinx error; {0}".format(e))

print("--- %s seconds ---" % (time.time() - start_time)) ## считаю сколько времени займет процедура

Кстати, процедура не быстрая , 2 минутный трек читает около 80 сек . (На моём пеньке , у вас может будет быстрее) 

print(massslov) ## выводим массив найденных слов

Давайте переведём эти слова


Использовать будем библиотеку deep_translator

from deep_translator import GoogleTranslator

to_translate = massslov[0]

translated = GoogleTranslator(source='auto', target='ru').translate(to_translate)

print(translated)



И на выходе получаем это :

Получится что-то похожее на текст . Похожее на перевод .

Далее нужно этот текст озвучить :

Используем библиотеку gtts

from gtts import gTTS  ## импортируем библиотеку

import os  ## системные утилиты будет для сохранения нужна

text = translated ## говорим что текст для озвучки хранится в переменной translated

language = 'ru' # язык русский

speech = gTTS(text = text, lang = language, slow = False) ## с параметрами не игрался , возможно можно настроить более тонко , мне лень было честно , со slow можно играться , если в видео говорят быстро ставим True , а если нет - False.

speech.save("text.mp3") ## сохраняем в text.mp3 в нашей директории

И так ,есть видео , есть mp3 файл с переводом , давайте совместим видео с аудиодорожкой .


Используем библиотеку mhmovie

from mhmovie import *  ## импортируем библиотеку

m = Movie(namefile+".mpeg") # указываем видеофайл

mu = Music('text.mp3') # указываем звуковой файл

final = m+mu #соединить звук и видео

final.save(namefile+"film.mp4") ## сохраняем результат

и на выходе получаем ролик с переводом , открываем и наслаждаемся .. ( ржем с перевода ) мне стыдно :(

Во первых я тупо наложил переведенный текст поверх видео , по этому тайминги между картинкой и озвучкой разные . ( Потому что функцию я еще не написал , но постараюсь размыслить в свободное время ) В данный момент я реализовал лишь план тз .

Все остальное допилю ,

Берем видео (Английская болтовня )

https://www.youtube.com/watch?v=hVivvHS4QZQ

А получаем вот что :

В общем ,  проект есть на моём github , код открыт для всех :
https://github.com/tagunzet/Translate_Youtube_movie/tree/mai...

Показать полностью 2 2
54

Выброс из головы , достойный на новый проект .  Часть #1

Сидел как-то смотрел я Youtube и подумал, вот бы была бы возможность взять англоязычный ролик, вытащить его, отделить от ролика звуковую дорожку, в помощь python и любого распознавателя речи (а их много)  вытащить массив слов для перевода.


После того как мы вытащим слова, переводим их на другой язык, немного уменьшаем громкость оригинальной дорожки и накладываем переведенный звук поверх. Получится универсальный переводчик любого англоязычного ролика и наоборот! Именно звуковой перевод, не субтитры.. что реально интересно. Можно будет поиграться с движками распознавания - выбор есть.

А также можно попробовать сделать любой русскоязычный ролик - английским, китайским , японским , да хоть каким .. Тоже интересно.

Вероятно, перевод будет кривой, но разве это повод опускать руки? Всегда можно что-нибудь придумать костыльное, но рабочее.


Поехали!


И так, как хороший ленивый программист игнорируем тз, а список требований сокращаем в 100 раз для своего удобства. В целом нам требуется :


1.Скачать видео из Youtube по URL

2.Отделить видео от аудио и сохранить 2 файла в одну папку

3.Вытащить текст из аудио

4.Перевести текст

5.Из текста создать новую дорожку

6.Наложить переведенную дорожку на оригинальную дорожку ( оригинальную немного приглушить что бы лучше было слышно перевод )

7.Наложить звук обратно на видео

8.Наслаждаться ОТМЕННЫМ переводом .

И так начнём!

Создаем py файл, и начинаем калякать.


Для того, чтобы скачать видео нам требуется библиотека "youtube_dl" следственно импортируем её.

import os ## Требуется для os.path и поиска пути директории

import youtube_dl # импортирую библиотеку

ydl = youtube_dl.YoutubeDL({'outtmpl': '%(id)s%(ext)s'})

with ydl:

result = ydl.extract_info( ##извлекаем информацию о видеофайле из ссылки

'https://www.youtube.com/watch?v=vFdE02UwMV4%27, ## ссылка на видеофайл

download=False ## Скачать информацию True False

)

if 'entries' in result:

# Если плейлист или список

video = result['entries'][0]

else:

## просто видео

video = result


И так на выходе получаем словарь, в котором начинаем рыться и искать URL на видео.

После копания в данном словаре я нашел что видео и звуковая дорожка находятся отдельно. Прекрасно, тогда скачиваем всё!



Поиск ключа и его значений:

slovar = video.keys() # выводим все ключи словаря

videos = video['formats'][6]['url'] ## URL видео было в списке "formats"

print(video['formats'][6]['url']) ## ПРИНТУЕМ

audios = video['formats'][3]['url'] ## URL аудио было в списке "formats"

print(video['formats'][3]['url']) ## ПРИНТУЕМ



Скачивать решил через WGET библиотеку.


import wget

wget.download(videos, "yt_vid.mpeg")

wget.download(audios, "yt_sound.mp3")


Получаю два загруженных файла в папке, один видео, второй звук.


Получаем пути этих файлов:


path_vid = os.path.join(os.getcwd(), 'yt_vid.mpeg') ## Путь до видеофайла

path_audio = os.path.join(os.getcwd(), 'yt_sound.mp3') ## Путь до аудиофайла

Теперь перехожу к обработке .... Но уже в следующем посте .

Показать полностью 2
32

Как я написал сервис для воспроизведения и скачивания песен с c социальной сети 'Вконтакте' - vksound.ru. Финал

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

Я создал учетную запись, и закомментировал функцию получения логина и пароля через GET запрос и указал уже свои. Далее внес несколько правок по интерфейсу, убрал данные, которые будут лишние. Так же внёс трай/кэтч в функцию логина, так вот, если пользователь укажет некорректный id, то ничего не произойдет.


В целом сервис полностью функционирует, критику жду уже от вас.

Все исходники есть в репозитории GitHub, ссылка на GIT есть в прошлых постах и на сайте.
Если у вас возникают ошибки и вы знаете, как её можно исправить жду отзывы :)


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

В данный момент ищу действительно нужный и интересный проект для реализации. Если есть идеи делитесь.

Показать полностью 2
38

Ищем отзывы с "drom.ru" об авто

И так, люблю читать информацию о своем авто и тут наткнулся на мысль что было бы круто сделать для себя книгу со всеми собранными отзывами, большее количество отзывов находятся на drom и было принято решение брать данные оттуда. Библиотека будет использоваться bs4 для python, а также docx так как я хочу сделать себе чтиво в виде книги ))


https://github.com/tagunzet/drom_obzor


from bs4 import BeautifulSoup

import urllib.request

import docx


Импортирую библиотеки, а далее указываю ссылку от куда будем брать данные:

а далее

resp = urllib.request.urlopen("http://www.drom.ru/reviews/toyota/vitz/")

указываем ссылку (у меня это раздел Тойота марка VITZ )


soup = BeautifulSoup(resp)

(Указываем экземпляр объекта)

Cоздаю два массива один будет содержать список ссылок, а второй информацию, которую мы достали по этой ссылке

linkmass = []

tmpmass = []

Получение ссылок

Тут мы заходим на сайт и парсим все ссылки, которые есть на нем.

for link in soup.find_all('a', href=True):

if 'page' in link['href']:

#print(link['href'])

getlink(link['href'])

И передаём список ссылок в функцию getlink где мы уже будем обрабатывать эти ссылки.

def getlink(page): Функция обработки ссылок, как известно ссылок на странице будет много и половину этих ссылок мусор

resp = urllib.request.urlopen(page)

soup = BeautifulSoup(resp)

for link in soup.find_all('a', href=True): смотрим все тэги a href

if len(link['href']) == 46: если длинна ссылки строки == 46, а именно ссылки с номерами авто равны 45 символам мы добавляем в словарь

#print(link['href'])

linkmass.append(link['href']) добавляем в словарь ссылок

а теперь получаем информацию по ссылке :

doc = docx.Document() объявляем экземпляр объекта

doc.add_paragraph('Отзывы о Toyota Vitz') пишем заголовок для нашей книги

def getinfo(): функция получения информации

for linkofinfo in linkmass: берем ссылки из словаря по одной

resp = urllib.request.urlopen(linkofinfo) и начинаем читать страницу

soup = BeautifulSoup(resp)

soup.prettify() -- функция делает внешний вид лучше ( нашел о оф документации )

for name in soup.find_all("div", {"class": "b-fix-wordwrap"}): теперь ищем класс в котором содержится отзыв об авто.

tmps = (str(name.get_text().strip())) добавляем во временную переменную

print('append') - что-нибудь чирканём в консоль что бы видеть статус добавления

par1 = doc.add_paragraph('Итак:  ') - добавляем параграф

par1.add_run(tmps) - добавляем текст в параграф

Конец кода

getinfo() - - не забываем вызвать функцию getinfo ( я это сделал в самом низу )

doc.save('helloworld.docx') -- обязательно сохраняем наш результат в docx файл !

У меня вышло 342 страницы интересного чтива !!))

Может кому-то пригодится!|


link to git : https://github.com/tagunzet/drom_obzor

Показать полностью 2
18

Как я написал сервис для воспроизведения и скачивания песен с c социальной сети 'Вконтакте'  - vksound.online

Предисловие:

И так, писал я как-то раз какое-то приложение, дело было давно, играла музыка в браузере на фоне, был запущен django сервер, десяток сторонних приложений по типу dbforge и sql workbench. Процессор пентиум g4xxx уже не помню и 4 гигабайта оперативной памяти просто были в шоке с таких дел, причем большую часть сжирал именно браузер. В браузере обычно крутился Vkontakte на несколько вкладок, но в целом использовался он именно для музыки. И тут я подумал, надо найти альтернативный плеер для музыки.


Начал искать:

1. Ранее был плагин для плеера aimp, который после всех изменений vk api умер :(

2.Нативными программами по типу vksaver и прочее мне не хотелось ставить. ПК рабочий как никак.

3.Расширения в браузере - противоречат идеи .Ладно пускай браузер , но сервис должен быть очень простым легковесным , что бы данную страницу мог обработать стандартный IE.


Полный план ТЗ взят отсюда :

https://www.youtube.com/watch?v=u6xJibO0Tpo


Цели приложения : простой легковесный сервис через который пользователь сможет войти в свой личный аккаунт и открыть свою музыку VK или друга по id страницы, так же сервис будет использовать простую форму входа а не двухфакторную так как мне лень написать две строчки кода потому что реализация данной процедуры занимает больше времени . В дальнейшем может быть допишу под двухфакторную, но это далеко не точно.

Любой сможет в своём личном кабинете слушать музыку а так же её скачивать под устройства windows , возможно android ( вод вопросиком )

Пользователи apple и adnroid смогут слушать музыку без рекламы в удобном плеере, попробуйте. Бесплатно.

А самое главное мы не храним пароли, все ваши действия хранятся в вашей сессии и после выхода она стирается. Так же сервис не требует регистрации и смс!

СКАЗКА ...!

В данный момент домен регистрируется, ip сервера - 194.67.111.86 , vksound.online

Показать полностью
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества