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

مدت :

۳ ساعت و ۴۵ دقیقه (فشرده)

قیمت : ۱۶۵,۰۰۰ تومان
LinkedIn
Twitter
Facebook
Telegram

درباره مدرس 

اطلاعات دوره

توضیحات

آیا می‌دانید وب اسکریپینگ چیست ؟ اینترنت امروز سرشار از داده‌های مفید است. وب اسکریپینگ ابزاری برای جمع آوری داده‌ها از پهنه اینترنت است. این آموزش وب اسکریپینگ با پایتون دارای سناریو بوده و سریع شما را از نقطه صفر وارد web scraping در پایتون می‌کند.

شما می‌توانید فصل‌های این بسته را جداگانه نیز تهیه کنید: 

همچنین در زمینه کاربردهای وب اسکریپینگ و چالش‌های آن، مقاله‌های زیر در مجله هم‌رویش نیز توصیه می‌شود.

 

وب اسکریپینگ یا وب اسکرپینگ، کدام تلفظ درست است؟

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

 

این آموزش در یک نگاه

این آموزش شامل سه فصل است که عنوان فصل ها در بالا ذکر شد. از نقطه صفر این آموزش شروع می شود.

در فصل اول این آموزش ابتدا با مبانی نظری وب کاوی و چرخه وب آشنا می‌شویم. سپس ابزار کدنویسی (در این آموزش، Pycharm) را آماده می‌کنیم. در ادامه با استفاده از کتابخانه urllib پایتون یک درخواست خودکار از درون اسکریپت خود به یک سرور فرستادیم و یک صفحه وب را فراخوانی و محتوای آن را چاپ کردیم. سپس به Beautifulsoup و راه اندازی سریع آن پرداختیم. آموختیم که چگونه با استفاده از این کتابخانه یک فایل html را تجزیه و یک تگ به خصوص (مثلا عنوان صفحه) را استخراج و چاپ کنیم.  در گام نهایی این آموزش در دو درس با مدیریت خطاهای ممکن آشنا خواهید شد.

فصل دوم در واقع به نوعی ادامه آموزش beautifulsoup و ابزارهای حرفه‌ای آن است. ابتدا به یافتن اطلاعات براساس css و استایل تگ‌های حاوی این اطلاعات می‌پردازیم. در ادامه با استفاده از توابع children و descendants و parent و توابع هم‌ارز siblings ساختار درختی HTML را می‌شکنیم. سپس تگ های سازنده جدول در HTML آشنا می‌شویم. آنگاه اطلاعات یک جدول را به صورت اصولی بیرون می‌کشیم. در پایان این فصل نیز هم با عبارت‌های لامبدا (Lambda Expressions) در زبان پایتون آشنا می‌شویم؛ سپس با کاربرد این عبارت‌ها در BeautifulSoup آشنا می‌شویم. وب اسکریپینگ با پایتون پیشرفته لذت بخش تر است.

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

 

آموزه های اصلی
  •  آشنایی با mac address , ip address
  • چرخه وب برای ارسال درخواست HTTP و دریافت پاسخ آن
  • نصب و راه اندازی pycharm
  • آموزش کتابخانه urllib پایتون
  • نصب کتابخانه BeautifulSoup
  • اتصال مطمئن و مدیریت Exceptions
  • استفاده از کلاس AttributeError
  • تابع getTitle و استفاده از آن
  • استفاده از تابع find_all و get_text
  • پارامتر tag، attributes، recursive ، text، keyword، limit  در تابع find() , find-all()
  • استفاده از تابع children()
  • تابع next_siblings
  • کار با تابع previous_siblings، next_sibling، previous_sibling
  • استخراج عکس از صفحه html
  • ساخت Crawler و خزش در سایت‌های واقعی

 

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

 

پیشنیار

همچنین پس از این آموزش توصیه می‌کنیم آموزش‌های زیر را برای پیشرفت بیشتر ببینید:

 

کلید واژگان

آموزش وب اسکریپینگ با پایتون – وب اسکرپینگ – آموزش web scraping در پایتون – وب اسکریپینگ با پایتون – متن کاوی – وب کاوی با پایتون

سر فصل مطالب

سر فصل مطالب

فصل اول : ساخت یک Scraper

درس اول: معرفیweb scraping وکاربرد آن
– وب اسکریپینگ چیست؟
– کاربردهای وب اسکریپینگ کجاست؟

درس دوم: چرخه وب و نقش مرورگرها
– آشنایی با mac address , ip address
– معرفی چرخه وب برای ارسال درخواست HTTP و دریافت پاسخ آن
– کاربرد مرورگرها در چرخه وب

