API לקבלת רשימת דפים וסימנים בספרי היסוד התורניים
-
לצורך אפליקצייה מסויימת שאני בונה אני צריך רשימה של מספר הפרקים / דפים / סימנים בספרי היסוד התורניים.
האם יש API דרכו ניתן לבצע זאת? הבנתי שניתן לעשות זאת עם ה-API של ספריא, אבל בפועל לא ממש הסתדרתי עם זה
-
אפשר לעשות זאת עם סקריפט בדומה למה שהראיתי (וגם @צדיק-תמים) פה:
https://tchumim.com/topic/15896/בקשה-רשימת-דפים-סימנים-שמתחילים-בהם-פרקים-נושאים-בשס-טושעאולי זה עבודה אבל זה גם כיף :).
-
@NH-LOCAL
https://github.com/lisrael1/bavli_pages
זה לש"ס, לשאר הספרים אם יש לך את אוצריא אתה יכול פשוט לשאוב משם את הנתונים לפי רמות הכותרות. -
@NH-LOCAL
למה?, סקריפט מאוד פשוטfrom bs4 import BeautifulSoup def get_toc(file_path, level = 2): with open(file_path, "r", encoding="utf-8") as f: content = f.read() soup = BeautifulSoup(content, "html.parser") list_all = list(tag.string for tag in soup.find_all(f"h{level}")) return list_all
אגב אתה יכול להשתמש גם בapi של מדיה ויקי, משהו בסגנון הזה:
def get_list_by_category(category: str)->list: """מחזיר רשימת דפים שנמצאים בקטגוריה מסוימת.""" i = 0 pages = [] cmcontinue = '' while True: i += 1 params = { 'action': 'query', 'list': 'categorymembers', 'cmtitle': category, 'cmtype': 'page', 'cmlimit': 'max', 'format': 'json', 'cmcontinue': cmcontinue } response = requests.get(BASE_URL, params=params) data = response.json() if 'query' in data and 'categorymembers' in data['query']: pages.extend([page["title"] for page in data['query']['categorymembers']]) else: print("Error fetching pages:", data) break if 'continue' not in data: break cmcontinue = data['continue']['cmcontinue'] print(f"Fetching pages: batch {i}") return pages