דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. עזרה בקוד פייתון

עזרה בקוד פייתון

מתוזמן נעוץ נעול הועבר תכנות
3 פוסטים 2 כותבים 172 צפיות 2 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • אף אחד 3א מנותק
    אף אחד 3א מנותק
    אף אחד 3
    כתב ב נערך לאחרונה על ידי אף אחד 3
    #1

    אני כותב סקריפט שמוריד פודקאסטים מפיד RSS
    הוספתי בסקריפט דילוג על פרקים שכבר הורדו בעבר - כל קישור לפרק נכתב לקובץ לוג ואז לפני כל הורדה של פרק יש בדיקה אם הקישור אליו מופיע בלוג
    משום מה החלק הזה לא עובד לי והסקריפט מוריד בכל אופן (הוא אפילו לא נכנס ל if)
    הקטע הלא תקין הוא בשורות 36 - 41

    #imports required libraries
    import feedparser
    import requests
    import os
    
    #get user inputs
    pod_link = input("rss feed link : ")
    max_loop = input("The maximum number of podcasts to download : ")
    
    #parsing the rss file
    print("parsing the rss file...")
    feed = feedparser.parse(pod_link)
    
    #validating the feed
    if feed['feed'] == {}:
        raise RuntimeError("Something bad happened")
    
    #initialize the counter
    loop = 0
    
    #preparing the log file
    pod_list = open("pod_list.lst", 'w')
    pod_list.write("list of all podcasts links" + '\n')
    
    #starts working
    for entry in feed.entries:
        if loop == int(max_loop):
            break
        else:
            print("downloading podcast number " + str(loop+1))
            link = entry.links[0]
            pod_title = entry.title
            link1 = link["href"]
    
            #check the log for existing podcasts
            with open("pod_list.lst", 'r') as f:
                content = f.read()
                if link1 in content:
                    print("skipping podcast number " + str(loop+1))
                    continue
                else:
                    pod_list = open("pod_list.lst", 'a')
                    pod_list.write(link1 + '\n')
                    podcast = requests.get(link1)
                    open(pod_title + ".mp3", 'wb').write(podcast.content)
                    loop += 1
    
    #closing the log file
    pod_list.close()
    
    
    A תגובה 1 תגובה אחרונה
    0
    • אף אחד 3א אף אחד 3

      אני כותב סקריפט שמוריד פודקאסטים מפיד RSS
      הוספתי בסקריפט דילוג על פרקים שכבר הורדו בעבר - כל קישור לפרק נכתב לקובץ לוג ואז לפני כל הורדה של פרק יש בדיקה אם הקישור אליו מופיע בלוג
      משום מה החלק הזה לא עובד לי והסקריפט מוריד בכל אופן (הוא אפילו לא נכנס ל if)
      הקטע הלא תקין הוא בשורות 36 - 41

      #imports required libraries
      import feedparser
      import requests
      import os
      
      #get user inputs
      pod_link = input("rss feed link : ")
      max_loop = input("The maximum number of podcasts to download : ")
      
      #parsing the rss file
      print("parsing the rss file...")
      feed = feedparser.parse(pod_link)
      
      #validating the feed
      if feed['feed'] == {}:
          raise RuntimeError("Something bad happened")
      
      #initialize the counter
      loop = 0
      
      #preparing the log file
      pod_list = open("pod_list.lst", 'w')
      pod_list.write("list of all podcasts links" + '\n')
      
      #starts working
      for entry in feed.entries:
          if loop == int(max_loop):
              break
          else:
              print("downloading podcast number " + str(loop+1))
              link = entry.links[0]
              pod_title = entry.title
              link1 = link["href"]
      
              #check the log for existing podcasts
              with open("pod_list.lst", 'r') as f:
                  content = f.read()
                  if link1 in content:
                      print("skipping podcast number " + str(loop+1))
                      continue
                  else:
                      pod_list = open("pod_list.lst", 'a')
                      pod_list.write(link1 + '\n')
                      podcast = requests.get(link1)
                      open(pod_title + ".mp3", 'wb').write(podcast.content)
                      loop += 1
      
      #closing the log file
      pod_list.close()
      
      
      A מנותק
      A מנותק
      aaron
      כתב ב נערך לאחרונה על ידי
      #2

      @אף-אחד-3 כתב בעזרה בקוד פייתון:

      pod_list = open("pod_list.lst", 'w')

      אתה פותח את הקובץ כל ריצה במצב כתיבה וכותב לתוכו, זה אומר שהוא נדרס בכל ריצה מחדש.

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

      aaron.tchumim@gmail.com
      Hetzner - שרתים וירטואליים ופיזיים במחירים מעולים (קישור שותפים)

      ווצאפ API - תיעוד שירות API לא רשמי.

      אף אחד 3א תגובה 1 תגובה אחרונה
      5
      • A aaron

        @אף-אחד-3 כתב בעזרה בקוד פייתון:

        pod_list = open("pod_list.lst", 'w')

        אתה פותח את הקובץ כל ריצה במצב כתיבה וכותב לתוכו, זה אומר שהוא נדרס בכל ריצה מחדש.

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

        אף אחד 3א מנותק
        אף אחד 3א מנותק
        אף אחד 3
        כתב ב נערך לאחרונה על ידי
        #3

        @aaron היו בקוד הזה כמה וכמה בעיות, זה הקוד הסופי

        #imports required libraries
        import feedparser
        import requests
        import os
         
        #get user inputs
        pod_link = input("rss feed link : ")
        max_loop = input("The maximum number of podcasts to download : ")
         
        #parsing the rss file
        print("parsing the rss file...")
        feed = feedparser.parse(pod_link)
         
        #validating the feed
        if feed['feed'] == {}:
            raise RuntimeError("Something bad happened")
         
        #initialize the counter
        loop = 0
         
        #preparing the log file
        if not os.path.exists("pod_list.lst"):
            f = open("pod_list.lst", 'w')
            f.close()
        pod_list = open("pod_list.lst", 'r+')
        pod_list.write("new session" + '\n')
        content = pod_list.read()
        current_pods = []
         
        #starts working
        for entry in feed.entries:
            link = entry.links[0]
            link1 = link["href"]
            pod_title = entry.title
            if not loop == int(max_loop):
                if link1 in content:
                    print("skipping podcast number" + str(loop+1))
                    loop += 1
                    continue
                else:
                    print("downloading podcast number " + str(loop+1))
                    podcast = requests.get(link1)
                    open(pod_title + ".mp3", 'wb').write(podcast.content)
                    current_pods += link1+'\n'
            else:
                break
        
            loop += 1
        
        with open("pod_list.lst", 'a') as f:
            for line in current_pods:
                f.write(f"{line}")
        
        תגובה 1 תגובה אחרונה
        2
        תגובה
        • תגובה כנושא
        התחברו כדי לפרסם תגובה
        • מהישן לחדש
        • מהחדש לישן
        • הכי הרבה הצבעות


        בא תתחבר לדף היומי!
        • התחברות

        • אין לך חשבון עדיין? הרשמה

        • התחברו או הירשמו כדי לחפש.
        • פוסט ראשון
          פוסט אחרון
        0
        • דף הבית
        • קטגוריות
        • פוסטים אחרונים
        • משתמשים
        • חיפוש
        • חוקי הפורום