درس سوم: نصب ابزار و اولین کد
– معرفی و نصب pycharm
– ایجاد اولین پروژه در pycharm
– معرفی کتابخانه داخلی urllib پایتون
– ساخت اولین scraper برای بیرون کشیدن اطلاعات وب

درس چهارم: شروع کار با BeautifulSoup
– معرفی کتابخانه BeautifulSoup
– نصب BeautifulSoup
– استفاده از کتابخانه BeautifulSoup برای خواندن تگ HTML از صفحه وب نمایش آن در Terminal pycharm
– مقایسه parser های مختلف

درس پنجم: اتصال مطمئن و مدیریت Exceptions
– استفاده از کلاس URLErorre و HTTPErorre

درس ششم: اتصال مطمئن و مدیریت Exceptions
– استفاده از کلاس AttributeError
– معرفی تابع getTitle و استفاده از آن

فصل دوم: تجزیه پیشرفته HTML

درس اول: معرفی
– چرا باید از تجزیه بیشرفته HTML استفاده کرد؟

درس دوم: یافتن تگ ها با استفاده از CSS
– معرفی CSS و HTML
– استفاده از تابع find_all برای یافتن تگ های css
– استفاده از تابع get_text برای حذف کردن تگ ها و نمایش متن داخل تگ ها

درس سوم:تفاوت ()Find و ()Find-All در BeautifulSoup
– معرفی توابع find() , find-all()
– معرفی پارامتر tag در تابع find() , find-all()
– معرفی پارامتر attributes در تابع find() , find-all()
– معرفی پارامتر recursive در تابع find() , find-all()
– معرفی پارامتر text در تابع find() , find-all()
– معرفی پارامتر keyword در تابع find() , find-all()
– معرفی پارامتر limit در تابع find-all()

درس چهارم: کاوش درختی ـ بخش اول
– مقدمه ای بر بیرون کشیدن اطلاعات بر اساس موقعیت آن
– آشنایی با ساختار HTML جدول ها

درس پنجم : کاوش درختی ـ بخش دوم(Dealing with children and other descendants)
– آشنایی با مفهوم children و descendants
– معرفی و استفاده از تابع children()
– معرفی و استفاده از تابع descendants()

درس ششم: کاوش درختی ـ بخش سوم(Dealing with siblings)
– معرفی انواع sibling
– معرفی و استفاده از تابع next_siblings
– معرفی تابع previous_siblings
– معرفی تابع next_sibling
– معرفی تابع previous_sibling

درس هفتم : کاوش درختی ـ بخش چهارم (Dealing with parents)
– استفاده از تگ parent برای یافتن اطلاعات

درس هشتم : عبارت‌های با قاعده (Regular Expressions)
ـ آشنایی با عبارت های باقاعده (Regular Expressions)
ـ آشنایی با علائم در عبارت با قاعده
ـ نوشتن یک عبارت با قاعده (Regular Expressions) برای شرط‌ها

درس نهم : عبارت‌های با قاعده با BeautifulSoup
(Regular Expressions and BeautifulSoup)
ـ استفاده از عبارت های باقاعده (Regular Expressions) برای بیرون کشیدن عکس ها
– استخراج عکس از صفحه html

درس دهم : عبارت لامبدا (Lambda Expressions) در BeautifulSoup
– معرفی توابع لامبدا (Lambda) در پایتون
ـ استفاده از توابع لامبدا برای بیرون کشیدن اطلاعات

فصل سوم: ساخت crawler

درس اول: معرفی دوره
ـمعرفی منبع دوره آموزشی
ـ معرفی مطالب دوره

درس دوم: بازی شش درجه ویکی‌پدیا (Six Degrees of Wikipedia)
– معرفی نظریه Six Degrees of Kevin Bacon
– آشنایی با بازی بازی شش درجه ویکی‌پدیا

درس سوم: ساخت اسکریپر برای بیرون کشیدن لینک‌های داخل یک صفحه
– ساخت اسکریپر برای بیرون کشیدن تمام لینک‌های داخل صفحه ویکی‌پدیا
– نوشتن عبارت منظم برای تشخیص لینک‌های داخل مقالات ویکی پدیا‌‌‌
– ساخت اسکریپر برای بیرون کشیدن لینک‌های داخل مقالات ویکی‌پدیا

درس چهارم: خزش در یک دامنه (Traversing a Single Domain)
– ساخت اسکریپر برای بیرون کشیدن تمام لینک‌های داخل صفحه ویکی‌پدیا‌‌
‌- نوشتن عبارت منظم برای تشخیص لینک‌های داخل مقالات ویکی پدیا

درس پنجم : خزش در تمام صفحات یک سایت (Crawling an Entire Site)
– کاربرد خزش در تمام صفحات یک وبسایت
– تعریف پروژه کراولینگ وبسایت دیجی کالا

