כל הגדרות המערכת להורדה⬇️כקבצי טקסט📋
-
לתועלת הרבים מצורף בזה כל קבצי ההגדרות המעודכנים.
קבצי הגדרות - ימות המשיח מעודכן אלול פ''וכמו כן ניתן לקבל למייל במספר 033046966 שלוחה 6
שימו לב שהקובץ מחולק לתיקיות לפי נושאים, ואילו בהורדה זה מוריד את כל הפוסטים אחד אחד.
בנוסף קוד פייתון להורדת כל הקבצים מאזור התעשייה.
#!/usr/bin/env python3 import argparse, json, re, sys, ssl, os from urllib.request import Request, urlopen from urllib.error import HTTPError, URLError from urllib.parse import quote BASE = "https://f2.freeivr.co.il" DCID = "1" DSLUG = "אזור-התעשייה-הגדרות-המערכת" ctx = ssl.create_default_context() ctx.check_hostname = False ctx.verify_mode = ssl.CERT_NONE def fj(url): r = Request(url, headers={"Accept": "application/json", "User-Agent": "scraper/1.0"}) with urlopen(r, timeout=15, context=ctx) as resp: return json.loads(resp.read().decode("utf-8")) def sh(text): if not text: return "" text = re.sub(r"<[^>]*>", "", text) for o, n in {" ": " ", "&": "&", "<": "<", ">": ">", """: '"', "'": "'", "/": "/"}.items(): text = text.replace(o, n) return text.strip() def dl(tid): posts = [] title = "" for page in range(1, 51): data = fj(f"{BASE}/api/topic/{tid}?page={page}") if page == 1: title = sh(data.get("title", str(tid))) tp = data.get("pagination", {}).get("pageCount", 1) for p in data.get("posts", []): posts.append(sh(p.get("content", ""))) if page >= tp: break lines = [] for p in posts: lines.append(p) lines.append("") lines.append("") st = re.sub(r'[\\/:*?"<>|]', "", title) st = re.sub(r'[a-zA-Z_]+', " ", st) st = re.sub(r'\s+', " ", st).strip()[:50] desk = os.path.join(os.path.expanduser("~"), "Desktop") folder = os.path.join(desk, "אזור התעשיה") os.makedirs(folder, exist_ok=True) fn = os.path.join(folder, f"{st}.txt") with open(fn, "w", encoding="utf-8") as f: f.write("\n".join(lines)) print(f" OK {st}.txt ({len(posts)} posts)") def main(): ap = argparse.ArgumentParser() ap.add_argument("--txt-all", action="store_true") ap.add_argument("--txt", action="store_true") ap.add_argument("--topics") ap.add_argument("--cid", default=DCID) ap.add_argument("--slug", default=DSLUG) ap.add_argument("--page", type=int, default=1) ap.add_argument("--save") a = ap.parse_args() try: if a.txt_all: items = [] page = 1 while True: data = fj(f"{BASE}/api/category/{a.cid}/{quote(a.slug)}?page={page}") ts = data.get("topics", []) if not ts: break for t in ts: items.append({"tid": t.get("tid"), "title": t.get("title", "")}) page += 1 print(f"Found {len(items)} topics") c = 0 for i in items: if i["tid"] is None: continue try: print(f"Topic {i['tid']}") dl(i["tid"]) c += 1 except Exception as e: print(f" SKIP {i['tid']}: {e}") print(f"\nDone! {c} files saved") return if a.txt and a.topics: for t in a.topics.split(","): print(f"\nDownloading topic {t.strip()}") dl(int(t.strip())) return data = fj(f"{BASE}/api/category/{a.cid}/{quote(a.slug)}?page={a.page}") topics = [] for t in data.get("topics", []): topics.append({"id": t.get("tid"), "title": t.get("title"), "author": t.get("user", {}).get("username"), "posts": t.get("postcount")}) result = {"topic_count": len(topics), "topics": topics} if a.save: with open(a.save, "w", encoding="utf-8") as f: f.write(json.dumps(result, ensure_ascii=False, indent=2)) print(f"Saved: {a.save}") else: print(json.dumps(result, ensure_ascii=False, indent=2)) except Exception as e: print(f"ERROR: {e}", file=sys.stderr) sys.exit(1) if __name__ == "__main__": main()לא ממש יודעים מה זה פייתון?
הדרכה מסודרת שלב אחר שלב בספויילרמדריך מלא — הורדת פוסטים מפורום FreeIVR
מה אנחנו עושים?
אנחנו הולכים להוריד פוסטים מאתר אינטרנט (פורום) ולשמור אותם כקבצי טקסט במחשב.שלב 1 — התקנת פייתון (Python)
פייתון היא תוכנה חינמית שמריצה סקריפטים (קטעי קוד קטנים).כנס לאתר: https://www.python.org/downloads/
לחץ על הכפתור הצהוב "Download Python" (הורד פייתון)
פתח את הקובץ שהורדת
חשוב מאוד! במסך הראשון שנפתח, למטה יש תיבה קטנה שכתוב עליה "Add Python to PATH" (הוסף פייתון ל-PATH) — סמן אותה ב-V!
לחץ על "Install Now" (התקן עכשיו)
חכה שההתקנה תסתיים (יופיע כיתוב "Setup was successful")
לחץ "Close" (סגור)
שלב 2 — פתיחת שורת הפקודה (Command Prompt)
שורת הפקודה היא חלון שחור שבו אנחנו כותבים פקודות למחשב.לחץ על מקש Windows (המקש עם הלוגו של Windows, בין Ctrl ל-Alt)
כתוב: cmd
לחץ Enter
ייפתח חלון שחור עם טקסט לבן.כתוב את הפקודה הבאה ולחץ Enter:
python --versionאמור להופיע משהו כמו Python 3.12.x. אם כן — מצוין, פייתון מותקן. אם לא — חזור לשלב 1 וודא שסימנת "Add Python to PATH".
שלב 3 — יצירת תיקייה לעבודה
לחץ על מקש Windows
כתוב: cmd
לחץ Enter
כתוב את הפקודות הבאות (כל אחת ואז Enter):cd Desktop mkdir freeivr cd freeivrמה זה עושה?
cd Desktop — עובר לשולחן העבודה (Desktop = שולחן עבודה)
mkdir freeivr — יוצר תיקייה חדשה בשם freeivr (mkdir = make directory = צור תיקייה)
cd freeivr — נכנס לתיקייה (cd = change directory = החלף תיקייה)
שלב 4 — יצירת קובץ הסקריפט
לחץ על מקש Windows
כתוב: notepad
לחץ Enter — ייפתח פנקס רשימות (Notepad)
העתק את כל הקוד הבא והדבק ב-Notepad:#!/usr/bin/env python3 import argparse, json, re, sys, ssl, os from urllib.request import Request, urlopen from urllib.error import HTTPError, URLError from urllib.parse import quote BASE = "https://f2.freeivr.co.il" DCID = "1" DSLUG = "אזור-התעשייה-הגדרות-המערכת" ctx = ssl.create_default_context() ctx.check_hostname = False ctx.verify_mode = ssl.CERT_NONE def fj(url): r = Request(url, headers={"Accept": "application/json", "User-Agent": "scraper/1.0"}) with urlopen(r, timeout=15, context=ctx) as resp: return json.loads(resp.read().decode("utf-8")) def sh(text): if not text: return "" text = re.sub(r"<[^>]*>", "", text) for o, n in {" ": " ", "&": "&", "<": "<", ">": ">", """: '"', "'": "'", "/": "/"}.items(): text = text.replace(o, n) return text.strip() def dl(tid): posts = [] title = "" for page in range(1, 51): data = fj(f"{BASE}/api/topic/{tid}?page={page}") if page == 1: title = sh(data.get("title", str(tid))) tp = data.get("pagination", {}).get("pageCount", 1) for p in data.get("posts", []): posts.append(sh(p.get("content", ""))) if page >= tp: break lines = [] for p in posts: lines.append(p) lines.append("") lines.append("") st = re.sub(r'[\\/:*?"<>|]', "", title) st = re.sub(r'[a-zA-Z_]+', " ", st) st = re.sub(r'\s+', " ", st).strip()[:50] desk = os.path.join(os.path.expanduser("~"), "Desktop") folder = os.path.join(desk, "אזור התעשיה") os.makedirs(folder, exist_ok=True) fn = os.path.join(folder, f"{st}.txt") with open(fn, "w", encoding="utf-8") as f: f.write("\n".join(lines)) print(f" OK {st}.txt ({len(posts)} posts)") def main(): ap = argparse.ArgumentParser() ap.add_argument("--txt-all", action="store_true") ap.add_argument("--txt", action="store_true") ap.add_argument("--topics") ap.add_argument("--cid", default=DCID) ap.add_argument("--slug", default=DSLUG) ap.add_argument("--page", type=int, default=1) ap.add_argument("--save") a = ap.parse_args() try: if a.txt_all: items = [] page = 1 while True: data = fj(f"{BASE}/api/category/{a.cid}/{quote(a.slug)}?page={page}") ts = data.get("topics", []) if not ts: break for t in ts: items.append({"tid": t.get("tid"), "title": t.get("title", "")}) page += 1 print(f"Found {len(items)} topics") c = 0 for i in items: if i["tid"] is None: continue try: print(f"Topic {i['tid']}") dl(i["tid"]) c += 1 except Exception as e: print(f" SKIP {i['tid']}: {e}") print(f"\nDone! {c} files saved") return if a.txt and a.topics: for t in a.topics.split(","): print(f"\nDownloading topic {t.strip()}") dl(int(t.strip())) return data = fj(f"{BASE}/api/category/{a.cid}/{quote(a.slug)}?page={a.page}") topics = [] for t in data.get("topics", []): topics.append({"id": t.get("tid"), "title": t.get("title"), "author": t.get("user", {}).get("username"), "posts": t.get("postcount")}) result = {"topic_count": len(topics), "topics": topics} if a.save: with open(a.save, "w", encoding="utf-8") as f: f.write(json.dumps(result, ensure_ascii=False, indent=2)) print(f"Saved: {a.save}") else: print(json.dumps(result, ensure_ascii=False, indent=2)) except Exception as e: print(f"ERROR: {e}", file=sys.stderr) sys.exit(1) if __name__ == "__main__": main()ב-Notepad לחץ קובץ (File) → שמירה בשם (Save As)
נווט לתיקייה freeivr שיצרנו על שולחן העבודה
בשדה "שם הקובץ" (File name) כתוב בדיוק: freeivr_scraper.py
בשדה "שמור כסוג" (Save as type) בחר "כל הקבצים" (All Files) — לא "מסמכי טקסט"!
בשדה "קידוד" (Encoding) בחר UTF-8
לחץ "שמור" (Save)
שלב 5 — הרצת הסקריפט
חזור לחלון השחור (cmd)
ודא שאתה בתיקייה freeivr (אם לא — כתוב cd Desktop\freeivr)
כתוב את הפקודה:python freeivr_scraper.py --txt-allלחץ Enter
מה יקרה עכשיו? הסקריפט יוריד את כל הנושאים מהפורום וישמור כל אחד כקובץ טקסט בתיקיית אזור התעשיה על שולחן העבודה. זה יכול לקחת דקה-שתיים.בסוף תראה משהו כמו:
Done! 163 files savedשלב 6 — בדיקה
מזער את החלון השחור
פתח את שולחן העבודה
תראה תיקייה חדשה בשם אזור התעשיה
פתח אותה — יש בפנים קבצי טקסט רבים
פתח אחד מהם — תראה את תוכן הפוסטים
פקודות נוספות (אופציונלי)
להוריד רק נושא אחדpython freeivr_scraper.py --txt --topics 8166(החלף 8166 במספר הנושא שתרצה)
לראות רשימת נושאים בלי להוריד
python freeivr_scraper.pyמילון מונחים
אנגלית עברית
Python פייתון (שפת תכנות)
Download הורדה
Install התקנה
Command Prompt (cmd) שורת הפקודה
Desktop שולחן העבודה
Directory / Folder תיקייה
File קובץ
Save As שמירה בשם
All Files כל הקבצים
Encoding קידוד
UTF-8 UTF-8 (פורמט טקסט שתומך בעברית)
Notepad פנקס רשימות
PATH PATH (משתנה סביבה של Windows)
Script סקריפט (קטע קוד)
Enter Enter (מקש אישור)
Copy העתקה
Paste הדבקה -
@Perfect בדיוק בניתי לזה פיצר מסודר מוכן בלי להוריד פייתון וכל זה בכתובת https://mitmahim.ezerphone.com/
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות