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