درس ششم: خزش در صفحه محصولات وبسایت دیجی کالا (Crawling an Entire digikala)
– معرفی set در پایتون
ـ استفاده از کتابخونه urllib.parse برای مرتب کردن url های فارسی
– ساخت کراولر برای حرکت در صفحه محصولات دیجیکالا

درس هفتم : جمع‌آوری داده‌های سایت دیجی‌کالا (Collecting Data Across an Entire Digikala)
– یافتن تگ های html حاوی اطلاعات مورد نیاز ما از وبسایت دیجی کالا
ـ مدریت AttributeError
– ساخت کراولر برای بیرون کشیدن عنوان و ویژگی محصولات دیجیکالا
ـ استفاده از متد strip() برای منظم نمایش دادن اطلاعات در ترمینال

درس هشتم : خزش در اینترنت (Crawling an Entire Site) بخش اول
– کاربرد خزش در اینترنت
ـ معرفی خزش در اینترنت

درس نهم : خزش در اینترنت (Crawling an Entire Site)  بخش دوم
– معرفی اساس کار کراولرهای اینترنت
– تعریف تابع getInternalLinks برای بیرون کشیدن لیستی از لینک های داخلی صفحه ها

درس دهم : خزش در اینترنت (Crawling an Entire Site) بخش سوم
– تعریف تابع getExternalLinks برای بیرون کشیدن لیستی از لینک های خارجی صفحه ها
ـ تعریف تابع getRandomExternalLink برای استفاده از دو تابع قبل و انتخاب رندوم از لینک های خارجی وبسایت
ـ تعریف تابع followExternalOnly برای خزش در لینک های خارجی و وبسایت های مختلف
ـ اجرای کراولر برای وبسایت oreilly.com و خزش تصادفی در لینک خارجی وبسایت

درس یازدهم : بیرون کشیدن تمام لینک های خارجی یک سایت
ـ تعریف تابع getAllExternalLinks برای ‌ذخیره کردن لیستی از لینک های خارجی صفحه
ـ اجرای کراولر برای وبسایت oreilly.com و ذخیره کردن لینک خارجی وبسایت

درس دوازدهم : اصلاحیه
ـ اصلاحه بخشی از کدهای تابع getAllExternalLinks

نظرات (6)

6 دیدگاه برای آموزش وب اسکریپینگ با پایتون از صفر ــ بسته مقدماتی

  1. مهدی فاضلی

    سلام وقت بخیر
    میخواستم بدون با این دوره میشه محتوا هایی که از طریق ajax تو سایت ها تولید میشه رو هم اسکریپ کنم؟ اگر نمیشه با کدوم دوره تو سایت میشه این نوع محتوا ها رو اسکریپ کرد مثلا بدست آورده شماره های تو سایت دیوار یا باما که نیاز به تعامل انسانی داره و باید روش کلیک بشه .ممنونم از توجه تون

    • مصطفی آصفی

      سلام وقت بخیر. گمان نمی کنم تو این دوره گفته شده باشه ولی می تونید ریز سرفصل رو بررسی کنید. برای تعامل انسانی این دوره ساخت ربات اینستاگرام (+) و کتابخونه سلنیوم می تونه بهتون دید بده. البته دقت کنید که اون دوره با توجه به تغییرات اینستاگرام الان ممکنه رباتش کار نکنه ولی کتابخونه سلنیوم به هر حال سر جاش هست.

  2. Farshid (خریدار محصول)

    سلام مجدد یکی درمیان آموزشها بصورت سایلنت همراه با تصویر هستند برای مثال قسمت : [😒-WM-01-Scraper-04] را ملاحظه بفرمایید.با VLC ,MPC, Media Player و دوتای دیگه هم چکیدم باز هم فیلم صامت بود.من فقط یکی از قسمتها برای مراجعه شما اعلان کردم وگرنه قسمتهای بیشتری همین مشکل را دارند.!خیلی خیلی اول کاری توی برجکم خورد اساسی. لطفا لطفا جواب بنده را در اسرع وقت بفرمایید

    • روابط عمومی هم رویش

      با سلام مجدد. همراه گرامی قسمتی که فرمودید تست شد و صدا مشکلی نداشت. قسمت مورد نظر قسمتی از فصل اول دوره بوده که به صورت مستقل تاکنون بالای 350 خرید داشته و همچنین به عنوان بخشی از بسته مقدماتی توسط فراگیران فراوانی دریافت شده و تاکنون گزارشی مبنی بر مشکل صدا از طرف خریداران دریافت نکرده ایم. با وجود این تفاسیر لینک دانلود قسمتی که میفرمایید مشکل صدا دارد برای آدرس ایمیلی که ثبت سفارش داشته اید ارسال میگردد لطف بفرمایید یک بار در گوشی هوشمند تست بفرمایید. اگر مشکل پابرجا بود برای ایمیل روابط عمومی به آدرس زیر مشکل خود را اعلام نمایید تا بررسی بیشتری گردد. info@hamruyesh.com

  3. Nikzad (خریدار محصول)

    بسیار آموزش خوبی بود – سپاسگزارم از زحمات شما

    • معصومه کرمی

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

  4. kheiri.saeid@gmail.com

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

  5. ابوالفضل حسن زاده

    سلام استاد خسته نباشید. استاد من میخوام یه برنامه بنویسم با پایتون که هر موقع به اینترنت وصل شدم به یه سری سایت سر بزنه و برام از خواننده های مورد علاقم جدید ترین اهنگی که منتشر شده و یا من ندارم رو برام دانلود کنه. به نظر شما با دیدن این اموزش من میتونم این کار رو انجام بدم اصلا شدنی هست؟

  6. مصطفی آصفی

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

