הורדה מאתר jewishmusic
-
@אברך-מייבין אמר בהורדה מאתר jewishmusic:
jewishmusic
בשניה הראשונה שהדף עולה תעשה כפתור ימני-שמור שמע בשם
-
@לעכשיו אמר בהורדה מאתר jewishmusic:
@אברך-מייבין אמר בהורדה מאתר jewishmusic:
jewishmusic
בשניה הראשונה שהדף עולה תעשה כפתור ימני-שמור שמע בשם
לא מופיע לי אפשרות כזו.
-
פוסט זה נמחק!
-
@אברך-מייבין
יש דרך פשוטה להוריד מוזיקה ווידאו מכל אתר כמעט על ידי תוספים לדפדפן יש את Video DownloadHelper ואפשר ג"כ את Video Downloader professional, מצו"ב קישורים;
https://chrome.google.com/webstore/detail/video-downloadhelper/lmjnegcaeklhafolokijcfjliaokphfk
https://chrome.google.com/webstore/detail/video-downloader-professi/elicpjhcidhpjomhibiffojpinpmmpil -
@yeshaya אמר בהורדה מאתר jewishmusic:
@אברך-מייבין
יש דרך פשוטה להוריד מוזיקה ווידאו מכל אתר כמעט על ידי תוספים לדפדפן יש את Video DownloadHelper ואפשר ג"כ את Video Downloader professional, מצו"ב קישורים;
https://chrome.google.com/webstore/detail/video-downloadhelper/lmjnegcaeklhafolokijcfjliaokphfk
https://chrome.google.com/webstore/detail/video-downloader-professi/elicpjhcidhpjomhibiffojpinpmmpilאי אפשר להוריד עם זה מהאתר jewishmusic
-
האמת שבדיוק אתמול ניסיתי, והם נותנים לך את הנתיב לקובץ בDOM, הקטע הוא שהם מגבילים את ההורדה למשהו כמו 10 שניות, ואם זה לא יורד בזמן הזה אז ההורדה מתבטלת, חשבתי לנסות להשתמש בIDM בשביל להמשיך את ההורדה מאיפה שהיא עצרה כל פעם שהיא מתבטלת, זה מצחיק שדוקא בשביל זה נכנסתי לפורום.
-
@אברך-מייבין
לא משנה, זה בכלל לא מציע להוריד מIDM, אבל אני מצליח להוריד עם ההגבלה של ה-10 שניות בערך (אני לא יודע בדיוק מה ההגבלה, או אם זה בכלל תלוי בזמן)הפיתרון:
ללחוץ F12 בדפדפן כרום
לללכת ללשונית networking
ללכת לתת-לשונית media
ללחוץ על הפעלה של שיר לחכות שתופיע רשומה בתפריט השמאלי
אחרי שמופיעה הרשומה, ללחוץ עליה פעמיים ולהוריד
אם ההורדה מתבטלת אז תופיע רשומה חדשה, ללחוץ עליה, ולחזור על זה עד שהקובץ ירד. -
אני משתמש בכרום גירסא 80, אולי זה קשור, בכל מקרה אפשר לכתוב תוכנה שמורידה, זה לא יעבוד עם IDM, בגלל שהוא סתם עושה GET ואין אפשרות לערוך את הHEADERים שלו,
מה שjewishmusic עושים זה לשלוח HEADER של RANGE, והוא מביא את הקובץ עד הRANGE הזה, אח"כ הוא מבקש את הRANGE שאחרי, ואם מנסים לבקש בלי RANGE אז מקבלים שגיאה 404.זה הקוד שלהם לקבל את הRANGE, אני לא בטוח מה יש בSTORE, אבל כנראה זה אובייקט שמכיל את מה שכבר ירד
addEventListener('fetch', (() => { let store = {ts: 0}; const update = (resp) => { try { let mp3sec = JSON.parse(atob(resp.headers.get('X-Set-MP3Sec'))); if (mp3sec.ts > store.ts) { store = mp3sec } } catch(err) {} }; const requestdata = async (request) => { let headers = new Headers(request.headers); headers.set('X-MP3Sec', btoa(JSON.stringify(store))); let url = new URL('/jmusic/mp3sec/stream', request.url); url.protocol = 'https'; url.searchParams.set('loc', new URL(request.url).pathname); return await fetch(url, { ...request, headers }); }; return event => { if (event.request.url.match(/\.mp3$/i)) { event.respondWith((async () => { try { let resp = await requestdata(event.request); if (resp.status == 400 || resp.status == 404) { update(resp); resp = await requestdata(event.request); } update(resp); return resp; } catch(err) { console.error(err); } })()); } }; })());
-
זה מה שיש להם בSTORE
{"ts":1590429116337,"id":"mp3sec_16939339745ecc05a8c95666.20216347"}
הם משתמשים במידע הזה בתור HEADER כדי לתת TIMEOUT לREQUEST, שאחרי זה כבר אי אפשר לפנות אליה משום שמקבלים
""
אז אמנם זה קצת יותר מסובך, אבל אפשר לעקוב אחרי הקוד לראות איך הם מייצרים את הID
הTS זה בפשטות TIMESTAMP של מילישניות מEPOCH או משהו כזה.. צריך לעקוב אחרי הקוד שלהם, אבל זה נראה מעניין. -
@klopkk
הייתי מסביר יותר בעברית, אבל זה מאוד מסובך..
במילים הכי פשוטות - הם שומרים את "שעת ההורדה" בשביל לחשב האם השעה שלהם מתאימה לשעה הנוכחית, במידה וכן הם מורידים חלק מהשיר ולא את כולו, אחרי שהוא מסיים להוריד חלק מהשיר, הוא משווה שוב את השעה ומעדכן אותה לפי השעה הנוכחית.. בצורה הזו בקשת הורדה שלא לפי השעה שלהם פשוט תידחה, כמו כן הם לא מורידים הכל בפעם אחת כדי שלא תוכל לשחזר את הצורה בה הדפדפן לוקח את השיר, כי אחרי כמה מגה בייט זה פשוט יבטל את ההורדה.הם גם שומרים ID שנועד לאבטח את הבקשה, אני מנסה להבין איפה הקוד שהם מייצרים אותו כי חייבים להוסיף אותו לבקשה לקבל את הקובץ של השיר.