דילוג לתוכן
  • חוקי הפורום
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
לוגו מותג
  1. דף הבית
  2. כללי - עזרה הדדית
  3. בירור | שמירת סיפור מהאינטרנט לקובץ pdf

בירור | שמירת סיפור מהאינטרנט לקובץ pdf

מתוזמן נעוץ נעול הועבר נפתר כללי - עזרה הדדית
58 פוסטים 9 כותבים 1.5k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • ה מנותק
    ה מנותק
    הייתי שמח להבין
    השיב לנחמן פלח ב נערך לאחרונה על ידי
    #38

    @נחמן-פלח הדפסתי ל-PDF עמוד עמוד, ומיזגתי את הכל לקובץ אחד.

    נ תגובה 1 תגובה אחרונה
    0
    • נ מנותק
      נ מנותק
      נחמן פלח
      השיב להייתי שמח להבין ב נערך לאחרונה על ידי
      #39

      @הייתי-שמח-להבין אתה צריך לשמוח.
      למה?! כי השם משתמש זה הייתי שמח להבין והבנת!! ואם הבנת גם את זה אז תשמח עוד יותר

      היי

      תגובה 1 תגובה אחרונה
      1
      • ה מנותק
        ה מנותק
        הייתי שמח להבין
        השיב להייתי שמח להבין ב נערך לאחרונה על ידי
        #40

        @הייתי-שמח-להבין כתב בבירור | שמירת סיפור מהאינטרנט לקובץ pdf:

        @משה-שמחה כתב בבירור | שמירת סיפור מהאינטרנט לקובץ pdf:

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

        ערכתי בינתיים 2 קבצי PDF המכילים כל אחד 20 עמודים, העליתי אותם לדרייב, והם ניתנים להורדה.
        קובץ 1- https://drive.google.com/******file/d/1Feg5cgVR-NISKegPONmc7LU1H1icWSBQ/view?usp=sharing
        קובץ 2- https://drive.google.com/file/d/******1sXbURp416YW62Bc_3XEmMbw-7feSRh6m/view?usp=sharing
        להסיר כוכביות מהקישורים, אם עדיין יש צורך לערוך עוד תכתוב לי.

        sivan22S מ 2 תגובות תגובה אחרונה
        2
        • sivan22S מנותק
          sivan22S מנותק
          sivan22
          השיב להייתי שמח להבין ב נערך לאחרונה על ידי sivan22
          #41

          @הייתי-שמח-להבין הנה קוד שיעשה במקומך את כל העבודה:

          from base64 import b64decode
          import os
          import time
          from selenium import webdriver
          from selenium.webdriver.chrome.service import Service
          from webdriver_manager.chrome import ChromeDriverManager
          from selenium.webdriver.common.print_page_options import PrintOptions, Orientation
          
          # some tweaks to bypass bot detection
          options = webdriver.ChromeOptions()
          options.add_experimental_option("excludeSwitches", ["enable-automation"])
          options.add_experimental_option('useAutomationExtension', False)
          options.add_argument("--disable-blink-features=AutomationControlled")
          options.page_load_strategy = 'normal'
          options.headless = True
          
          
          
          # initialise webdriver
          driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()),options=options)
          #driver = webdriver.Chr
          
          
          for i in range(1,123):
              driver.get("https://online.fliphtml5.com/nejge/kkyl/#p="+str(i))
              time.sleep(1)
            
          #save the page to disk
              printOptions = PrintOptions()
              printOptions.orientation="landscape"
              open(str(i)+".pdf", "wb").write(b64decode(driver.print_page(printOptions)))
          
          
          # after scraping all pages, merge them with pypdf
          from pypdf import PdfMerger
          
          files = os.listdir()
          pdfs = [s for s in files if '.pdf' in s]
          #sorting the file names by number - not alphabethic
          def forSorting(s)->int:
              s=s.split('.')[0]
              return int(s)
          pdfs.sort(key=forSorting)
          
          merger = PdfMerger()
          
          for pdf in pdfs:
              merger.append(pdf)
          
          merger.write("result.pdf")
          merger.close()
          
          
          
          
          

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

          נ ה י 3 תגובות תגובה אחרונה
          7
          • sivan22S מנותק
            sivan22S מנותק
            sivan22
            השיב למשה שמחה ב נערך לאחרונה על ידי
            #42

            @משה-שמחה כתב בבירור | שמירת סיפור מהאינטרנט לקובץ pdf:

            יש כאן סיפור בהמשכים יש דרך לשמור את כל הסיפור כקובץ pdf לקריאה אופליין?

            התשובה בפוסט הקודם.

            תגובה 1 תגובה אחרונה
            1
            • מ מנותק
              מ מנותק
              משה שמחה
              השיב להייתי שמח להבין ב נערך לאחרונה על ידי
              #43

              @הייתי-שמח-להבין כתב בבירור | שמירת סיפור מהאינטרנט לקובץ pdf:

              ערכתי בינתיים 2 קבצי PDF המכילים כל אחד 20 עמודים, העליתי אותם לדרייב, והם ניתנים להורדה.

              תודה רבה, עכשיו אני יהיה באמצע המתח.

              @sivan22 כתב בבירור | שמירת סיפור מהאינטרנט לקובץ pdf:

              והוא אכן עשה את העבודה, הנה התוצאה:
              result.pdf

              בינתיים חסום בנטפרי, שלחתי בקשה לבדיקה.

              תגובה 1 תגובה אחרונה
              0
              • נ מנותק
                נ מנותק
                נחמן פלח
                השיב לsivan22 ב נערך לאחרונה על ידי
                #44

                @sivan22 איך משתמשים בזה זה נראה מסבך מה עושים עם זה

                היי

                sivan22S תגובה 1 תגובה אחרונה
                0
                • sivan22S מנותק
                  sivan22S מנותק
                  sivan22
                  השיב לנחמן פלח ב נערך לאחרונה על ידי
                  #45

                  @נחמן-פלח זה משתמש בכרום שלך, כדי לגלוש באינטרנט ולעשות כל דבר שיעלה בדעתך באמצעות קוד בפייתון (או בשפות אחרות).
                  תיעוד https://www.selenium.dev/documentation/webdriver/

                  נ תגובה 1 תגובה אחרונה
                  0
                  • נ מנותק
                    נ מנותק
                    נחמן פלח
                    השיב לsivan22 ב נערך לאחרונה על ידי
                    #46

                    @sivan22 סינית בשבילי תכלס אני רוצה להשתמש בזה איך אפשר

                    היי

                    תגובה 1 תגובה אחרונה
                    1
                    • ה מנותק
                      ה מנותק
                      הייתי שמח להבין
                      השיב לsivan22 ב נערך לאחרונה על ידי
                      #47

                      @sivan22 כתב בבירור | שמירת סיפור מהאינטרנט לקובץ pdf:

                      @הייתי-שמח-להבין הנה קוד שיעשה במקומך את כל העבודה:

                      from base64 import b64decode
                      import os
                      import time
                      from selenium import webdriver
                      from selenium.webdriver.chrome.service import Service
                      from webdriver_manager.chrome import ChromeDriverManager
                      from selenium.webdriver.common.print_page_options import PrintOptions, Orientation
                      
                      # some tweaks to bypass bot detection
                      options = webdriver.ChromeOptions()
                      options.add_experimental_option("excludeSwitches", ["enable-automation"])
                      options.add_experimental_option('useAutomationExtension', False)
                      options.add_argument("--disable-blink-features=AutomationControlled")
                      options.page_load_strategy = 'normal'
                      options.headless = True
                      
                      
                      
                      # initialise webdriver
                      driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()),options=options)
                      #driver = webdriver.Chr
                      
                      
                      for i in range(1,123):
                          driver.get("https://online.fliphtml5.com/nejge/kkyl/#p="+str(i))
                          time.sleep(1)
                        
                      #save the page to disk
                          printOptions = PrintOptions()
                          printOptions.orientation="landscape"
                          open(str(i)+".pdf", "wb").write(b64decode(driver.print_page(printOptions)))
                      
                      
                      # after scraping all pages, merge them with pypdf
                      from pypdf import PdfMerger
                      
                      files = os.listdir()
                      pdfs = [s for s in files if '.pdf' in s]
                      #sorting the file names by number - not alphabethic
                      def forSorting(s)->int:
                          s=s.split('.')[0]
                          return int(s)
                      pdfs.sort(key=forSorting)
                      
                      merger = PdfMerger()
                      
                      for pdf in pdfs:
                          merger.append(pdf)
                      
                      merger.write("result.pdf")
                      merger.close()
                      
                      
                      
                      
                      

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

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

                      sivan22S תגובה 1 תגובה אחרונה
                      2
                      • sivan22S מנותק
                        sivan22S מנותק
                        sivan22
                        השיב להייתי שמח להבין ב נערך לאחרונה על ידי
                        #48

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

                        ראשית יש להתקין פייתון כמובן. כדאי להקפיד לסמן בוי את האפשרות להגדיר PATH.
                        שנית יש להתקין את שתי הספריות הבאות:

                        pip install selenium webdriver-manager
                        

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

                        נפתח קובץ פייתון חדש בשם surfMitmachimSelenium.py או כל שם מפוצץ אחר.

                        נתחיל בייבוא הספריות:

                        from selenium import webdriver
                        from selenium.webdriver.chrome.service import Service
                        from webdriver_manager.chrome import ChromeDriverManager
                        from selenium.webdriver.common.by import By
                        

                        אחר כך נוריד אוטומטית דרייבר לדפדפן כרום:

                        driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
                        

                        בתקווה שאין שגיאות (חסימה בנטפרי וכדו'), נמשיך לשורה הבאה: נגלוש באתר מתמחים.

                        driver.get("https://mitmachim.top/")
                        

                        כך נראה הדפדפן כרגע:
                        20457f93-3785-4b4c-bdb4-9e5dc7fd9ccb-image.png

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

                        driver.implicitly_wait(2)
                        

                        אנחנו רוצים להיכנס לקטגוריה "כללי עזרה הדדית", אז אנחנו צריכים למצוא את הכתובת שלו במקור הדף בhtml.
                        אז כמובן לוחצים f12. לחיצה ימנית -> בדיקה ->לחיצה ימנית על הhtml -> העתק -> העתק נתיב xpath
                        צילום מסך:
                        de1b1d7c-ed98-479a-95ab-5a5c380d8183-image.png

                        יופי, עכשיו נמצא את האובייקט הדרוש לפי הכתובת שלו:

                        element = driver.find_element(By.XPATH,"/html/body/div[1]/main/div[2]/div/div[2]/div[1]/ul/li[9]/div[1]/div[2]/h2/a")
                        
                        

                        נשים לב שהכתובת היא מה שהעתקנו מקודם.
                        נלחץ על השורה שמצאנו:

                        element.click()
                        

                        8f719b5b-10c8-4267-bf1e-1009a70775a4-image.png

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

                        element = driver.find_element(By.PARTIAL_LINK_TEXT,"pdf")
                        element.click()
                        

                        1d9445ee-4f39-43fb-b8f6-44fd7ab8ae0e-image.png

                        זהו לבינתיים, בהצלחה ענקית.

                        ה תגובה 1 תגובה אחרונה
                        3
                        • ה מנותק
                          ה מנותק
                          הייתי שמח להבין
                          השיב לsivan22 ב נערך לאחרונה על ידי
                          #49

                          @sivan22 לא זכיתי להבין למה ההדגמה הנ"ל משמשת, מה המטרה? להגיע למתמחים טופ אפשר ישירות עם הדפדפן.

                          sivan22S תגובה 1 תגובה אחרונה
                          0
                          • sivan22S מנותק
                            sivan22S מנותק
                            sivan22
                            השיב להייתי שמח להבין ב נערך לאחרונה על ידי
                            #50

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

                            ה תגובה 1 תגובה אחרונה
                            0
                            • ה מנותק
                              ה מנותק
                              הייתי שמח להבין
                              השיב לsivan22 ב נערך לאחרונה על ידי
                              #51

                              @sivan22 למה ההדגמה, ל-איך אפשר לשלוף מידע מאפוא? סליחה על הבורות.

                              sivan22S תגובה 1 תגובה אחרונה
                              0
                              • sivan22S מנותק
                                sivan22S מנותק
                                sivan22
                                השיב להייתי שמח להבין ב נערך לאחרונה על ידי sivan22
                                #52

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

                                ה נ 3 תגובות תגובה אחרונה
                                0
                                • ה מנותק
                                  ה מנותק
                                  הייתי שמח להבין
                                  השיב לsivan22 ב נערך לאחרונה על ידי הייתי שמח להבין
                                  #53

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

                                  sivan22S תגובה 1 תגובה אחרונה
                                  0
                                  • נ מנותק
                                    נ מנותק
                                    נחמן פלח
                                    השיב לsivan22 ב נערך לאחרונה על ידי נחמן פלח
                                    #54

                                    @sivan22 על ראש הגנב בוער הכובע יש מי שקורא את ההודעות חוץ מאיתנו ואם חשובה לך הנוכחות פה אז תערוך את זה

                                    היי

                                    תגובה 1 תגובה אחרונה
                                    1
                                    • sivan22S מנותק
                                      sivan22S מנותק
                                      sivan22
                                      השיב להייתי שמח להבין ב נערך לאחרונה על ידי
                                      #55

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

                                      ה תגובה 1 תגובה אחרונה
                                      0
                                      • ה מנותק
                                        ה מנותק
                                        הייתי שמח להבין
                                        השיב לsivan22 ב נערך לאחרונה על ידי הייתי שמח להבין
                                        #56

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

                                        תגובה 1 תגובה אחרונה
                                        1
                                        • י מנותק
                                          י מנותק
                                          ישראל 1 2
                                          השיב לsivan22 ב נערך לאחרונה על ידי ישראל 1 2
                                          #57

                                          @sivan22 כתב בבירור | שמירת סיפור מהאינטרנט לקובץ pdf:

                                          @הייתי-שמח-להבין הנה קוד שיעשה במקומך את כל העבודה:

                                          from base64 import b64decode
                                          import os
                                          import time
                                          from selenium import webdriver
                                          from selenium.webdriver.chrome.service import Service
                                          from webdriver_manager.chrome import ChromeDriverManager
                                          from selenium.webdriver.common.print_page_options import PrintOptions, Orientation
                                          
                                          # some tweaks to bypass bot detection
                                          options = webdriver.ChromeOptions()
                                          options.add_experimental_option("excludeSwitches", ["enable-automation"])
                                          options.add_experimental_option('useAutomationExtension', False)
                                          options.add_argument("--disable-blink-features=AutomationControlled")
                                          options.page_load_strategy = 'normal'
                                          options.headless = True
                                          
                                          
                                          
                                          # initialise webdriver
                                          driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()),options=options)
                                          #driver = webdriver.Chr
                                          
                                          
                                          for i in range(1,123):
                                              driver.get("https://online.fliphtml5.com/nejge/kkyl/#p="+str(i))
                                              time.sleep(1)
                                            
                                          #save the page to disk
                                              printOptions = PrintOptions()
                                              printOptions.orientation="landscape"
                                              open(str(i)+".pdf", "wb").write(b64decode(driver.print_page(printOptions)))
                                          
                                          
                                          # after scraping all pages, merge them with pypdf
                                          from pypdf import PdfMerger
                                          
                                          files = os.listdir()
                                          pdfs = [s for s in files if '.pdf' in s]
                                          #sorting the file names by number - not alphabethic
                                          def forSorting(s)->int:
                                              s=s.split('.')[0]
                                              return int(s)
                                          pdfs.sort(key=forSorting)
                                          
                                          merger = PdfMerger()
                                          
                                          for pdf in pdfs:
                                              merger.append(pdf)
                                          
                                          merger.write("result.pdf")
                                          merger.close()
                                          
                                          
                                          
                                          
                                          

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

                                          זה נפתח בנטפרי @משה-שמחה סמן את הנושא כניפתר

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

                                          • התחברות

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

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