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