Справочник Программиста
6.29K subscribers
1.35K photos
387 videos
64 files
1.7K links
По рекламе - @it_start_programmer
Мои курсы - @courses_from_it_start_bot
Сайт - https://it-start.online/
YouTube - https://www.youtube.com/@it_start
Реклама на бирже - https://telega.in/c/programmersGuide_1

Предложить идею: @it_start_suggestion_bot
Download Telegram
Подбор пароля к zip-файлу в Python
Код из видео:

from tqdm import tqdm
import zipfile

wordlist = ''
zip_file = ''
zip_file = zipfile.ZipFile(zip_file)

n_words = len(list(open(wordlist, "rb")))

with open(wordlist, "rb") as wordlist:
for word in tqdm(wordlist, total=n_words, unit="word"):
try:
zip_file.extractall(pwd=word.strip())
except:
continue
else:
print("Пароль найден:", word.decode().strip())
exit(0)
print("Пароль не найден :(")
👍19
passwords.txt
133.4 MB
Файл с паролями
👍16🥴1
Справочник Программиста
Не волнуйтесь, это последнее видео по PowerPoint))
Точнее уроков новых по нему не будет, но сборник обязательно надо выложить))
Времени не было снять что-то новое, поэтому выходит сборник)

https://youtu.be/tZupGQC6L8w
👍7😁2🤔1
Подбор пароля к pdf-документу в Python
Код из видео:

import pikepdf
from tqdm import tqdm

passwords = [line.strip() for line in open("passwords.txt", encoding='UTF-8')]

for password in tqdm(passwords, "Расшифровка PDF-файла"):
try:
with pikepdf.open("pdfTest.pdf", password=password) as pdf:
print("Пароль найден:", password)
break
except pikepdf._qpdf.PasswordError:
continue
👍16
Видео выйдет послезавтра.
16👍6😱3
Запись определённого окна на видео в python
Код из видео:

import cv2
import numpy as np
import pyautogui
import pygetwindow as gw

window_name = 'путь к файлу'

fourcc = cv2.VideoWriter_fourcc(*"XVID")
fps = 30.0
record_seconds = 15

w = gw.getWindowsWithTitle(window_name)[0]
w.activate()

out = cv2.VideoWriter("output.avi", fourcc, fps, tuple(w.size))

for i in range(int(record_seconds * fps)):
img = pyautogui.screenshot(region=(w.left, w.top, w.width, w.height))
frame = np.array(img)
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
out.write(frame)
cv2.imshow("screenshot", frame)
if cv2.waitKey(1) == ord("q"):
break

cv2.destroyAllWindows()
out.release()
👍8🔥1
Видео снова переносится на послезавтра.
9
Парсинг javascript и css с сайта с помощью python
Код из видео:

import requests
from bs4 import BeautifulSoup as bs
from urllib.parse import urljoin

url = "ссылка_на_сайт"

session = requests.Session()

session.headers["User-Agent"] = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36"

html = session.get(url).content
soup = bs(html, "html.parser")

script_files = []

for script in soup.find_all("script"):
if script.attrs.get("src"):
script_url = urljoin(url, script.attrs.get("src"))
script_files.append(script_url)

css_files = []

for css in soup.find_all("link"):
if css.attrs.get("href"):
css_url = urljoin(url, css.attrs.get("href"))
css_files.append(css_url)

print("Общее количество файлов скриптов на странице:", len(script_files))
print("Общее количество CSS-файлов на странице:", len(css_files))

with open("javascript_files.txt", "w") as f:
for js_file in script_files:
print(js_file, file=f)

with open("css_files.txt", "w") as f:
for css_file in css_files:
print(css_file, file=f)
👍12
Видео выйдет завтра)
9😱2
Извлекаем кадры из видео в Python
Код из видео:

from moviepy.editor import VideoFileClip
import numpy as np
import os
from datetime import timedelta

SAVING_FRAMES_PER_SECOND = 10


def format_timedelta(td):
result = str(td)
try:
result, ms = result.split(".")
except ValueError:
return result + ".00".replace(":", "-")

ms = round(int(ms) / 10000)
return f"{result}.{ms:02}".replace(":", "-")


def main(video_file):
video_clip = VideoFileClip(video_file)
filename, _ = os.path.splitext(video_file)

if not os.path.isdir(filename):
os.mkdir(filename)

saving_frames_per_second = min(video_clip.fps, SAVING_FRAMES_PER_SECOND)
step = 1 / video_clip.fps if saving_frames_per_second == 0 else 1 / saving_frames_per_second

for current_duration in np.arange(0, video_clip.duration, step):
frame_duration_formatted = format_timedelta(timedelta(seconds=current_duration)).replace(":", "-")
frame_filename = os.path.join(filename, f"frame{frame_duration_formatted}.jpg")

video_clip.save_frame(frame_filename, current_duration)


video_file = 'путь_до_видео'
main(video_file)
👍19
У меня есть парочка новостей.
1. Спустя месяц я наконец-то закончил работу над курсом по библиотеке tkinter, и Вы можете приобрести его на boosty.
Первую неделю кстати будет скидка, и вместо 1000 рублей он будет стоить 500.
Подробное описание курса есть на моём сайте: https://it-start.online/kursy/sozdanie-graficheskogo-interfejsa-v-python-3-s-tkinter
boosty: https://boosty.to/it_start

2. Да, я зарегистрировался в boosty, и теперь все, кто хотел бы меня поддержать могут это сделать там.
В зависимости от уровня подписки Вам будут доступны различные бонусы. Например, всего за 150 рублей Вы сможете
смотреть видео на пару дней, а то и недель раньше, чем на ютубе (там кстати сейчас видео вышло про создание кейлоггера на python).

3. Для тех, кто хочет получить код приложения Операционной Системы на python есть отличная новость. Набрав 10 платных подписчиков,
я выложу код на boosty (и кстати, скоро 3 часть по данному приложению, все последующие обновления кода я тоже буду выкладывать на boosty).
👍13