دوره آموزش وب اسکرپینگ ( Web Scraping ) رایگان مهندس خورنگ یک آموزش Web Scraping جذاب و کاملا رایگان در قالب 19 ویدیوی آموزشی و در مجموع یک دوره اسکرپینگ وب 8 ساعته است . این دوره آموزشی Web Scraping رایگان با استفاده از زبان برنامه نویسی پایتون و با مثال های عملی و متنوعی از روش های جمع آوری داده از صفحات وب برای شما طراحی و در وب سایت توسینسو قرار گرفته است .
وب اسکرپینگ چیست؟
به عنوان نمونه شما سایت دیجی کالا رو در نظر بگیرید اگه قرار باشه اطلاعات مربوط به یک محصول رو به طور کامل بدست بیارید ،تکنیک Web scraping به شما در این زمینه بسیار کمک خواهد کرد. Web scraping ابزاری برای استخراج این دادهها از دنیای وب است. در واقع با تکیه بر قدرت پردازشی کامپیوترها، این امکان فراهم شدهاست، که بتوانیم حجم بسیار زیادی از دادهها را از دنیای وب استخراج کنیم.
Web scraping میتونه به صورت دستی توسط خود ما هم انجام بشه که در این صورت به ما scraper میگن، اما معمولا طی فرایندی خودکار انجام میشه که با استفاده از یک bot یا خزنده وب این عمل صورت میگیره. این کار در واقع نوعی از کپی کردن که در این حالت دادههای مشخصی از وب جمع آوری میشوند. ما هم قرار با زبان برنامه نویسی پایتون عمل Web scraping رو انجام بدیم.
کاربردهای Web Scraping بسایر زیاد و برای هدفی خاصی میتونه این اطلاعات جمع آوری بشه. گوگل با استفاده از دانش web scraping محتویات جدیدی رو که هر روزه داخل میلیون ها وبسایت منتشر میشن رو میخونه و دسته بندی میکنه.ما در این دوره با استفاده از کتابخانه های selenium, request, beautifulSoup و ابزار scrapy این عمل رو انجام خواهیم داد.

