דילוג לתוכן
  • חוקי הפורום
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • 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 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • 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
                                    • ה מנותק
                                      ה מנותק
                                      הייתי שמח להבין
                                      השיב לsivan22 ב נערך לאחרונה על ידי הייתי שמח להבין
                                      #58

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

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

                                      אולי המנהלים יכולים לחבר לפה איזה ChatGPT, ולבקר את כל תכני הפורום...

                                      תגובה 1 תגובה אחרונה
                                      0
                                      • מ משה שמחה סימן נושא זה כשאלה ב
                                      • מ משה שמחה סימן נושא זה כנפתר ב
                                      • מ משה שמחה סימן נושא זה כלא נפתר ב
                                      • מ משה שמחה סימן נושא זה כנפתר ב
                                      • sivan22S sivan22 התייחס לנושא זה ב
                                      • ס סקרן להבין התייחס לנושא זה ב
                                      • menajemmendelM menajemmendel התייחס לנושא זה ב

                                      • התחברות

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

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