• פוסטים אחרונים
    • תגיות
    • משתמשים
    • קבוצות
    • חיפוש
    • נטפרי-וויקי
    • En
    • התחברות

    כיצד אוכל לשאוב מידע על כל וידאו מראש אם הוא פתוח בנטפרי או לא

    מתוזמן נעוץ נעול הועבר ויקי-נטפרי בקשת/הצעת הדרכה
    20 פוסטים 4 כותבים 1.5k צפיות 3 עוקבים
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • תגובה כנושא
    התחברו כדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • משה בניית אתריםמ מנותק
      משה בניית אתרים
      נערך לאחרונה על ידי

      יש לי אתר שבנוי בוורדפרס שיש בו וידאו הרצאה בכל פוסט.
      הייתי מעוניין להריץ סקריפט שרץ על כל הפוסטים באתר ובודק כל פוסט אם הוא פתוח בנטפרי ומה חסום (לצורך מחיקה) ומה עדיין לא נבדק.
      (דהיינו שהוא יתפוס הוידאו הראשון בכל פוסט ויבדוק אם הוא נתקל בחסימה או לא).
      ואם הוא נתקל בחסימה שהוא יתייג את זה באיזשהוא דרך שאוכל למצוא אחר כך את כל התיוגים, בטקסונומיה או תיוג כל שהוא אחר.
      עדיף סקריפט שרץ בשעת אמת אבל אפשר להשתמש גם בסקריפט שפועל בהרצה עצמאית בכל פעם.
      בקיצור שהסקריפט ירוץ על כל הפוסטים ויתייג לי מה פתוח בנטפרי ומה לא.
      תודה מראש

      yzahnY תגובה 1 תגובה אחרונה תגובה ציטוט 0
      • yzahnY מנותק
        yzahn @משה בניית אתרים
        נערך לאחרונה על ידי yzahn

        @משה-בניית-אתרים אתה מבקש יותר מדי בפוסט אחד...
        אני אקח את עיקר הבקשה שקשור לפורום נטפרי והשאר אשאיר לך לשיעורי בית 🙂
        עיקר השאלה, "איך אוכל לזהות סטטוס של וידיאו בנטפרי?"

        אם יש לך את הכתובת של הוידיאו אפשר לקבל את הסטטוס שלו בנטפרי על ידי שליחת בקשה לכתובת של הוידיאו, במידה וזה פתוח תקבל סטטוס 200. במידה וזה חסום תקבל 418. כדי לקבל פרטים על החסימה אפשר לבדוק את ה-html של התשובה, הדף מכיל iframe והכתובת של ה-iframe מקודד בתוכו פרטים על החסימה.
        כמובן שבדיקה זו לא תעבוד אלא אם אתה מבצע אותה ברשת מסוננת של נטפרי.
        (דיברו פעם על API לקבל סטטוס של קישור בנטפרי ואם אני זוכר נכון המנהל לא רצה לאפשר את זה. עריכה: התכוונתי לזה)

        תגובה 1 תגובה אחרונה תגובה ציטוט 3
        • משה בניית אתריםמ מנותק
          משה בניית אתרים
          נערך לאחרונה על ידי משה בניית אתרים

          האמת שמספיק לי שיריץ את המספר לפי מזהה הוידאו בכל פוסט עם איזה תו מיוחד (#200 למשל) וכל השאר אוכל לעשות לבד לתייג באופן אוטומטי לפי ביטוי מיוחד.
          יש לי קוד php לאתר את מזהה הוידאו בכל מקום ולהמר אותו.
          עכשיו אני מגדיר שהוא נניח יוחלף ל[מקור]#200 (זה בפני עצמו צריך שיפוץ שהקוד יגיע למצב כזה).
          כיצד ניתן להריץ שאילתא בתוך הרשת של נטפרי? דהיינו כיצד להגדיר שהוא יתפוס רק את מזהי הוידאו הקשורים לנטפרי?

          עריכה: לאחר מכן חשבתי שאולי מספיק לי לקבל רשימה של כל מזהי הוידאו הפתוחים בנטפרי ולהריץ איזה דבר כל שהוא לפי הרשימה הזו בלבד.
          במידה ויש רשימה כזו אשמח לנסות ולראות.

          chvC תגובה 1 תגובה אחרונה תגובה ציטוט 0
          • chvC מנותק
            chv @משה בניית אתרים
            נערך לאחרונה על ידי

            @משה-בניית-אתרים נשמע שלא קראת את התשובה של @yzahn מעליך.. תקרא שוב ביתר עיון
            זה לא כזה מסובך

            בלוג | מייל

            תגובה 1 תגובה אחרונה תגובה ציטוט 0
            • משה בניית אתריםמ מנותק
              משה בניית אתרים
              נערך לאחרונה על ידי משה בניית אתרים

              מ"מ אם יש רשימה יש בידי כבר סקריפט מוכן בשביל להתמודד עם זה, וזה עדיף לי מלנסות לייצר סקריפט חדש. רק נשאר לי לבדוק אם הוא יצליח לעמוד בעומס של רשימה כזו.

              chvC תגובה 1 תגובה אחרונה תגובה ציטוט 0
              • chvC מנותק
                chv @משה בניית אתרים
                נערך לאחרונה על ידי

                @משה-בניית-אתרים אתה מדבר על סרטונים מיוטיוב או סתם סרטונים?

                בלוג | מייל

                משה בניית אתריםמ תגובה 1 תגובה אחרונה תגובה ציטוט 0
                • משה בניית אתריםמ מנותק
                  משה בניית אתרים @chv
                  נערך לאחרונה על ידי

                  @chv שיעורי תורה ביוטיוב.

                  chvC תגובה 1 תגובה אחרונה תגובה ציטוט 0
                  • chvC מנותק
                    chv @משה בניית אתרים
                    נערך לאחרונה על ידי

                    @משה-בניית-אתרים אוקיי אם כל הסרטונים הם מיוטיוב, תנסה לפנות לוידאו-טוב, ולבקש מהם רשימה כמו שהזכרת.
                    אמנם אני מסופק אם אכן יש להם את כל הסרטונים שפתוחים בנטפרי. אם הבנתי נכון זה מה שאמור להיות, השאלה אם זה כך במציאות.

                    בלוג | מייל

                    תגובה 1 תגובה אחרונה תגובה ציטוט 0
                    • משה בניית אתריםמ מנותק
                      משה בניית אתרים
                      נערך לאחרונה על ידי

                      ואגב, על הצד שהסקריפט הנ"ל לא יוכל לעמוד בעומס של כל הרשימה, אשמח לדעת באיזה דרך תוכל להריץ סקריפט שלא ברמת השרת?

                      chvC תגובה 1 תגובה אחרונה תגובה ציטוט 0
                      • chvC מנותק
                        chv @משה בניית אתרים
                        נערך לאחרונה על ידי

                        @משה-בניית-אתרים איך זה קשור לשרת? יש לך רשימה של מזהי וידאו שבאתר שלך?
                        תריץ עליהם (בכל מחשב או מה שלא יהיה) הצלבה מול הרשימה השניה (התיאורטית)

                        בלוג | מייל

                        תגובה 1 תגובה אחרונה תגובה ציטוט 0
                        • משה בניית אתריםמ מנותק
                          משה בניית אתרים
                          נערך לאחרונה על ידי

                          זה נמצא בתוך פוסטים בשרת במסד הנתונים. יש לך דרך להריץ עליהם את השאילתא?

                          תגובה 1 תגובה אחרונה תגובה ציטוט 0
                          • chvC מנותק
                            chv
                            נערך לאחרונה על ידי

                            @משה-בניית-אתרים אני חושב שיש כאן סוג של שיח חרשים.

                            אתה צריך להריץ על כל אחד מהכתובות של הסרטונים, בקשה (לדוגמא fetch) ואז פשוט - אם הסרטון פתוח תקבל סטטוס 200, אם סגור תקבל 418. כל מה שחסום על ידי נטפרי מתקבלת שגיאה בקונסול עם המספר 418 (והתיאור blocked by netfree).
                            הכי פשוט לך לקבל (מהמסד נתונים, איך שאתה אמור לדעת להוציא) את כל הכתובות של סרטוני יוטיוב שנמצאים באתר, להכניס אותם למערך, ולבצע משהו כזה:

                            var videos = ["כתובת 1", "כתובת 2", "וכו"]
                            Promise.all(videos.map(u=>fetch(u))).then(responses => responses.forEach(
                            response => console.log(`${response.url}: ${response.status}`)
                              ));
                            

                            כדי שזה יעבוד חלק תצטרך (אני משער שכבר יש לך) להכניס CORS (נגיד עם תוסף כגון זה בפיירפוקס).
                            תוכל לסנן כמובן, שרק אלו שמגיבים בסטטוס 418 יופיעו וכן הלאה.

                            בלוג | מייל

                            ב תגובה 1 תגובה אחרונה תגובה ציטוט 2
                            • ב מנותק
                              ב.ל @chv
                              נערך לאחרונה על ידי ב.ל

                              @chv
                              אני גם מתעניין בנושא וכמו שהצעתי כאן
                              ניסיתי לכתוב לזה סימנייה אך קיבלתי על הכל סטטוס 200 , גם מה שחסום

                              (()=>{  
                              let links = document.querySelectorAll('a');
                              for (const link of links) {
                                fetch(link.href)
                                .then((response)=>{return response.status})
                                .then((thestatus)=>{console.log(`הסטטוס הוא ${thestatus}`)}) 
                              } 
                              })()
                              
                              chvC תגובה 1 תגובה אחרונה תגובה ציטוט 0
                              • chvC מנותק
                                chv @ב.ל
                                נערך לאחרונה על ידי

                                @ב-ל יש לך בעיה בסיסית בקוד, הוא לא בנוי כמערך (או לפחות לא בצורה שאפשר להתנהל איתו בfetch וresponse) כמו כן לא הבנתי מאיפה מגיע thestatus.

                                תעשה קוד כזה - בערך - זה אמור לעבוד:

                                var array = [];
                                var links = document.getElementsByTagName("a");
                                for(var i=0; i<links.length; i++) {
                                    array.push(links[i].href);
                                }
                                Promise.all(array.map(u=>fetch(u))).then(responses => responses.forEach(
                                response => console.log(`${response.url}: ${response.status}`)
                                  ))
                                

                                כמו שכתבתי למעלה - מכאן אתה כבר יכול לסנן את כל התשובות 418 (נגיד במקום console.log וכו', אתה כותב -

                                if (response.status == "418") { 
                                // התראה או יצירת רשימה של הלינקים הבעייתים וכו
                                 }))
                                

                                זה לדוגמא)

                                צריך לדעת איך להחריג את הפרומיס משגיאות צדדיות - כגון חסימות של חוסמי פרסומות או הגנות מעקב וכו', שיצוד רק את הבקשות שקיבלו תשובות עם סטטוס. (זה חובה להשתמש כאן בפרומיס, כי יש המון תוצאות וצריך אותן במרוכז)
                                @yzahn אולי יש לך משהו לתרום בנידון.

                                בלוג | מייל

                                yzahnY תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                • yzahnY מנותק
                                  yzahn @chv
                                  נערך לאחרונה על ידי

                                  @chv אמר בכיצד אוכל לשאוב מידע על כל וידאו מראש אם הוא פתוח בנטפרי או לא:

                                  @ב-ל יש לך בעיה בסיסית בקוד, הוא לא בנוי כמערך (או לפחות לא בצורה שאפשר להתנהל איתו בfetch וresponse) כמו כן לא הבנתי מאיפה מגיע thestatus.

                                  זה לא פורום תכנות, אז לא אאריך אבל הקוד שלו בסדר גמור.
                                  יש בעיה להריץ את הבדיקה בדפדפן כי יש בעיית CORS.
                                  בתוסף לא יהיה הבעיה הזאת.

                                  ב תגובה 1 תגובה אחרונה תגובה ציטוט 2
                                  • ב מנותק
                                    ב.ל @yzahn
                                    נערך לאחרונה על ידי

                                    @yzahn אמר בכיצד אוכל לשאוב מידע על כל וידאו מראש אם הוא פתוח בנטפרי או לא:

                                    יש בעיה להריץ את הבדיקה בדפדפן כי יש בעיית CORS.

                                    אז למה הוא מביא על הכל סטטוס 200 ?

                                    yzahnY תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                    • yzahnY מנותק
                                      yzahn @ב.ל
                                      נערך לאחרונה על ידי yzahn

                                      @ב-ל על איזה דף הרצת את הקוד? ייתכן שהקישורים שלהם לא היה בעיית CORS היו באמת פתוחים

                                      ב תגובה 1 תגובה אחרונה תגובה ציטוט 1
                                      • ב מנותק
                                        ב.ל @yzahn
                                        נערך לאחרונה על ידי

                                        @yzahn
                                        נכון. התקנתי תוסף שמונע בעיית CORS וזה אכן עובד

                                        משה בניית אתריםמ תגובה 1 תגובה אחרונה תגובה ציטוט 1
                                        • משה בניית אתריםמ מנותק
                                          משה בניית אתרים @ב.ל
                                          נערך לאחרונה על ידי

                                          @ב-ל אמר בכיצד אוכל לשאוב מידע על כל וידאו מראש אם הוא פתוח בנטפרי או לא:

                                          נכון. התקנתי תוסף שמונע בעיית CORS וזה אכן עובד

                                          מה התוסף?

                                          ב תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                          • ב מנותק
                                            ב.ל @משה בניית אתרים
                                            נערך לאחרונה על ידי

                                            @משה-בניית-אתרים
                                            זה למשל
                                            https://chrome.google.com/webstore/detail/allow-cors-access-control/lhobafahddgcelffkeicbaginigeejlf/related
                                            ויש עוד הרבה, תחפש בחנות של גוגל

                                            תגובה 1 תגובה אחרונה תגובה ציטוט 1
                                            • פוסט ראשון
                                              פוסט אחרון