מדריך סקראפי: כיצד ליצור סורק אינטרנט באמצעות סקראפי?



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

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

מה זה סקראפי?

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





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

מדריכי סטודיו חזותי למתחילים

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



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

ארכיטקטורה גרועה-הדרכה מקושקשת-אדוריקה

מהו סורק אתרים?

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

איך זה עובד?



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

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

בואו נסתכל על יישומים שונים שניתן לסורק באמצעותם להשתמש:

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

  • סורק אתרים ממלא תפקיד חשוב מאוד בתחום כריית הנתונים לאחזור מידע.

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

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

כיצד להתקין Scrapy?

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

conda להתקין -c conda-forge גרדן

אתה יכול גם להשתמש בסביבת pip כדי להתקין גרוטאות,

pip להתקין גרוטאות

יתכנו כמה תלות אוסף בהתאם למערכת ההפעלה שלך. Scrapy כתוב בפייתון טהור ועשוי להיות תלוי בכמה חבילות פיתון כמו:

  • lxml - זהו מנתח יעיל של XML ו- HTML.

  • חבילה - ספריית חילוץ HTML / XML שנכתבה למעלה ב- lxml

  • W3lib - זהו עוזר רב תכליתי להתמודדות עם כתובות URL וקידודי דפי אינטרנט

  • מעוות - מסגרת רשת אסינכרונית

    ניתוח קובץ ה- XML ​​ב- Java
  • קריפטוגרפיה - היא מסייעת לצרכי אבטחה שונים ברמת הרשת

מתחילים את הפרויקט הגרוטאי הראשון שלך

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

שם פרויקט התחל גרוע

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

  • שם הפרוייקט/

    • scrapy.cfg: הוא פורס קובץ תצורה

  • שם הפרוייקט/

    • __init__.py: מודול הפיתון של פרויקטים

    • items.py: קובץ הגדרת פריטי פרויקט

    • middlewares.py: קובץ middlewares של הפרויקט

    • pipelines.py: קובץ צינורות הפרויקט

    • settings.py: קובץ הגדרות הפרויקט

  • עכבישים /

    • __init__.py: ספרייה שבה אחר כך תשים את העכבישים שלך

הפיכת העכביש הראשון שלך

עכבישים הם שיעורים שאנו מגדירים ומשתמשים בהם גרוטאות לאיסוף מידע מהאינטרנט. עליך לסווג את scrapy.Spider ולהגדיר את הבקשות הראשוניות להגיש.

אתה כותב את הקוד של העכביש שלך בקובץ פיתון נפרד ושומר אותו בספריית שם הפרויקט / העכבישים בפרויקט שלך.

quotes_spider.py

יבוא מחלקות גרוטאות QuotesSpider (scrapy.Spider): name = 'quotes' def start_request (עצמי): urls = ['http://quotes.toscrape.com/page/1/', http://quotes.toscrape.com / עמוד / 2 /,] עבור url בכתובות אתרים: תשואה scrapy.Request (url = url, callback = self.parse) def parse (self, response): page = response.url.split ('/') [- 2 ] filename = 'ציטוטים-% s.html' עמוד% עם פתוח (שם קובץ, 'wb') כ- f: f.write (response.body) self.log ('קובץ שמור% s'% שם קובץ)

כפי שאתה יכול לראות, הגדרנו פונקציות שונות בעכבישים שלנו,

  • שם: הוא מזהה את העכביש, עליו להיות ייחודי לאורך כל הפרויקט.

  • start_requests (): צריך להחזיר איטרלית של בקשות שהעכביש יתחיל לזחול איתן.

  • parse (): זוהי שיטה שתיקרא לטיפול בתגובה שהורדה עם כל בקשה.

חילוץ נתונים

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

יבוא מחלקות גרוטאות QuotesSpider (scrapy.Spider): name = 'quotes' start_urls = [http://quotes.toscrape.com/page/1/ ', http://quotes.toscrape.com/page/2/,] def parse (עצמי, תגובה): להצעת מחיר בתגובה.css ('div.quote'): תשואה {'text': quote.css (span.text :: text '). get (),' author ': quote .css (small.author::text ') get (),' tags ': quote.css (div.tags a.tag :: text'). getall ()}

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

אחסון הנתונים

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

ציטוטים מזחלים גרדיים -או ציטוטים.json

פקודה זו תיצור קובץ quotes.json המכיל את כל הפריטים הגרודים, המסודרים בסידרה ג'סון .

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

סוג ליהוק בג'אווה לדוגמא

אם מצאת מאמר זה בנושא 'Scrapy Tutorial' רלוונטי, עיין ב חברת למידה מקוונת אמינה עם רשת של יותר מ -250,000 לומדים מרוצים הפרוסים ברחבי העולם.

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

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