آموزش Scrapy

معرفی Scrapy

Web scraping یک تکنیک برای جمع آوری داده ها یا اطلاعات در صفحات وب است. Scrapy یکی از محبوب ترین فریمورک های Web scraping است که در پایتون نوشته شده است و از Twisted، موتور شبکه ی Python و lxml، یک تجزیه کننده  XML  به علاوه ی HTML پایتون استفاده می کند.

Scrapy چیست؟

Scrapy یک فریمورک web crawling سریع و متن باز است که با زبان برنامه نویسی Python نوشته شده است که برای استخراج داده ها از صفحه وب با کمک selector ها بر اساس XPath استفاده می شود.

Scrapy برای اولین بار در تاریخ 26 ژوئن 2008 تحت مجوز BSD و نسخه 1.0 در ژوئن 2015 منتشر شد.

چرا باید از Scrapy استفاده کنیم؟

  • ساخت و مقیاس کردن پروژه های بزرگ crawling
  • دارای یک مکانیزم ساخته شده به نام Selectors، برای استخراج داده ها از وب سایت ها
  • مدیریت سریع و غیر هم زمان درخواست ها
  • تنظیم خودکار سرعت crawling با استفاده از مکانیزم خودکار
  • تضمین قابلیت دسترسی برای توسعه دهندگان

ویژگی های Scrapy

  • متن باز و رایگان
  • تولید اکپورت های فید با فرمت های JSON، CSV و XML
  • پشتیبانی از انتخاب و استخراج داده ها از منابع با XPath یا عبارت های CSS
  • Scrapy مبتنی بر crawler، اجازه می دهد اطلاعات را از صفحات وب به طور خودکار استخراج کند

مزایای Scrapy

  • Scrapy به راحتی قابل گسترش، سریع و قدرتمند است.
  • یک فریمورک اپلیکیشن cross-platform (ویندوز، لینوکس، سیستم عامل مک و BSD)
  • درخواست های Scrapy زمان بندی شده و به صورت غیرهمزمان پردازش می شوند.
  • Scrapy با سرویس داخلی به نام Scrapyd می آید که اجازه می دهد پروژه های خود را آپلود و Spider ها را با استفاده از سرویس وب JSON کنترل کند.
  • Scrap کردن هر وب سایتی امکان پذیر می باشد، گرچه آن وب سایت API برای دسترسی به داده های خام نداشته باشد.

معایب Scrapy

  • Scrapy فقط برای پایتون 2.7 به بالا است.
  • نصب آن برای سیستم عامل های مختلف متفاوت است.

مقایسه Scrapy و Beautiful Soup

Scrapy یک Web-spider یا فریمورک web scraper می باشد که به آن یک مسیر URL می دهید تا شروع به crawling کند. سپس می توانید مشخص کنید چه تعداد URL می خواهید crawl و fetch شوند. در واقع Scrapy یک فریمورک کامل برای web-scraping یا crawling است. اما Scrapy زمانیکه داده ها از جاوا اسکریپت استخراج یا به صورت پویا بارگذاری می شوند دارای محدودیت هایی است که می توانیم با استفاده از بسته هایی مانند splash، selenium و غیره بر آنها غلبه کنیم.

Beautiful Soup یک کتابخانه تجزیه کننده است که محتویات را از URL استخراج می کند و اجازه می دهد تا شما برخی از بخش های مهم را بدون هیچ زحمتی تجزیه کنید. فقط محتویات URL که شما انتخاب کرده اید را استخراج می کند و سپس آن را متوقف می کند. هیچ گاه کار crawl را انجام نمی دهد مگر اینکه به صورت دستی آن را در داخل یک حلقه بی نهایت با معیارهای خاص قرار دهید.

Beautiful Soup یک کتابخانه پایتون برای استخراج داده ها از فایل های HTML و XML است که می توان زمانیکه داده ها از جاوا اسکریپت استخراج یا به صورت پویا بارگذاری می شوند از آن به راحتی استفاده کرد.

به طور خلاصه با Beautiful Soup می توانید چیزی شبیه Scrapy را بسازید. Beautiful Soup یک کتابخانه است در حالی که Scrapy یک فریمورک کامل است.

Scrapy با Beautiful Soup یکی از بهترین ترکیب هایی است که ما می توانیم برای scraping محتواهای استاتیک و پویا استفاده کنیم.

  • آموزش استخراج محتوا از صفحات وب با Scrapy

آموزش استخراج محتوا از صفحات وب با Scrapy

جمعه ۳۰ شهریور ۱۳۹۷ - ساعت ۰۹:۰۰
  • آموزش Web Scraping با Python و Scrapy

آموزش Web Scraping با Python و Scrapy

پنج شنبه ۱۳ اردیبهشت ۱۳۹۷ - ساعت ۰۵:۰۰
  • آموزش Scrapy برای استخراج داده از وب

آموزش Scrapy برای استخراج داده از وب

پنج شنبه ۱۳ اردیبهشت ۱۳۹۷ - ساعت ۰۱:۰۰
  • آموزش نصب Scrapy در ویندوز

آموزش نصب Scrapy در ویندوز

سه شنبه ۱۱ اردیبهشت ۱۳۹۷ - ساعت ۱۶:۰۰