5 لایبرری باحال پایتون! (1)

بعد از معرفی چند تا لایبرری جاوااسکریپت نوبت به معرفی 5 تا از لایبرری های کاربردی و باحال پایتون میرسه که بعد از آشنایی باهاشون احتمالا خیلی علاقه به تستشون خواهید داشت?

pytube

بجای اینکه یه زمان زیادی برای ور رفتن با BeautifulSoup بذارید تا بتونید لینک های دانلود یه پلی لیست یوتوب رو به دست بیارید و یا حتی اونا رو مستقیما دانلود کنید با این لایبرری میتونید به سادگی هرچه تمام تر لینک دانلود کیفیت های متفاوت یه ویدیو و یا دانلود کل ویدیو های یه پلی لیست رو داشته باشید.

نمونه کد

from pytube import YouTube
video = YouTube('https://www.youtube.com/watch?v=H7nkC5GKMjE')
video.streams.filter(progressive=True, file_extension='mp4').order_by('resolution').desc().first().download('path/to/save')

کد بالا ویدیوی این آدرس رو با بالاترین کیفیت موجود برامون توی مسیری که براش مشخص کردیم ذخیره میکنه!

گیتهاب این لایبرری -> تعداد ستاره ها: 2.8k

JustPy

اگه خیلی عاشق پایتون هستید و میخواید از اون توی محیط فرانت-اند وب هم استفاده کنید این لایبرری گزینه مناسبیه با استفاده از اون میتونید بدون استفاده از جاوااسکریپت یه وبسایت تعاملی بسازید! یعنی پایتون بزنید و در نهایت جاوااسکریپت تحویل بگیرید?

نمونه کد

import justpy as jp
def hello_world():
    wep_page = jp.WebPage()
    hello_world_div = jp.Div(text='Hello world')
    wep_page.add(hello_world_div)
    return web_page
jp.justpy(hello_world)

کد بالا یه صفحه برامون میسازه با یه div توش که متن توی اون div برابر Hello World هست، به همین سادگی!

گیتهاب این لایبرری -> تعداد ستاره ها: 491

click

به احتمال 90 درصد برای هر پایتون کاری پیش میاد که بخواد یه ابزار cli بنویسه و یه سری راه داره برای parse کردن آرگومان هایی که به ابزار داده میشه مثلا کتابخونه argparse خود پایتون اما click یه مزه دیگه ای داره، سادگی در عین حفظ قدرت?

نمونه کد

import click
@click.command()
@click.option(&quot--count&quot, default=1, help=&quotNumber of greetings.&quot)
@click.option(&quot--name&quot, prompt=&quotYour name&quot, help=&quotThe person to greet.&quot)
def hello(count, name):
    &quot&quot&quotSimple program that greets NAME for a total of COUNT times.&quot&quot&quot
    for _ in range(count):
        click.echo(&quotHello, %s!&quot % name)
if __name__ == '__main__':
    hello()

کد بالا برای ساخت یه cli هست که با دادن اسم به تعداد باری که مشخص کردیم بهمون Hello میگه?

گیتهاب این لایبرری -> تعداد ستاره ها: 8.9k

selenium

یه لایبرری خفن برای اتوماتیک کردن کارهایی که توی محیط مرورگر انجام میدیم، مثلا میتونید با این لایبرری یه پروژه بزنید که بیاد توی اکانت ویرگول شما لاگین کنه و محبوب‌ترین پست ها رو لایک کنه یا حتی برای تست پروژه های فرانت-اندتون مثلا وقتی وارد صفحه میشه چک کنه عنوان صفحه My Awesome Project هست یا نه و کلی کارای خفن دیگه?

نمونه کد

from selenium.webdriver import Chrome
username = input('enter the username : ')
password = input('enter the password : ')
driver = Chrome()
driver.get('https://virgool.io/login')
username_input = driver.find_element_by_xpath('//*[@id=&quotform-handler&quot]/form/div[1]/input')
password_input = driver.find_element_by_xpath('//*[@id=&quotform-handler&quot]/form/div[2]/input')
login_btn = driver.find_element_by_xpath('//*[@id=&quotform-handler&quot]/form/div[4]/button')
username_input.send_keys(username)
password_input.send_keys(password)
login_btn.click()

کد بالا رو اگه اجرا کنید نام کاربری و رمزعبورتون رو میخواد بعد یه مرورگر باز میشه و توی ویرگول لاگین میکنه?

گیتهاب این لایبرری -> تعداد ستاره ها: 17.1k

PyAutoGUI

این لایبرری برای مدیریت موس و کیبورده البته قابلیت های دیگه ای مثل نمایش پیغام، گرفتن مقدار و حتی اسکرین شات گرفتن از صفحه هم داره?

نمونه کد برای گرفتن screen shot از صفحه

import pyautogui
pyautogui.screenshot('screenshot.png')

گیتهاب این لایبرری -> تعداد ستاره ها: 3.5k


ممنون که تا انتهای مقاله اومدید?
لطفا نظراتتون رو برای بهبود مقاله هام بنویسید و لطفا اگر موضوع خاصی برای نوشته بعدی مد نظرتون هست بهم بگید?
موفق و پیروز باشید✌