آموزش Beautiful Soup

دسته بندی: آموزش پایتون (Python)

آموزش بیوتیفول سوپ

آنچه در این صفحه می خوانید:

معرفی Beautiful Soup

Beautiful Soup یک کتابخانه پایتون شامل مجموعه ای از توابع و متد ها است که به شما اجازه می دهد تا بسیاری از کارها را بدون نوشتن کد انجام دهید. Beautiful Soup برای پروژه های سریع مانند screen-scraping طراحی شده است.

Beautiful Soup یک کتابخانه پایتون برای استخراج داده ها از فایل های اچ تی ام ال (HTML) و اکس ام ال (XML) است. Beautiful Soup با تجزیه کننده دلخواه شما برای ارائه راه هایی برای ناوبری، جستجو و اصلاح درخت تجزیه کار می کند. معمولا Beautiful Soup موجب صرفه جویی در ساعت کاری برنامه نویسان می شود. این کتابخانه یک درخت تجزیه برای صفحات تجزیه شده ایجاد می کند که می تواند برای استخراج داده ها از HTML استفاده شود، که برای وب اسکرپینگ مفید است.

Beautiful Soup برای پایتون 2.7 و پایتون 3 در دسترس است.

ویژگی های Beautiful Soup

Beautiful Soup یک کتابخانه Python است که برای پروژه های سریع مانند scraping روی صفحات وب ساخته شده است. سه ویژگی آن را قدرتمند می سازد:

  • Beautiful Soup چند متد ساده و اصطلاحات Pythonic را برای ناوبری، جستجو و اصلاح یک درخت تجزیه فراهم می کند: یک ابزار برای تشخیص یک سند و استخراج هرآنچه که شما نیاز دارید. برای نوشتن یک اپلیکیشن، نیازی به کدنویسی زیاد نیست.
  • Beautiful Soup به طور خودکار اسناد ورودی به Unicode و اسناد خروجی را به UTF-8 تبدیل می کند. شما لازم نیست که نگران encoding باشید مگر اینکه سند encoding را مشخص نکند و Beautiful Soup نتواند آن را شناسایی کند. سپس شما فقط باید encoding اصلی را مشخص کنید.
  • Beautiful Soup در بالای تجزیه کننده های محبوب پایتون مانند lxml و html5lib قرار دارد و به شما این امکان را می دهد تا استراتژی های مختلف تجزیه یا سرعت تجارت را برای انعطاف پذیری امتحان کنید. Beautiful Soup هر چیزی را که به آن می دهید تجزیه می کند. می توانید به آن بگویید "تمام لینک ها را پیدا کن" یا "تمام لینک های کلاس externalLink را پیدا کن".
  • داده های با ارزش قفل شده موجود در وب سایت هایی که ضعیف طراحی شده اند قابل دسترسی هستند. انجام پروژه هایی که ساعت ها طول می کشد با Beautiful Soup در چند دقیقه انجام می شوند.

نحوه استفاده از Beautiful Soup

  1. درست بعد از نصب، می توانید استفاده از BeautifulSoup را شروع کنید.
  2. در ابتدای اسکریپت پایتون، کتابخانه را وارد کنید.
  3. حالا شما باید چیزی را به BeautifulSoup منتقل کنید تا یک آبجکت Soup ایجاد شود.
  4. این می تواند یک داکیومنت یا یک URL باشد.
  5. BeautifulSoup صفحه وب را برای شما واکشی نمی کند، شما باید خودتان این کار را انجام دهید.
  6. به همین دلیل از urllib2 در ترکیب با کتابخانه BeautifulSoup استفاده می شود.

مقایسه اسکرپی (Scrapy) و Beautiful Soup

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

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

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

آیا این نوشته را دوست داشتید؟
pluralsight-scraping-dynamic-web-pages-with-python-and-selenium

آموزش اسکرپینگ صفحات وب پویا با پایتون و سلنیوم


ابتدا، نحوه اسکرپینگ داده ها از وب سایت های پویا را بررسی خواهید کرد. ابزار اصلی مورد استفاده سلنیوم است و دوره با کاوش در آن شروع می شود. سپس، با باز...

1399/07/12 2414 بازدید
pluralsight-web-scraping-python-data-playbook

آموزش Web Scraping: پلی بوک داده پایتون


در این دوره آموزشی پلی بوک داده پایتون، شما قابلیت اسکریپ کردن داده ها و ارائه آن به صورت گرافیکی را کسب خواهید کرد. در ابتدا، scraping را با استفاده ...

1399/07/02 1121 بازدید
linkedin-using-python-for-automation

آموزش استفاده از پایتون برای خودکارسازی


پایتون یک زبان برنامه نویسی آسان برای یادگیری است که به سازمان ها این امکان را می دهد تا اتوماسیونی سفارشی را اسکریپت نویسی کرده و در صرف زمان صرفه جو...

1399/01/15 5437 بازدید زیرنویس دارد
packtpub-getting-started-with-python-web-scraping-video

آموزش Web Scraping با Python 


پایتون یک زبان برنامه نویسی سطح بالا است که برای برنامه نویسی عمومی مورد استفاده قرار می گیرد که تاکید بر قابلیت خواندن کد و نحو ذارد تا به برنامه نوی...

1396/12/12 4097 بازدید
stoneriverelearning-python-beautifulsoup

آموزش BeautifulSoup در Python


BeautifulSoup یک کتابخانه محبوب پایتون برای استخراج داده ها از صفحات HTML یا زنده است. BeautifulSoup به یک صفحه وب محدود نیست. شما می توانید داده ها ر...

1396/12/12 4382 بازدید