3 דרכים פייתוניות להוריד קובץ PDF מכתובת אתר – תהיו בצד הנכון של השינוי

פרסומת
MAGNEZIX מגנזיקס


אם חסר לך זמן, הנה הקוד להעתקה והדבקה: 👇

פרסומת
import requests

url="https://bitcoin.org/bitcoin.pdf"
response = requests.get(url)

with open('sample.pdf', 'wb') as f:
    f.write(response.content)

בואו לצלול לתוך המאמר כולו, להמשיך לקרוא כדי ללמוד ולשפר את הכישורים שלכם (ולהנות מהעכביש היפה 🕷️🕸️ תמונות שבחרתי עבורכם ביד)! 👇


💡 סקירה מהירה: אני אראה לך את שלוש הדרכים הכי פייתוניות להוריד קובץ PDF מכתובת אתר ב-Python:

  • שיטה 1: להשתמש ב requests library, ספריית צד שלישי המאפשרת לך לשלוח בקשות HTTP באמצעות Python.
  • שיטה 2: להשתמש ב urllib מודול, ספריית Python מובנית לטיפול בכתובות URL.
  • שיטה 3: השתמש בספריית BeautifulSoup הפופולרית לגרידת רשת.

אבל דבר ראשון…

הבנת היסודות

כדי להוריד קובצי PDF מכתובת אתר ב- Python, יש להבין תחילה את היסודות של גירוד אינטרנט. גירוד אינטרנט הוא תהליך של חילוץ נתונים מאתרים. זה כולל ניתוח HTML ותוכן אחר של דפי אינטרנט כדי לחלץ את המידע הרצוי.

שלב 1: הצעד הראשון בגרידת אינטרנט הוא לשלוח בקשת HTTP לכתובת ה-URL של דף האינטרנט שאליו ברצונך לגשת. לאחר ששלחת את הבקשה, תקבל תגובת HTTP מהשרת. תגובה זו תכיל את תוכן ה-HTML של דף האינטרנט.

שלב 2: כדי לחלץ את הקישור לקובץ PDF מתוכן ה-HTML, השתמש בספריית Python כגון Requests ו- BeautifulSoup. Requests היא ספריית Python המשמשת לביצוע בקשות HTTP לאתר אינטרנט, בעוד BeautifulSoup משמשת לניתוח תוכן HTML של דף אינטרנט.

שלב 3: לאחר שניתח את תוכן ה-HTML ואיתר את הקישור לקובץ PDF, תוכל להשתמש בספריית הבקשות כדי להוריד את קובץ ה-PDF. ספריית הבקשות מספקת דרך פשוטה להוריד קבצים מהאינטרנט. אתה יכול להשתמש בשיטת "קבל" כדי להוריד את קובץ ה-PDF מכתובת האתר.

💡 הערה: בחלק מהאתרים עשויים להיות הגבלות על הורדת קובצי PDF. במקרים כאלה, ייתכן שיהיה עליך לספק כותרות נוספות לבקשת ה-HTTP כדי לעקוף את ההגבלות הללו.

לסיכום, כדי להוריד קובץ PDF מכתובת אתר ב-Python, עליך:

  1. שלח בקשת HTTP לכתובת האתר של דף האינטרנט שאליו ברצונך לגשת
  2. נתח את תוכן ה-HTML של דף האינטרנט באמצעות BeautifulSoup
  3. אתר את הקישור לקובץ PDF בתוכן ה-HTML
  4. השתמש בספריית הבקשות כדי להוריד את קובץ ה-PDF מכתובת האתר

💡 מוּמלָץ: האם גירוד אינטרנט חוקי?

שיטה 1: שימוש בספריית הבקשות

ספריית הבקשות של Python היא ספריית HTTP פופולרית המאפשרת למפתחים לשלוח בקשות HTTP באמצעות Python. זוהי ספרייה פשוטה וקלה לשימוש התומכת בשיטות HTTP שונות, כולל GET, POST, PUT, DELETE ועוד.

בחלק זה, נחקור כיצד להשתמש בספריית הבקשות להורדת קבצי PDF מכתובת אתר ב-Python.

הגדרת בקשות

