סמלט: גירוד רשת עם פייתון

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

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

ישנן דרכים רבות בהן ניתן לגרד נתונים מהאינטרנט. רבות משיטות אלה דורשות פיקוד על מגוון שפות תכנות כמו Python ו- R. לדוגמא, בעזרת Python, תוכלו להשתמש במספר מודולים כמו בקשות, מרק יפה, Webbrowser ו- Selenium.

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

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

כדי להוריד דף, עליך להפעיל את הפונקציה 'request.get ()'. הפונקציה מורידה מחרוזת של URL להורדה ואז מחזירה אובייקט 'תגובה'. זה מכיל את התגובה ששרת האינטרנט החזיר לבקשתך. אם בקשתך מצליחה, דף האינטרנט שהורד נשמר כמחרוזת במשתנה הטקסט של אובייקטי התגובה.

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

מכאן, אתה יכול לשמור את קובץ האינטרנט שהורדת בכונן הקשיח שלך באמצעות הפונקציות הסטנדרטיות 'פתוח') ו'כתוב () '. עם זאת, כדי לשמור על קידוד Unicode של הטקסט, תצטרך להחליף נתוני טקסט בנתונים בינאריים.

כדי לכתוב את הנתונים לקובץ, אתה יכול להשתמש בלולאת 'for' בשיטת 'iter_content ()'. שיטה זו מחזירה כמויות נתונים על כל איטרציה דרך הלולאה. כל בתפזורת נמצאת בתים, ועליך לציין כמה בתים שכל אחד בתפזורת יכיל. לאחר שתסיים לכתוב, קרא 'סגור ()' כדי לסגור את הקובץ, ותפקידך נגמר.

mass gmail