همانطور که در مطلب پیشین توضیح دادیم، هدف اصلی استخراج داده های وب و تبدیل (Transform) آنها به فرمت هایی مانند پایگاه داده های رابطه ای و فایل های اکسل و csv است تا بتوانیم از آنها اطلاع های جامعی کسب کنیم. داده ها را می توانیم از سایت های مختلفی بدست آوریم.

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

توجه کنید که مثال هایی که خواهیم گفت ساده و تنها برای تمرین و تمرکز بر روی مفاهیم و کاربرد وب اسکرپینگ (Web Scraping) و قابلیت های زبان برنامه سازی پایتون است. بنابراین شما باید برای خود پروژه های تمرینی یا دانشجویی و یا کاری تعریف کنید.

۱ – دانلود فایل های روی وب

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

در همین دوره و توسط زبان پایتون یاد خواهیم داد که چگونه ویدیو را از سایت آپارات دانلود کنید. همچنین با یک مثال ساده یاد می دهیم که چگونه تصاویر و مطلب های یک صفحه اینستاگرام را استخراج کنیم.  همچنین آموزش خواهیم داد که فایل پی دی اف را دانلود و سپس توسط ماژول پایتون محتوای آنرا بخوانیم

۲ – نظارت بر قیمت ها سایت های فروشگاه های اینترنتی

در حال رشد هستند و حتما شما خواستید که قیمت های محصول های مشابه در سایت های فروشگاهی گوناگون را برای یک خرید مناسب، با یکدیگر مقایسه کنید. برای این کار می توانید داده های وب سایت های مختلف را برای یک یا چند محصول مشخص، مانند لپ تاپ ها دریافت کنید و سپس از آنها را به فرمت csv (یا فایل اکسل) تبدیل کنید و در نهایت توسط کتابخانه ها و ابزارهای دیگر این فایل ها را مقایسه و تجزیه و تحلیل کنید.

۳ – پیدا کردن اطلاعات از ویکی پدیا

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

۴ – نمایش رده بندی فیفا و دیگر ورزش ها

زمانی که این مطلب نوشته می شود در میانه بازی های جام جهانی فوتبال ۲۰۱۸ هستیم و شاید شما بخواهید رده بندی فیفا در مورد تیم های ملی را بدانید. صفحه ای در سایت فیفا وجود دارد که اطلاعات رده بندی تیم های ملی را نشان می دهد. شما می توانید در سایت ورزشی خود این اطلاعات را توسط وب اسکرپینگ نمایش دهید.

۵ – بدست آوردن اوقات شرعی

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

۱ – آیا اجازه داریم که از داده سایتی که اوقات شرعی را نشان می دهد استفاده کنیم.

۲ – اتصال های زیاد به صفحه وب و خواندن آخرین وضیعت اوقات شرعی کار مناسبی نیست بنابراین بهتر است از راهکار دیگری استفاده کنیم.

همانطور که در مطلب قبلی توضیح دادیم اولین گام در وب اسکرپینگ (Web Scraping) اتصال به صفحه وب (URL)، خواندن صفحه و سپس دسترسی به تگ ها و محتوای تگ های html است. برای اینکه از اتصال های بی مورد و بدست آوردن محتوای یک یا چندین تگ جلوگیری شود، در ادامه همین دوره روش کَش کردن (Caching) داده ها را توسط پایتون آموزش می دهیم.