לפני שנוכל להשתמש בספריית הבקשות, עלינו להתקין אותה. אנחנו יכולים להתקין אותו באמצעות pip, שהוא מנהל חבילות עבור Python. ל להתקין requestsפתח שורת פקודה או מסוף, והקלד את הפקודה הבאה:

pip install requests

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

import requests

הורדת קובץ PDF

כדי להוריד קובץ PDF מכתובת אתר באמצעות ספריית הבקשות, נוכל להשתמש ב- get() שיטה, ששולחת בקשת HTTP GET לכתובת ה-URL שצוינה ומחזירה אובייקט תגובה. לאחר מכן נוכל להשתמש ב- content תכונה של אובייקט התגובה כדי לקבל את התוכן הבינארי של קובץ ה-PDF.

להלן קטע קוד לדוגמה המדגים כיצד להוריד קובץ PDF באמצעות requests:

import requests

url="https://bitcoin.org/bitcoin.pdf"
response = requests.get(url)

with open('sample.pdf', 'wb') as f:
    f.write(response.content)

בקטע קוד זה, אנו מייבאים תחילה את ספריית הבקשות. לאחר מכן אנו מגדירים את כתובת האתר של קובץ ה-PDF שאנו רוצים להוריד ולהשתמש ב- get() שיטה לשלוח בקשת HTTP GET לכתובת האתר. אובייקט התגובה מכיל את התוכן הבינארי של קובץ ה-PDF, אותו נוכל לכתוב לקובץ באמצעות ה- open() פוּנקצִיָה.

אנו משתמשים ב- 'wb' mode לפתיחת הקובץ במצב בינארי, המאפשר לנו לכתוב את התוכן הבינארי של קובץ ה-PDF לקובץ. אנו משתמשים ב- write() שיטה לכתוב את התוכן הבינארי של קובץ ה-PDF לקובץ.

זהו זה! הורדנו בהצלחה קובץ PDF מכתובת אתר באמצעות ה- requests ספרייה ב- Python.

שיטה 2: שימוש בספריית Urllib

מייבא Urllib

ה urllib library היא ספרייה מובנית ב- Python המאפשרת למפתחים לקיים אינטראקציה עם כתובות URL. לפני השימוש ב urllib הספרייה, מפתחים צריכים לייבא אותו לסקריפט Python שלהם.

כדי לייבא את urllib הספרייה, מפתחים יכולים להשתמש בקוד הבא:

import urllib

הורדת PDF עם Urllib

פעם ה urllib הספרייה מיובאת, אתה יכול להשתמש בה כדי להוריד קובצי PDF מכתובת אתר. להורדת PDF באמצעות urllibלהשתמש ב urlretrieve() פונקציה, שלוקחת שני ארגומנטים: כתובת ה-PDF ושם הקובץ שבו ה-PDF יישמר.

הנה דוגמה:

import urllib.request

url="http://example.com/some_file.pdf"
filename="some_file.pdf"

urllib.request.urlretrieve(url, filename)

בדוגמה זו, ה url המשתנה מכיל את כתובת האתר של ה-PDF, ואת ה- filename המשתנה מכיל את שם הקובץ שבו יישמר ה-PDF. ה urlretrieve() הפונקציה מורידה את ה-PDF מכתובת האתר ושומרת אותו בשם הקובץ שצוין.

חשוב לציין כי urlretrieve() הפונקציה פועלת רק עם Python 3.x. ב- Python 2.x, אתה יכול להשתמש ב- urllib2 ספריה להורדת קבצים.

הנה דוגמה:

import urllib2

url="http://example.com/some_file.pdf"
filename="some_file.pdf"

response = urllib2.urlopen(url)
pdf = response.read()

with open(filename, 'wb') as f:
    f.write(pdf)

בדוגמה זו, ה urllib2 הספרייה משמשת להורדת ה-PDF מכתובת האתר. לאחר מכן ה-PDF נשמר בשם הקובץ שצוין באמצעות ה- open() פוּנקצִיָה.

בסך הכל, ה urllib הספרייה היא כלי שימושי למפתחים שצריכים להוריד קובצי PDF מכתובות URL בסקריפטים של Python. עם ה urlretrieve() פונקציה, מפתחים יכולים להוריד בקלות קובצי PDF ולשמור אותם בקובץ.

