
برخی از وب سایت ها می توانند حاوی حجم بسیار زیادی از داده های ارزشمند باشند. اگر می خواهید به این اطلاعات دسترسی داشته باشید، باید از هر قالبی که وب سایت استفاده می کند، استفاده کنید یا اطلاعات را به صورت دستی در یک سند جدید کپی کنید. اینجا جایی است که وب اسکراپینگ می تواند به شما کمک کند.
# web scraping چیست؟
Web scraping فرآیند استفاده از ربات ها برای استخراج محتوا و داده ها از یک وب سایت است. این اطلاعات جمع آوری شده و سپس به فرمتی که برای کاربر مفیدتر است صادر می شود. اگرچه استخراج اطلاعات را می توان به صورت دستی نیز انجام داد، اما در بیشتر موارد ابزارهای خودکار هنگام ترجیح داده می شوند زیرا می توانند هزینه کمتری داشته باشند و با سرعت بیشتری کار کنند. اما در بیشتر موارد، استخراج اطلاعات کار ساده ای نیست. وب سایت ها اشکال و ساختارهای مختلفی دارند، در نتیجه اسکراپرهای وب از نظر عملکرد و ویژگی ها متفاوت هستند.
وب اسکرپینگ عملی کامل قانونی است اما برای اهداف غیرقانونی، از جمله کاهش قیمت ها و سرقت محتوای دارای حق کپی رایت نیز استفاده می شود. یک نهاد آنلاین که توسط یک اسکراپر مورد هدف قرار میگیرد، میتواند متحمل زیانهای مالی شدید شود، بهخصوص اگر کسبوکاری باشد که به شدت به مدلهای قیمتگذاری رقابتی یا معاملات در توزیع محتوا متکی است.
# در دوره آموزش وب اسکرپینگ در پایتون چه چیز یاد میگیریم؟
پایتون یک زبان زیبا برای کدنویسی است. مجموعه کاملی از کتابخانه های پایتون برای انجام web scraping وجود دارد اما فقط به تعداد انگشت شماری نیاز دارید تا بتوانید اطلاعات هر سایتی را استخراج کنید. در این دوره 3 کتابخانه پایتون برای وب اسکراپینگ که بیشتر از همه کاربرد دارند را آموزش میدهیم.
+ کتابخانه Requests
Requests یک کتابخانه پایتون است که برای ساده کردن فرآیند ایجاد درخواست های HTTP طراحی شده است. این ابزار برای وب اسکرپینگ بسیار ارزشمند است زیرا اولین گام در گردش کار وب اسکراپی ارسال یک درخواست HTTP به سرور وب سایت برای بازیابی داده های نمایش داده شده در صفحه وب مورد نظر است.
+ کتابخانه BeautifulSoup
BeautifulSoup یک کتابخانه پایتون است که برای تجزیه دادهها، یعنی استخراج دادهها از اسناد HTML یا XML طراحی شده است. از آنجا که BeautifulSoup فقط می تواند داده ها را تجزیه کند و نمی تواند خود صفحات وب را بازیابی کند، اغلب در کنار کتابخانه Requests استفاده می شود. در شرایطی مانند این، Requests برای بازیابی صفحه وب، درخواست HTTP را به وبسایت ارسال میکند و پس از بازگرداندن آن، میتوان از BeautifulSoup برای تجزیه دادههای هدف از صفحه HTML استفاده کرد.
+ فریمورک Scrapy
Scrapy یک چارچوب پایتون منبع باز است که توسط پابلو هافمن و شین ایوانز از بنیانگذاران Zyte ساخته شده است. Scrapy فقط یک کتابخانه نیست بلکه یک راه حل تمام عیار web scraping است که تمام کارهای سنگین را برای شما انجام می دهد. Scrapy رباتهایی را ارائه میکند که میتوانند در چندین وبسایت بخزند و دادهها را استخراج کنند. بهترین چیز در مورد Scrapy این است که ناهمزمان است. می تواند چندین درخواست HTTP را به طور همزمان ایجاد کند. این باعث صرفه جویی در زمان ما می شود و کارایی ما را افزایش می دهد.
# آیا دوره آموزش وب اسکرپینگ در پایتون پیش نیاز دارد؟
از آنجایی که قرار است از پایتون برای استخراج اطلاعات استفاده کنیم پس منطقی است که ابتدا پایتون بلد باشیم. این دوره آموزش web scraping مناسب افرادی است که پایتون را بلد هستند. نیازی نیست خیلی در پایتون حرفهای باشید ولی باید به مسائل ابتدایی و همچنین شی گرایی پایتون مسلط باشید. برای یادگیری پایتون میتوانید دوره آموزش پایتون را ببینید. همچنین لازم است که ویدیو آموزش پروتکل Http را نیز ببینید.
سورس کد این دوره را میتوانید از اینجا دانلود کنید.
مطالب این دوره به شکل کامل آپدیت شده است.
ارسال نظر