ערוץ - python tip israel
Открыть в Telegram
1 792
Подписчики
Нет данных24 часа
Нет данных7 дней
Нет данных30 дней
Архив постов
יש לכם שאלות תקלות כלים מעניינים מוזמנים לקבוצת הדיונים שלנו ✍
אשמח שתשתפו 🔗 את הערוץ לחברי זה נותן לי כוח להמשיך לפרסם ולעדכן את הערוץ
יש לכם שאלות תקלות כלים מעניינים מוזמנים לקבוצת הדיונים שלנו ✍
אשמח שתשתפו 🔗 את הערוץ לחברי זה נותן לי כוח להמשיך לפרסם ולעדכן את הערוץ
יש גם את הבוט לטלגרם שבניתי פעם מסיר רקע לא יודע מה מצב הקוד שם זה היה לפני כמה חודשים
https://gist.github.com/nhman-python/281a4637e289c9d74a62520832f024c8
🎉🎉🎉🎉 אתר חדש מסיר רקע מתמונה חינם😉😉
אשמח לקבל הצעות שיפור ודיווחים על באגים יותר מאוחר יוסיף קאפצה
כנסו
פיטצרים:
+ שמירה על היסטורית התמונה שלכם הקבצים נמחקים כל כמה שעות
+ ממשק משתמש מתאים לטלפונים
דוגמא progress bar:
from rich.progress import Progress
import httpx
# ניצור פונקציה שמקבלת ערכים url ומספר הפעולות
def patch_url(url: str, num_request: int):
with Progress() as progress:
task = progress.add_task('example progress request!', total=num_request)
for i in range(num_request):
print(httpx.get(url))
progress.update(task, advance=1) # נעדכן כל פעם את הפרוגרס בר שסימנו משימה אחת
print('done progress')
if __name__ == '__main__':
patch_url('https://example.com', 3)
הכנתי כמה דוגמאות וסקריפטים בנושא בשבילכם בעמוד בגיטהאב שלי:
מי שרוצה מוזמן להסתכל
https://github.com/nhman-python/rich_exampleמהו progress bar? תאוריה:
מתי נצטרך progress bar:
דוגמא יש לנו סקריפט שמוריד קובץ מאתר או סקריפט שלוקח נתונים מapi ואנחנו רוצים לדעת כמה זמן נשאר עד סיום התהליך. 🔄
איך זה עובד:
אפשרות ראשונה:
אנחנו לא יודעים כמה פעולות נצטרך לבצע בשביל לסיים את התהליך במקרא כזה נשתמש בספינר או פרוגרס בר שרץ בלי הפסקה עד שמשהו מסוים קורה למשל ברגע שלולאה מסתיימת תלוי במקרא, קוד לדוגמא.
אפשרות שניה:
אנחנו יודעים מראש שאנחנו הולכים לבצע מספר מסוים של פעולות במקרא כזה ניקח את מספר הפעולות נחלק אותו במספר הפעולות שנשאר לנו לבצע ונקבל את התוצאה באחוזים ונציג את המידע הזה למשתמש 📊 קוד לדוגמא.
איך זה מתבצע:
דוגמא יש לנו לולאה שמבצעת בקשת http לאתר הלולאה שלנו תרוץ מאה פעם למספר אתרים כל פעם שלולה מסתימת פשוט נעדכן את המספר הפעולות שנשאר לנו לבצע 🔄
מה ההבדל בין setdefault() ל-get()
setdefault() vs get()
בעת גישה לערכים במילון, יש שתי שיטות שימושיות setdefault() ו-get(). הם נראים די דומים, אבל יש כמה הבדלים עיקריים.
setdefault() מגדיר ערך ברירת מחדל אם המפתח אינו קיים:
my_dict = {}
my_dict.setdefault('name', 'John')
# Sets 'name' = 'John'
my_dict
# {'name': 'John'}
get() פשוט מחזיר את הערך או ברירת המחדל אם חסר:
my_dict = {}
print(my_dict.get('name'))
# לא מחזיר כלום כי אין כלום בdict
print(my_dict.get('name', 'John'))
# מחזיר 'john'
my_dict
# {} (ללא שינוי)
לסיכום setdefault() מוסיף ערכים למילון אם הם לא קיים על ידי הגדרת ברירות מחדל, בעוד ש-get() משאיר את המילון ללא שינוי.
נשתמש ב-setdefault() כאשר נרצה להגדיר ערך ברירת מחדל עבור מפתחות חסרים.
נשתמש ב-get() כאשר נרצה לאחזר ערך או ברירת מחדל מבלי לשנות את המילון.⚡️⚡️⚡️ שיפור במהירות ריצה של הסקריפט url lookup⚡️⚡️⚡️
הוספתי async כדי לשפר מהירות ועכשיו הסקריפט מאוד מהר תוך מקסימום שלוש שניות (תלוי גם במהירות של האינטרנט)
הוא יסרוק 35 קישורים
+הוספתי ספינר שמראה שהסקריפט מתקדם
בגלל המהירות שהסקריפט גומר לא כל כך שימושי להתשמש בloading הרגיל כמו שעשיתי לפני
נ.ב אפשר כמובן להוסיף עוד tldr לרשימה
ניתוח url 🌐
from urllib.parse import urlparse
url = "https://www.example.com/resource?param1=value1¶m2=value2"
parsed_url = urlparse(url)
print("Scheme:", parsed_url.scheme)
print("Netloc:", parsed_url.netloc)
print("Path:", parsed_url.path)
print("Query:", parsed_url.query)
הסבר על הקוד:
1️⃣ מייבאים את הפונקציה urlparse מהמודול urllib.parse.
2️⃣ מגדירים כתובת URL.
3️⃣ באמצעות urlparse, אנו מפרקים את כתובת האתר לסכימה, netloc, נתיב, ושאילתה.
ניתן לעשות עוד המון דברים כמו שינוי סכימה או פרמטר.
קרא עוד
בהצלחה! 🚀
#URLParsingאשמח לקבל הצעות לאתרי אינטרנט או בכללי לפרוייקטים שעובדים עם מסדי נתונים
רוצה לבדוק אם אני יודע מספיק😅
שיפור משמעותי באתר מאריך הקישורים! 🚀
הוספתי שדרוג משמעותי בקוד שכתבתי לפני מספר חודשים,
כשהייתי מתחיל😆
ממשק משתמש משופר גם לטלפונים. 📱
וקוד קצת הרבה יותר נקי😂😂🤣
הפרוייקט בGithub
אשמח לקבל star 😉 בפרוייקט
עוד מעט יעדכן את עודכן האתר שלי בקוד החדש🥳
#מאריך_קישורים #שדרוג
