שיתוף | api לשאילתות פשוטות מול קול הלשון
-
בהמשך לזה https://mitmachim.top/post/862252 (מוזמנים, אגב.)
התיעוד נכתב עם gpt..
יש שם דוגמא לחיפוש, ולקבל פרטים וכולי,
הייתי מוסיף שם הורדה גם, בעבר זה לא דרש אימות ולא כלום, אבל הם שידרגו את זה, ולא רציתי להוסיף.זה בפייתון, קל מאוד לשנות לשפות אחרות, זה בקשות פשוטות
https://github.com/ZviCode/KolHalashonApi
אם יש דרישה להורדת קבצים גם כן, תוכלו להשאיר שם בקשות ואראה עד כמה זה משמעותי, כי זה להבין קצת יותר את המנגון של האימות, והאם יהיה אפשר להוריד אנונימית, או שחייבים התחברות, שיכול קצת להקשות
נוסף אופציה להוסיף בקובץ .env שם משתמש וסיסמה, וכך לאפשר ביצוע של התחברות, והורדה של נתונים.
בס״ד מוצ״ש קודש,
עלה כספריה אל pypi וניתן כעת להתקין ללא שום בעיה
https://pypi.org/project/kolhalashon/מאפשר התחברות, עם שם משתמש וסיסמה ישירות, או עם קובץ .env
דוגמאות לשימוש יעלו בהמשך בעז״ה -
@MGM-IVR אולי כדאי להוסיף גם את הrss של סדרת השיעורים.
(לא יודע אם זה קיים בapi, אבל בכל מקרה ניתן יהיה לגרד אותו מהאתר עצמו).
לדעתי כדאי להוסיף התחברות לחשבון לצורך הורדה, מה גם שזה מוסיף גם אופציה להעלות שיעורים, למה שלא תשתמש בrequests.Session() ?
אגב, איך viewed_by_user אמור להחזיר True אם אתה לא מחובר לחשבון? -
@האדם-החושב כתב בשיתוף | api לשאילתות פשוטות מול קול הלשון:
@MGM-IVR אולי כדאי להוסיף גם את הrss של סדרת השיעורים.
כלומר?
@האדם-החושב כתב בשיתוף | api לשאילתות פשוטות מול קול הלשון:
לדעתי כדאי להוסיף התחברות לחשבון לצורך הורדה, מה גם שזה מוסיף גם אופציה להעלות שיעורים, למה שלא תשתמש בrequests.Session() ?
איך? להרים סילניום כדי לקחת את הקוקיז? זה התחברות עם חשבון גוגל אאל״ט (עכשיו בדקתי, ויש גם עם שם משתמש וסיסמה)
הורדה אפשרית, יש לי כבר פוקנציות מוכנות לזה עם אני מדביק את הערכים פיזית בקוד, אני לא רוצה לבנות ככה קודים.. צריך לחשוב על רעיון אחר, אולי באמת להרים דפדפן קטן ולשמור את ההתחברות שלו, נראה
@האדם-החושב כתב בשיתוף | api לשאילתות פשוטות מול קול הלשון:
אגב, איך viewed_by_user אמור להחזיר True אם אתה לא מחובר לחשבון?
קול הלשון.. בכל מקרה הקוד עובד כולו, גם בלי התחברות, (אם כי את הקוד שאבתי כן כשאני מחובר, אז אולי לכן הendpoint קצת שונים
-
@MGM-IVR כתב בשיתוף | api לשאילתות פשוטות מול קול הלשון:
כלומר?
לכל תיקייה יש כתובת rss, יהיה נחמד לקבל את הכתובת בapi
איך? להרים סילניום כדי לקחת את הקוקיז?
למה סלניום? requests + BeautifulSoup
יש לי כבר פוקנציות מוכנות לזה עם אני מדביק את הערכים פיזית בקוד
לא הבנתי את כוונתך.
-
@האדם-החושב כתב בשיתוף | api לשאילתות פשוטות מול קול הלשון:
@MGM-IVR כתב בשיתוף | api לשאילתות פשוטות מול קול הלשון:
כלומר?
לכל תיקייה יש כתובת rss, יהיה נחמד לקבל את הכתובת בapi
תוכל להרחיב עם דוגמאות? אולי נפתח את זה לספריה חמודה..
איך? להרים סילניום כדי לקחת את הקוקיז?
למה סלניום? requests + BeautifulSoup
בשביל אימות גוגל אני חושב שצריך דפדפן אמיתי כי הוא מעביר בין כתובות וכולי,
בכל מקרה עם שם משתמש וסיסמה אני עכשיו הוספתי אופציה, וזה מוריד.יש לי כבר פוקנציות מוכנות לזה עם אני מדביק את הערכים פיזית בקוד
לא הבנתי את כוונתך.
היה לי פונקציות להורדה אם אני מעתיק מהכלי מפתחים את הסשן עצמו, ועכשיו הטמעתי אותם בקוד.
-
@MGM-IVR סליחה שלא הבאתי קודם, אבל להבא כדאי להכיר את האופציה האוטומטית
https://github.com/AndrewWalsh/openapi-devtoolsלאחר מכן
https://github.com/openapi-generators/openapi-python-client או https://github.com/OpenAPITools/openapi-generator -
@MGM-IVR כתב בשיתוף | api לשאילתות פשוטות מול קול הלשון:
תוכל להרחיב עם דוגמאות?
https://www.kolhalashon.com/New/RSS/CreateRss.aspx?Lang=Hebrew&FID=5761&AudioOnly=True&RavID=7&Order=1&IsEdge=True&PageNum=1&LangID=1
בעבר היה כפתור מעל כל תיקייה לכתובת הrss שלה, מעניין לאן זה נעלם, בכל מקרה הrss עדיין פעיל.
שינוי הפרמטר AudioOnly משום מה לא מביא גם שיעורי וידאו, צריך לבדוק גם את שאר הפרמטרים והאם אולי ישנם גם פרמטרים נוספים. -
@MGM-IVR
חשבתי אולי כדאי גם להוסיף פונקצייה לבחירת המיקום ושם הקובץ של ההורדה, אולי משהו כזה:import os import re mishna = ("זרעים", "מועד", "נשים", "נזיקין", "קדשים", "טהרות") zeraim = ("ברכות", "פאה", "דמאי") bible = ("בראשית", "שמות") def sanitize_filename(filename): sanitized_filename = re.sub(r'[\\/:*?<>|]', '', filename).replace('"', "''").replace('_', ' ') return sanitized_filename def format_name(name: str, format_by: tuple) -> str: for index, value in enumerate(format_by): if value in name: return str(index + 1).zfill(2), value # Example usage: name = sanitize_filename("ברכות זרעים") target_path = "test" formatted_name, value= format_name(name, mishna) formatted_name_b , value_b= format_name(name, zeraim) file_name = f"{formatted_name}{formatted_name_b} {name}" file_path = os.path.join(target_path, f"{formatted_name} {value}", f"{formatted_name_b} {value_b}", name)
כך שהקבצים יסודרו לפי סדר הפרשיות וכו', אולי כדאי גם להוסיף תאריך לצורך סידור לפי תאריך, או לחילופין להכניס למטא-דאטה של הקובץ את התאריך כך שבמיון לפי תאריך זה יוצג בסדר הנכון.
אולי ניתן יהיה לקחת גם כמה רעיונות ממסדר הסינגלים של @NH-LOCAL