שיטה 3: שילוב BeautifulSoup

שילוב BeautifulSoup

BeautifulSoup היא ספריית Python שנמצאת בשימוש נרחב למטרות גירוד אינטרנט. זהו כלי רב עוצמה עבור מפתחים כמוך וכמוני כדי לחלץ מידע ממסמכי HTML ו-XML.

כשמדובר בהורדת קובצי PDF מאתר אינטרנט, ניתן להשתמש ב- BeautifulSoup בשילוב עם requests ספרייה כדי לחלץ קישורים לקובצי PDF מקוד מקור HTML של אתר אינטרנט.

כדי להתחיל להשתמש ב- BeautifulSoup, ייבא אותו לסביבת Python שלהם והשתמש ב- BeautifulSoup() בנאי ליצירת אובייקט BeautifulSoup מקוד מקור ה-HTML של אתר אינטרנט. ברגע שיש לך אובייקט BeautifulSoup, השתמש בשיטות שלו כדי לחלץ מידע מקוד המקור של HTML.

חילוץ קובצי PDF ממקור HTML

כדי לחלץ קישורי PDF מקוד מקור ה-HTML של אתר אינטרנט, מפתחים יכולים להשתמש ב- BeautifulSoup find_all() שיטה למצוא את כל <a> תגיות בקוד המקור של HTML. לאחר מכן הם יכולים לעבור דרך <a> תגיות ובדוק אם ה href התכונה של כל תג מצביעה על קובץ PDF.

אם ה href התכונה של תג מצביעה על קובץ PDF, השתמש ב- requests הספרייה להורדת קובץ ה-PDF. להשתמש ב get() שיטה של ​​ספריית הבקשות לשלוח בקשת HTTP GET לכתובת ה-URL של קובץ ה-PDF. אובייקט התגובה שהוחזר על ידי ה get() השיטה תכיל את התוכן של קובץ ה-PDF. לאחר מכן השתמש ב-Python המובנה טיפול בתיקים פונקציות לשמירת תוכן קובץ ה-PDF לקובץ מקומי.

טיפול בשגיאות וחריגים

ציפייה לשגיאות נפוצות

בעת הורדת קבצי PDF מכתובות URL באמצעות Python, חיוני לצפות שגיאות נפוצות שעלולות להתרחש ולהתכונן אליהן.

שגיאה נפוצה אחת היא כאשר כתובת האתר אינה חוקית או שקובץ ה-PDF אינו קיים.

במקרים כאלה, התוכנית עלולה לקרוס, ולא תקבל משוב.

שגיאה נוספת עלולה להתרחש כאשר אין לך את ההרשאות הדרושות לגשת לקובץ PDF.

כדי לצפות שגיאות כאלה, אפשר להשתמש ב- os מודול כדי לבדוק אם הקובץ קיים לפני הורדתו. בנוסף, ניתן לבדוק את קוד סטטוס התגובה כדי לוודא שהבקשה הצליחה. אם קוד המצב אינו 200, זה אומר שהבקשה לא הצליחה וקובץ ה-PDF לא הורד.

יישום פונקציות טיפול בשגיאות

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

אפשר להשתמש ב try ו except הצהרות לתפוס שגיאות ולטפל בהן בחן. לדוגמה, בעת הורדת קבצי PDF, ניתן לתפוס חריגים כגון requests.exceptions.RequestException ו IOError ולספק משוב למשתמש.

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

ארגון קובצי PDF שהורדו

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

יצירת ספרייה

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

הנה קטע קוד לדוגמה שיוצר ספרייה בשם "PDFs" בספריית העבודה הנוכחית:

import os

directory = "PDFs"
if not os.path.exists(directory):
    os.makedirs(directory)

קוד זה בודק אם ספרייה בשם "PDFs" כבר קיימת בספריית העבודה הנוכחית. אם זה לא קיים, זה יוצר את…



קישור לכתבת המקור – 2023-07-20 22:14:33

Facebook
Twitter
LinkedIn
Telegram
WhatsApp
Email
פרסומת
X-ray_Promo1

עוד מתחומי האתר