ساختار وب اسکرپینگ
ساختار Web Scraping به گونه ای طراحی شده است که از طریق پایگاه داده های سطح وب می توان اطلاعات را استخراج کرد. Web Scraping دارای ابزارهای مختلفی می باشد که هر کدام از این ابزارهای از تعداد ربات استفاده می کنند و هر کدام از این ربات ها کاری را انجام می دهند که به عنوان مثال به شرح زیر می باشد:
- شناسایی HTML منحصر به فرد یک سایت
- استخراج و تبدیل محتوا
- ذخیره اطلاعات استخراج شده
- استخراج داده ها از طریق API ها
کاربردهای وب اسکرپینگ
فرایند Web Scraping: به فرایندی جهت استخراج محتوا و داده ها از یک وب سایت با استفاده از ربات ها گفته می شود. Web Scraping علاوه بر محتوا می توان عناصر کدهای HTML را هم استخراج کند و هر زمان که لازم باشد می توان اطلاعات را منتشر کرد.
Web Scraping در بسیاری از کسب و کارهای اینترنتی مورد استفاده قرار می گیرد تا بتوان در اولین فرصت به داده های منتشر شده جدید دسترسی پیدا کرد. از جمله کاربرد Web Scraping می توان به موارد زیر اشاره کرد:
از وب اسکرپینگ برای تجزیه و تحلیل و همچنین رتبه بندی سایت استفاده می شود. از Web Scraping برای تعیین قیمت محصولات خود با توجه به قیمت سایر فروشگاه ها استفاده می شود. شرکت های تحقیقاتی برای جمع آوری اطلاعات از رسانه های اجتماعی از وب اسکرپینگ استفاده می کنند. شرکت های فناوری املاک و مستغلات از Web Scraping برای واگذاری لیست املاک و مستغلات استفاده می کنند.
Web Scraping به عنوان جزئی از برنامه های مورد استفاده برای فهرست بندی وب، استخراج وب و داده کاوی، نظارت بر تغییر قیمت آنلاین و مقایسه قیمت، جمع آوری لیست های املاک و مستغلات،نظارت بر داده های آب و هوا، تشخیص تغییر وب سایت، تحقیق،پیگیری حضور و شهرت آنلاین ،mashup وب و ادغام داده های وب مورد استفاده قرار می گیرد.
چرا تحلیلگران به وب اسکرپینگ نیاز دارند؟
یک سازمان بزرگ نیاز دارد تا خود را با تغییرات اطلاعاتی که در تعداد زیادی از وبسایتها به وقوع میپیوندد به روز نگه دارد. یک وب اسکرپر هوشمند (intelligent web scraper) وبسایتهای جدیدی که باید دادهها را از آنها اسکرپ کند مییابد. رویکردهای هوشمند، دادههای تغییر یافته را تعیین کرده و آنها را بدون بیرون آوردن لینکهای غیر لازم موجود در محتوا، استخراج کرده و به منظور نظارت و استخراج اطلاعات زمان واقعی به طور موثر و کارآمدی در صفحه وب خزش میکنند. پژوهشگر میتواند به سادگی بر چندین وبسایت به طور همزمان نظارت کند، در حالیکه با فرکانس تکرارها نیز به روز است.
تحلیلگر میتواند شاهد تغییرات دائما در حال وقوع در وب باشد. اما اگر تغییرات کلیدی توسط یک سازمان به وقوع پیوست، چگونه میتوان متوجه آنها شد؟ فرض میشود که تغییری در کارکنان یک سازمان به وقوع پیوسته، چگونه میتوان از آن مطلع شد؟ پاسخگویی به این پرسشها همان نقطهای است که وب اسکرپینگ و ویژگیهای آن برجسته میشوند. روشهای وب اسکرپینگ هوشمند کاربران را از آخرین تغییرات به وقوع پیوسته در یک وبسایت مشخص آگاه و بنابراین به آنها در تحت نظر داشتن چالشها و فرصتها کمک میکنند.