دیدگاه خود را بنویسید

نظرات کاربران در خصوص دوره 

6 دیدگاه برای آموزش وب اسکریپینگ با پایتون از صفر ــ بسته مقدماتی

  1. مهدی فاضلی

    سلام وقت بخیر
    میخواستم بدون با این دوره میشه محتوا هایی که از طریق ajax تو سایت ها تولید میشه رو هم اسکریپ کنم؟ اگر نمیشه با کدوم دوره تو سایت میشه این نوع محتوا ها رو اسکریپ کرد مثلا بدست آورده شماره های تو سایت دیوار یا باما که نیاز به تعامل انسانی داره و باید روش کلیک بشه .ممنونم از توجه تون

    • مصطفی آصفی

      سلام وقت بخیر. گمان نمی کنم تو این دوره گفته شده باشه ولی می تونید ریز سرفصل رو بررسی کنید. برای تعامل انسانی این دوره ساخت ربات اینستاگرام (+) و کتابخونه سلنیوم می تونه بهتون دید بده. البته دقت کنید که اون دوره با توجه به تغییرات اینستاگرام الان ممکنه رباتش کار نکنه ولی کتابخونه سلنیوم به هر حال سر جاش هست.

  2. Farshid (خریدار محصول)

    سلام مجدد یکی درمیان آموزشها بصورت سایلنت همراه با تصویر هستند برای مثال قسمت : [😒-WM-01-Scraper-04] را ملاحظه بفرمایید.با VLC ,MPC, Media Player و دوتای دیگه هم چکیدم باز هم فیلم صامت بود.من فقط یکی از قسمتها برای مراجعه شما اعلان کردم وگرنه قسمتهای بیشتری همین مشکل را دارند.!خیلی خیلی اول کاری توی برجکم خورد اساسی. لطفا لطفا جواب بنده را در اسرع وقت بفرمایید

    • روابط عمومی هم رویش

      با سلام مجدد. همراه گرامی قسمتی که فرمودید تست شد و صدا مشکلی نداشت. قسمت مورد نظر قسمتی از فصل اول دوره بوده که به صورت مستقل تاکنون بالای 350 خرید داشته و همچنین به عنوان بخشی از بسته مقدماتی توسط فراگیران فراوانی دریافت شده و تاکنون گزارشی مبنی بر مشکل صدا از طرف خریداران دریافت نکرده ایم. با وجود این تفاسیر لینک دانلود قسمتی که میفرمایید مشکل صدا دارد برای آدرس ایمیلی که ثبت سفارش داشته اید ارسال میگردد لطف بفرمایید یک بار در گوشی هوشمند تست بفرمایید. اگر مشکل پابرجا بود برای ایمیل روابط عمومی به آدرس زیر مشکل خود را اعلام نمایید تا بررسی بیشتری گردد. info@hamruyesh.com

  3. Nikzad (خریدار محصول)

    بسیار آموزش خوبی بود – سپاسگزارم از زحمات شما

    • معصومه کرمی

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

  4. kheiri.saeid@gmail.com

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

  5. ابوالفضل حسن زاده

    سلام استاد خسته نباشید. استاد من میخوام یه برنامه بنویسم با پایتون که هر موقع به اینترنت وصل شدم به یه سری سایت سر بزنه و برام از خواننده های مورد علاقم جدید ترین اهنگی که منتشر شده و یا من ندارم رو برام دانلود کنه. به نظر شما با دیدن این اموزش من میتونم این کار رو انجام بدم اصلا شدنی هست؟

  6. مصطفی آصفی

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

دیدگاه خود را بنویسید