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

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

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

אשמח לעזרה בקוד פייתון

מתוזמן נעוץ נעול הועבר תכנות
36 פוסטים 7 כותבים 980 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • AndroidA מנותק
    AndroidA מנותק
    Android
    כתב ב נערך לאחרונה על ידי Android
    #1

    למה זה מוציא לי שגיאה?
    מה שאני מנסה לעשות זה להוריד באופן אוטומטי את כל הגיליונות שיצאו עד כה מהאתר digital whisper (זה חלק מתרגיל שאני אמור לפתור)
    אשמח לעזרה

    for doc_number in range(1, 143):
        for hexnum in [0, 1, 2, 3, 4, 5, 6, 7, 8]:
            for hexnum2 in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "A", "B", "C", "D", "E", "F"]:
                hex_number = f"{hexnum}{hexnum2}"
                url = requests.get(f"http://digitalwhisper.co.il/files/Zines/0x{hex_number}/DigitalWhisper{doc_number}.pdf")
                doc_net = BeautifulSoup(url.text)
                with open(fr"C:\Users\h\Desktop\issues\{doc_number}", "w") as file_net:
                    file_net.write(f"{doc_net}")
    
    
    י yossizY 2 תגובות תגובה אחרונה
    0
    • י מנותק
      י מנותק
      יוסף בן שמעון
      השיב לAndroid ב נערך לאחרונה על ידי
      #2

      @Android כדי שיודעי הפייתון יוכלו לעזור, כדאי שתעתיק את הקוד ואת השגיאה כטקסט חי ולא כתמונה

      תגובה 1 תגובה אחרונה
      3
      • yossizY מנותק
        yossizY מנותק
        yossiz
        השיב לAndroid ב נערך לאחרונה על ידי yossiz
        #3

        יראתי בפצותי שיח...
        האם תיפגע אם במקום לענות לך תשובה על השאלה אני מבקר את השאלה?
        מקווה שלא...

        א. תמונה של טקסט במקום הטקסט עצמו מקשה על העונים, תמיד תעתיק את הטקסט במקום להביא תמונה של הטקסט, אם התמונה אמור לעזור אז אפשר להביא אותו בנוסף
        ב. אתה מבקש ממנו לעשות בשבילך את כל העבודה השחורה, זה לא הוגן
        אתה אמור לעשות את החלק המקדים ולהביא שאלה מסודרת
        זה אומר, לבודד את הבעיה, כלומר, אל תביא את כל הקוד, זה מחייב אותנו לעבור על הכל כדי לנסות להבין איזה חלק גורם לבעיה, יש הרבה קוד שלא קשור כלל
        שאלה טובה מבודדת את הבעיה ומביאה רק את החלק שקשורה לשאלה
        ג. האם אתה לא חושב שחיפוש גוגל היה מביא לך את התשובה?
        נראה לי שאם היית מבודד באמת את השאלה, זה היה גם מבהיר לך מה אתה שואל, והיית מצליח לחפש תשובה.
        ברור שאם תשאל את גוגל על הורדת גליונות digital whisper לא תקבל תשובה קשורה,
        אבל אם מורידים את כל מה שלא קשור, תבין שזה שבמקרה מדובר בגליונות מגזין לא קשור כלל לנושא, והדבר היחיד שבאמת קשור זה המידע הבא:
        קריאה ל-requests.get נכשלת בגלל: OSError: [WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions

        אגב, אם המספר הכי גבוה בצופן הוא 128 למה אתה חושב שזה קשור לגליונות דיג׳יטל וויספר? 😉

        אגב2, למרות שזה לא קשור לשגיאה שלך לכאורה, אבל הקוד ממש לא נראה תקין כלל. האם באמת התכוונת לעשות לולאה שרצה 143 * 9 * 16 פעמים??

        📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

        AndroidA תגובה 1 תגובה אחרונה
        9
        • AndroidA מנותק
          AndroidA מנותק
          Android
          השיב לyossiz ב נערך לאחרונה על ידי Android
          #4

          @yossiz כתב באשמח לעזרה בקוד פייתון:

          האם תיפגע אם במקום לענות לך תשובה על השאלה אני מבקר את השאלה?

          קודם כל לא! כי אני יודע שאני לא מתכנת אלא רק לומד כמה נושאים בפייתון שישמשו אותי לסייבר

          ב. אתה מבקש ממנו לעשות בשבילך את כל העבודה השחורה, זה לא הוגן

          אני מצטער אבל אני לא מספיק יודע כדי לבודד את הבעיה (או שלמה אתה מתכוון?)

          OSError: [WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions

          שזה אומר?

          אגב, אם המספר הכי גבוה בצופן הוא 128 למה אתה חושב שזה קשור לגליונות דיג׳יטל וויספר?

          לא הבנתי מה כוותך

          @yossiz כתב באשמח לעזרה בקוד פייתון:

          האם באמת התכוונת לעשות לולאה שרצה 143 * 9 * 16 פעמים??

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

          yossizY תגובה 1 תגובה אחרונה
          3
          • yossizY מנותק
            yossizY מנותק
            yossiz
            השיב לAndroid ב נערך לאחרונה על ידי
            #5

            @Android קודם כל, כל הכבוד על היחס החיובי שלך לביקורת 🙂

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

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

            @Android כתב באשמח לעזרה בקוד פייתון:

            שזה אומר?

            גם אני לא יודע לענות בדיוק...

            @Android כתב באשמח לעזרה בקוד פייתון:

            לא הבנתי מה כוותך

            עשיתי ניחוש כלשהו וכנראה טעיתי... חשבתי שאתה מנסה לפתור את זה (ועיי״ש בהערות)

            @Android כתב באשמח לעזרה בקוד פייתון:

            מצטער

            אין מה להתנצל לי, זה לא כאב לי כל כך כמו שאולי נשמע מהביקורת שלי... 🙂

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

            📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

            AndroidA מ 2 תגובות תגובה אחרונה
            2
            • yossizY מנותק
              yossizY מנותק
              yossiz
              כתב ב נערך לאחרונה על ידי yossiz
              #6

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

              📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

              AndroidA תגובה 1 תגובה אחרונה
              0
              • AndroidA מנותק
                AndroidA מנותק
                Android
                השיב לyossiz ב נערך לאחרונה על ידי
                #7

                @yossiz תודה רבה לך!
                אל תטרח יותר מידי מחר אני אשאל את המרצה שלי...
                אגב אני הבנתי שזה קשור למודול requests אבל הוא נתן שגיאות מהקבצים של המודול וזה לא משהו שאני מבין...
                לילה טוב ושוב תודה

                yossizY תגובה 1 תגובה אחרונה
                0
                • AndroidA מנותק
                  AndroidA מנותק
                  Android
                  השיב לyossiz ב נערך לאחרונה על ידי
                  #8

                  @yossiz כתב באשמח לעזרה בקוד פייתון:

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

                  לא עובד

                  תגובה 1 תגובה אחרונה
                  0
                  • yossizY מנותק
                    yossizY מנותק
                    yossiz
                    השיב לAndroid ב נערך לאחרונה על ידי yossiz
                    #9

                    @Android כנראה שהמרצה שלך עושה פחות בעיות מהזקנים הממורמרים של תחומים 😛

                    תעדכן אותנו בתשובה בבקשה!

                    📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                    AndroidA תגובה 1 תגובה אחרונה
                    6
                    • AndroidA מנותק
                      AndroidA מנותק
                      Android
                      השיב לyossiz ב נערך לאחרונה על ידי
                      #10

                      @yossiz כתב באשמח לעזרה בקוד פייתון:

                      תעדכן אותנו בתשובה בבקשה!

                      בתשובה של מה? של התרגיל?

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

                      yossizY תגובה 1 תגובה אחרונה
                      0
                      • yossizY מנותק
                        yossizY מנותק
                        yossiz
                        השיב לAndroid ב נערך לאחרונה על ידי
                        #11

                        @Android התכוונתי התשובה של מה גורם לשגיאה הזאת

                        📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                        AndroidA תגובה 1 תגובה אחרונה
                        1
                        • AndroidA מנותק
                          AndroidA מנותק
                          Android
                          השיב לyossiz ב נערך לאחרונה על ידי
                          #12

                          @yossiz כתב באשמח לעזרה בקוד פייתון:

                          @Android התכוונתי התשובה של מה גורם לשגיאה הזאת

                          לדעתי אני יעזוב את הכיוון הזה וינסה בכיוון השני (👆)
                          אבל יכול להיות שבגלל שבכתובת url שנתתי לו יש.pdf אז הוא מסתבך עם זה

                          yossizY תגובה 1 תגובה אחרונה
                          0
                          • yossizY מנותק
                            yossizY מנותק
                            yossiz
                            השיב לAndroid ב נערך לאחרונה על ידי
                            #13

                            @Android אם כבר, אז אעיר גם כן שבקוד שלך אתה ניגש ישירות ל-PDF של הגליון אם כן אין צורך וגם אי אפשר להשתמש ב-BeautifulSoup שמיועד לניתוח HTML

                            📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                            AndroidA תגובה 1 תגובה אחרונה
                            3
                            • AndroidA מנותק
                              AndroidA מנותק
                              Android
                              השיב לyossiz ב נערך לאחרונה על ידי Android
                              #14

                              @yossiz גם זה נכון, לא יודע בשביל מה עשיתי את זה 🤔
                              משום מה גם זה לא עובד

                              url = requests.get(f"http://digitalwhisper.co.il/files/Zines/0x08/DigitalWhisper8.pdf")
                              with open(fr"C:\Users\h\Desktop\issues\8", "w") as file_net:
                                  file_net.write(f"{url.text}")
                              
                              yossizY תגובה 1 תגובה אחרונה
                              0
                              • yossizY מנותק
                                yossizY מנותק
                                yossiz
                                השיב לAndroid ב נערך לאחרונה על ידי yossiz
                                #15

                                @Android אצלי הקוד לא זורק שגיאות
                                ה-PDF אומנם לא נשמר תקין, מן הסתם כי משהו משתבש בהמרה של בינארי למחרוזת, תשתמש ב-content במקום text

                                with open(fr"C:\Users\h\Desktop\issues\8", "wb") as file_net:
                                     file_net.write(url.content)
                                

                                📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                                AndroidA תגובה 1 תגובה אחרונה
                                0
                                • AndroidA מנותק
                                  AndroidA מנותק
                                  Android
                                  השיב לyossiz ב נערך לאחרונה על ידי Android
                                  #16

                                  @yossiz
                                  ניסיתי את זה וזה זורק את אותן השגיאות

                                  url = requests.get(f"http://digitalwhisper.co.il/files/Zines/0x08/DigitalWhisper8.pdf")
                                  with open(fr"C:\Users\h\Desktop\issues\8", "wb") as file_net:
                                      file_net.write(url.content)
                                  
                                  צדיק תמיםצ תגובה 1 תגובה אחרונה
                                  0
                                  • צדיק תמיםצ מנותק
                                    צדיק תמיםצ מנותק
                                    צדיק תמים
                                    השיב לAndroid ב נערך לאחרונה על ידי צדיק תמים
                                    #17

                                    @Android כתב באשמח לעזרה בקוד פייתון:

                                    @yossiz
                                    ניסיתי את זה וזה זורק את אותן השגיאות

                                    url = requests.get(f"http://digitalwhisper.co.il/files/Zines/0x08/DigitalWhisper8.pdf")
                                    with open(fr"C:\Users\h\Desktop\issues\8", "wb") as file_net:
                                        file_net.write(url.content)
                                    

                                    שהן? עברתי על השרשור ולא ראיתי שהבאת בצורה ברורה קוד + פלט שגיאה, רק ציטוטים של @yossiz על הגרסה הראשונית של הקוד
                                    כיוון שאינני יודע מה השגיאה, אני יכול לומר רק שהקוד הזה עובד ומוריד את קובץ הPDF לשולחן העבודה:

                                    import requests
                                    url = requests.get(f"http://digitalwhisper.co.il/files/Zines/0x08/DigitalWhisper8.pdf")
                                    with open(fr"C:\Users\shlomo\Desktop\DigitalWhisper8.pdf", "wb") as file_net: file_net.write(url.content)
                                    

                                    עריכה: נראה שהעברת לopen נתיב לתקיה ולא נתיב מלא (תקיה + שם קובץ), ואם כן אני מנחש שקיבלת שגיאת IsADirectoryError: [Errno 21] Is a directory. אני צודק?

                                    Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
                                    טיפים

                                    AndroidA 2 תגובות תגובה אחרונה
                                    0
                                    • AndroidA מנותק
                                      AndroidA מנותק
                                      Android
                                      השיב לצדיק תמים ב נערך לאחרונה על ידי
                                      #18

                                      @צדיק-תמים בהתחלה הייתה תמונה אבל היא הוסרה
                                      d40641c0-35ff-4f9a-a7fd-4c3b49ddefdd-image.png

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

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

                                        import requests
                                        url = requests.get(f"http://digitalwhisper.co.il/files/Zines/0x08/DigitalWhisper8.pdf")
                                        with open(fr"C:\Users\shlomo\Desktop\DigitalWhisper8.pdf", "wb") as file_net: file_net.write(url.content)

                                        עכשיו ניסיתי את זה וזה לא עובד לי, מוזר 🤔

                                        אלה השגיאות:

                                        Traceback (most recent call last):
                                          File "C:\Users\h\Desktop\Python\pythonProject\venv\lib\site-packages\urllib3\connectionpool.py", line 703, in urlopen
                                            httplib_response = self._make_request(
                                          File "C:\Users\h\Desktop\Python\pythonProject\venv\lib\site-packages\urllib3\connectionpool.py", line 386, in _make_request
                                            self._validate_conn(conn)
                                          File "C:\Users\h\Desktop\Python\pythonProject\venv\lib\site-packages\urllib3\connectionpool.py", line 1040, in _validate_conn
                                            conn.connect()
                                          File "C:\Users\h\Desktop\Python\pythonProject\venv\lib\site-packages\urllib3\connection.py", line 414, in connect
                                            self.sock = ssl_wrap_socket(
                                          File "C:\Users\h\Desktop\Python\pythonProject\venv\lib\site-packages\urllib3\util\ssl_.py", line 449, in ssl_wrap_socket
                                            ssl_sock = _ssl_wrap_socket_impl(
                                          File "C:\Users\h\Desktop\Python\pythonProject\venv\lib\site-packages\urllib3\util\ssl_.py", line 493, in _ssl_wrap_socket_impl
                                            return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
                                          File "C:\Users\h\AppData\Local\Programs\Python\Python310\lib\ssl.py", line 512, in wrap_socket
                                            return self.sslsocket_class._create(
                                          File "C:\Users\h\AppData\Local\Programs\Python\Python310\lib\ssl.py", line 1070, in _create
                                            self.do_handshake()
                                          File "C:\Users\h\AppData\Local\Programs\Python\Python310\lib\ssl.py", line 1341, in do_handshake
                                            self._sslobj.do_handshake()
                                        ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)
                                        
                                        During handling of the above exception, another exception occurred:
                                        
                                        Traceback (most recent call last):
                                          File "C:\Users\h\Desktop\Python\pythonProject\venv\lib\site-packages\requests\adapters.py", line 440, in send
                                            resp = conn.urlopen(
                                          File "C:\Users\h\Desktop\Python\pythonProject\venv\lib\site-packages\urllib3\connectionpool.py", line 785, in urlopen
                                            retries = retries.increment(
                                          File "C:\Users\h\Desktop\Python\pythonProject\venv\lib\site-packages\urllib3\util\retry.py", line 592, in increment
                                            raise MaxRetryError(_pool, url, error or ResponseError(cause))
                                        urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='www.digitalwhisper.co.il', port=443): Max retries exceeded with url: /files/Zines/0x08/DigitalWhisper8.pdf (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)')))
                                        
                                        During handling of the above exception, another exception occurred:
                                        
                                        Traceback (most recent call last):
                                          File "C:\Users\h\desktop\python\pythonProject\BeautifulSoup4.py", line 10, in <module>
                                            url = requests.get("http://digitalwhisper.co.il/files/Zines/0x08/DigitalWhisper8.pdf")
                                          File "C:\Users\h\Desktop\Python\pythonProject\venv\lib\site-packages\requests\api.py", line 75, in get
                                            return request('get', url, params=params, **kwargs)
                                          File "C:\Users\h\Desktop\Python\pythonProject\venv\lib\site-packages\requests\api.py", line 61, in request
                                            return session.request(method=method, url=url, **kwargs)
                                          File "C:\Users\h\Desktop\Python\pythonProject\venv\lib\site-packages\requests\sessions.py", line 529, in request
                                            resp = self.send(prep, **send_kwargs)
                                          File "C:\Users\h\Desktop\Python\pythonProject\venv\lib\site-packages\requests\sessions.py", line 667, in send
                                            history = [resp for resp in gen]
                                          File "C:\Users\h\Desktop\Python\pythonProject\venv\lib\site-packages\requests\sessions.py", line 667, in <listcomp>
                                            history = [resp for resp in gen]
                                          File "C:\Users\h\Desktop\Python\pythonProject\venv\lib\site-packages\requests\sessions.py", line 237, in resolve_redirects
                                            resp = self.send(
                                          File "C:\Users\h\Desktop\Python\pythonProject\venv\lib\site-packages\requests\sessions.py", line 645, in send
                                            r = adapter.send(request, **kwargs)
                                          File "C:\Users\h\Desktop\Python\pythonProject\venv\lib\site-packages\requests\adapters.py", line 517, in send
                                            raise SSLError(e, request=request)
                                        requests.exceptions.SSLError: HTTPSConnectionPool(host='www.digitalwhisper.co.il', port=443): Max retries exceeded with url: /files/Zines/0x08/DigitalWhisper8.pdf (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)')))
                                        
                                        
                                        צדיק תמיםצ אף אחד 3א 2 תגובות תגובה אחרונה
                                        0
                                        • צדיק תמיםצ מנותק
                                          צדיק תמיםצ מנותק
                                          צדיק תמים
                                          השיב לAndroid ב נערך לאחרונה על ידי
                                          #20

                                          @Android נטפרי? התקנת תעודת אבטחה עבור ספריית requests?

                                          Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
                                          טיפים

                                          AndroidA תגובה 1 תגובה אחרונה
                                          5

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

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

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