- کتابخانه Requests : کتابخانه Requests یکی از محبوب ترین کتابخانه های پایتون است. از این کتابخانه برای ارسال درخواست های HTTP/1.1 توسط python استفاده میشه.
- کتابخانه Beautiful Soup : یک کتابخانه محبوب پایتون برای استخراج داده ها از صفحات HTML یا زنده است BeautifulSoup به یک صفحه وب محدود نیست. شما می توانید داده ها را از صفحات مختلف استخراج کنید. دانستن نحوه ی پیدا کردن داده ها در درون درخت HTML، کلید گرفتن داده های هدفمند است. این دوره به شما نشان می دهد چگونه داده های مربوط به درون درخت HTML را شناسایی کنید. سپس یک قانون تجزیه سازی برای استخراج آن با استفاده از BeautifulSoup ایجاد خواهید کرد.
- کتابخانه Selenium : کتابخانه ی selenium برای خودکار سازی تعامل های مرورگر مورد استفاده قرار میگیره و ما با استفاده از کتابخانه سلنیوم قادر به ساختن ربات برای وب سایت ها و اینستاگرام و ... خواهیم بود.
- فریمورک Scrapy : Scrapy یک فریمورک اپنسورس و توسعهیافته با زبان برنامهنویسی پایتون است که به منظور اِسکرپ کردن صفحات وب و استخراج دیتا از آنها در قالبی ساختاریافته به کار گرفته میشود که دیتای جمعآوریشده را برای اهداف مختلفی همچون داده کاوی، پردازش اطلاعات، یادگیری ماشینی و مواردی از این دست میتوان مورد استفاده قرار داد. در سال ۲۰۰۸ فریمورک Scrapy منتشر شد و اکنون از بهترین ابزار های Web Scraping و Web Crawling محسوب می شود. Scrapy برای تازه کاران ساده و برای حرفه ای ها به اندازه کافی دارای ویژگی های مثبت است.
سلام استاد این فیلم ها فوق العاده ست و از خواستم خواهش کنم که این اموزش را همینطور رایگان نگه دارید
در رابطه با كساني كه ميگويند دوره قديمي شده عرض ميكنم اتفاقا دوره هاي ديگه كه نميخواهم اسمشون را بيارم قديمي هستند و فريم وركهاي قديمي و جديد در اين دوره توسط استاد محترم گفته شده و فقط اتفاقي كه افتاده اين است كه اكثر سايتها به طور طبيعي در طول زمان تغييرات دارند كه بايد خودتون لينكها و تگهاي درست را با رويكرد استاد به روز رساني كنيد.
سلام به جناب آقاي خورنگ. واقعا از ارائه اين دوره عالي كه رايگان نيز است از شما تشكر فراوان دارم. من براي WEB SCRAPPING دوره هاي ديگه را ديده بودم كه خيلي به مشكل خوردم و بعد كه دوره شما را ديدم خيلي از مشكلاتم رفع شد.
براي شما استاد عزيز و تيم توسينسو آرزوي عزت، سلامتي و توفيق روزافزون دارم.
ارادتمند شما
سلام،
من تو مبحث web scraping نمیدونم چرا وقتی تگ اسم و مدل گوشی تو دیجیکالا رو وارد میکنم لیست خالی برمیگردونه .
سلام و خسته نباشید میخواستم بگم این دوره تقربیا خیلی قدیمی شده و حتی وب سایت هایی که داخل دوره استفاده شدن الان خیلی فرق کردن و خیلی سخت هست که با دوره پا به پا بشه رفت در حالی که دوره مفید و استاد نسبتا خوبی داره ولی وب سایت های استفاده شده داخل ویدیو و استایل کد زنی با selenium میشه گفت قدیمی هست اگه مشکلی نیست دوره رو بی زحمت اپدیت کنید با تشکر.
سلام استاد من کلا اینجا گیر میکنم anaconda هم آوردم نشد چکار کنم.

الان دوره رو تموم کردم
در یک کلام فوق العاده بود !
یک دنیا ممنون استاد ❤
خدا خیرتون بده
سلام استاد ما کد را نوشتیم سکوریتی دیجی کالا نمیازه html paraser کد های اچ تی ام ال درستو بگیره و کد روی دیجی کالا کار نمیکنه ولی روی سایت های دیگه مثل ترب کار میکنه میتونید کمک کنید
سلام و وقت بخیر . استاد من کتابخانه requests را نصب میکنم و ایمپورت کردم و تمام دستوراتم طبق آموزش نوشتم ولی با خطا مواجه میشم؟؟؟؟ دلیلش چیه؟
response = requests.get(url)
AttributeError: partially initialized module 're' has no attribute 'IGNORECASE' (most likely due to a circular import)
Traceback (most recent call last):
File "D:\web scrapting\re.py", line 1, in <module>
import requests
File "D:\install_program\venv\lib\site-packages\requests\__init__.py", line 43, in <module>
import urllib3
File "D:\install_program\venv\lib\site-packages\urllib3\__init__.py", line 8, in <module>
import logging
File "C:\Users\majid\AppData\Local\Programs\Python\Python38\lib\logging\__init__.py", line 26, in <module>
import sys, os, time, io, re, traceback, warnings, weakref, collections.abc
File "D:\web scrapting\re.py", line 5, in <module>
response = requests.get(URL)
AttributeError: partially initialized module 'requests' has no attribute 'get' (most likely due to a circular import)
سلام وقتتون بخیر
لطف می کنید اینم توضیح بدید برای بحث متفاوت بودن قیمت رنگ های یک گوشی چطور میتونیم روی اکسل دیتا رو بر اساس رنگ گوشی بیاریم و هر کدوم جداگونه قیمت خودشون رو داشته باشن.