آموزش Web Scraping 101 با Python3 با استفاده از REQUESTS، LXML و SPLASH

Web Scraping 101 with Python3 using REQUESTS, LXML & SPLASH

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: Web Scraping برای مبتدیان مطلق با Python با استفاده از Requests، LXML قدرتمند و Splash برای وب سایت های جاوا اسکریپت اصول اصلی LXML انتخابگرهای XPath و CSS نحوه ارسال درخواست های HTTP با Python Scraping صفحات وب HTML خراش دادن چندین صفحه با استفاده از API های بازگشتی Scraping API ها Splash HTTP API Scraping با استفاده از جاوا اسکریپت احراز هویت و ورود به وب‌سایت‌ها با استفاده از درخواست‌ها بهترین شیوه‌های Web scraping ساخت مجموعه داده‌ها پیش نیازها: سطح پایه رایانه پایتون با اتصال به اینترنت

خراش دادن وب چیست؟

فرض کنید رئیس شما در محل کار به شما وظیفه ای داده است که در آن از شما می خواهد که حدود 1000 محصول را از یک وب سایت استخراج کنید، داده ها را ساختار دهید و در یک پایگاه داده ذخیره کنید، آیا می توانید تمام جزئیات محصول را به صورت دستی از نام محصول کپی کنید. آدرس و قیمت؟ من می توانم تصور کنم که شما روزها و شب ها کار می کنید و کار را تمام نمی کنید، بنابراین اینجاست که خراش دادن وب می درخشد. بنابراین خراش دادن وب، یا برداشت وب یا استخراج داده های وب مانند نوشتن یک اسکریپت است که استخراج داده ها از وب سایت ها را در عرض چند دقیقه به طور خودکار انجام می دهد!.

چرا Web Scraping را یاد بگیریم؟

چه یک تحلیلگر داده، یک توسعه‌دهنده وب یا حتی فردی که می‌خواهد به‌عنوان فریلنسر کار کند، باید اسکرپینگ وب را یاد بگیرید.

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

خراش دادن وب را می توان در زمینه های مختلفی استفاده کرد، بنابراین اجازه دهید چند نمونه در مورد کارهایی که می توانید با آن انجام دهید به شما ارائه دهم:

  1. سرنخ ایجاد کنید،

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

  3. برای دریافت بهترین معاملات، قیمت محصولات را کنترل کنید،

  4. اتوماسیون،

  5. یادگیری ماشین،

  6. فریلنسر خراش دادن وب

البته هزاران تن و زمینه های گوناگونی وجود دارد که خراش دادن وب می تواند بسیار مفید باشد.

آیا این دوره برای شما مناسب است؟

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

  1. من به شما پرکاربردترین ابزار/چارچوب های خراش دادن وب را معرفی می کنم

  2. محیط توسعه را از ابتدا راه اندازی می کنیم

  3. شما اصول اصلی LXML را خواهید آموخت و درک خواهید کرد

  4. نحوه استفاده از انتخابگرهای XPath CSS برای انتخاب داده ها از یک صفحه وب

  5. نحوه عملکرد وب (درخواست/پاسخ)

  6. نحوه خراش دادن صفحات وب ساده HTML

  7. نحوه خراش دادن چندین صفحه وب

  8. داده‌ها را از API استخراج کنید

  9. شما Splash (دوره خرابی) را خواهید آموخت، بنابراین می توانید از آن برای خراش دادن وب سایت های جاوا اسکریپت استفاده کنید

  10. تأیید هویت/ورود به سیستم

  11. داده‌های استخراج‌شده را در فایل‌های JSON/CSV یا MongoDb/SQLite3 ذخیره کنید

  12. نکات و ترفندهای انحصاری در مورد خراش دادن وب

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

آیا تکالیف/تمرینی در این دوره وجود دارد؟

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

چرا LXML و نه BeautifulSoup؟

LXML یک تجزیه‌کننده سبک HTML است، حتی محبوب‌ترین فریم ورک اسکرپینگ وب (Scrapy) در بالای LXML ساخته شده است، BeautifulSoup کمی با تعداد توابعی که در معرض دید ما قرار گرفته است، عملکردهای بیشتری برای استفاده دارد، بله درست است ! با این حال، در Web Scraping اغلب از انتخابگرهای XPath و CSS برای پیمایش و انتخاب مواردی که باید از صفحه وب HTML (درخت) استفاده کنیم، بنابراین نیازی به یادگیری عملکردهای جدید و اتلاف تمام وقت برای آشنایی با BeautifulSoup نیست. API و معماری داخلی، علاوه بر تمام آن LXML از نظر عملکرد بسیار بهتر از BeautifulSoup است.

مربی شما کیست؟

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

آیا باید در این دوره ثبت نام کنم؟

راستش را بخواهید، با ثبت نام در این دوره چیزی برای از دست دادن ندارید، زیرا اگر این دوره شرایط شما را برآورده نکرد، همیشه می توانید در کمتر از 30 روز از روز ثبت نام در دوره تضمین شده توسط Udemy درخواست بازپرداخت کنید. بدون هیچ سوالی برای پرسیدن!

بنابراین اگر چیزی در مورد اسکراپینگ وب نمی دانید، نمی دانید از کجا شروع کنید، اکنون ثبت نام کنید! :)


سرفصل ها و درس ها

شروع شدن Getting Started

  • معرفی دوره Course Introduction

  • ابزارهای Web Scraping Web Scraping tools

  • ایجاد محیط توسعه Setting up the development environnement

  • Udemy 101 (اختیاری) Udemy 101 (OPTIONAL)

  • چگونه سوال بپرسیم (لطفا از دست ندهید) How to Ask questions (Please don't skip)

اصول اصلی LXML LXML core fundamentals

  • اطلاعات بخش Section Info

  • شی ElementTree ElementTree object

  • شی عنصر Element object

  • مقدمه ای بر LXML با XPath Introduction to LXML with XPath

  • معرفی LXML با انتخابگرهای CSS Introduction to LXML with CSS Selectors

  • منبع کد سخنرانی به سخنرانی Code source lecture by lecture

انتخابگرهای XPath و CSS XPath & CSS Selectors

  • اطلاعات بخش Section Info

  • XPath و CSS چیست؟ What is XPath & CSS

  • اصول انتخابگرهای CSS CSS Selectors fundamentals

  • انتخابگرهای CSS در تئوری CSS selectors in theory

  • اصول XPath XPath fundamentals

  • پیمایش با استفاده از XPath (Going UP) Navigating using XPath(Going UP)

  • پیمایش با استفاده از XPath (Going DOWN) Navigating using XPath(Going DOWN)

  • XPath در تئوری XPath in theory

درخواست های HTTP با پایتون HTTP Requests with Python

  • اطلاعات بخش Section Info

  • وب چگونه کار می کند How the web works

  • درخواست های پایتون Python Requests

  • هدرهای درخواست/پاسخ Request/Response headers

  • امتحان Quiz

پروژه 1: ساده و تمیز Project 1: Simple & Clean

  • اطلاعات بخش Section Info

  • مکان یابی داده ها Locating the data

  • ساخت Scraper Building the Scraper

  • پاک کردن داده ها Cleaning the data

  • نوشتن داده ها در فایل های JSON/CSV Writing data to JSON/CSV files

  • تبدیل آن به یک برنامه خط فرمان Turning it into a command line app

  • کد منبع پروژه 1 Project 1 source code

  • محصولات پرطرفدار ebay Ebay trending products

پروژه 2: بازگشت Project 2: Recursion

  • اطلاعات بخش Section Info

  • خلاص شدن از شر جاوا اسکریپت غیر ضروری Getting rid of unnecessary JavaScript

  • خراش دادن داده ها Scraping Data

  • خراش دادن چندین صفحه (بازگشت) Scraping multiple pages (Recursion)

  • ذخیره داده ها در ابر MongoDb Storing the data in MongoDb cloud

  • 6-5 از ذخیره سوابق مشابه و به روز رسانی سوابق جلوگیری کنید 6-5 Prevent storing same records and updating records

  • به روز رسانی CoinMarketCap CoinMarketCap update

  • کد منبع پروژه 2 Project 2 source code

  • بهترین فیلم های IMDB IMDB top movies

پروژه 3: API ها Project 3: APIs

  • اطلاعات بخش Section Info

  • API/HTML چه تفاوتی دارد؟ API/HTML What's the difference ?

  • تولید کد با استفاده از Postman Generating code using Postman

  • تجزیه APIها Parsing APIs

  • چالش بازگشت Recursion challenge

  • راه حل چالش (خراش APIها به صورت بازگشتی) Challenge solution (Scraping APIs recursively)

  • درج داده ها در پایگاه داده SQLite3 Inserting data into SQLite3 database

  • کد منبع پروژه 3 Project 3 source code

دوره سقوط اسپلش Splash crash course

  • اطلاعات بخش Section Info

  • اسپلش چیست؟ What is Splash ?

  • راه اندازی Splash Setting up Splash

  • مقدمه ای برای اسپلش Intro to Splash

  • عناصر را انتخاب کنید، ورودی ها را پر کنید و روی دکمه ها کلیک کنید Selecting Elements, filling Inputs and clicking on Buttons

  • سربرگ‌های درخواست و پاسخ Splash Request & Response headers

  • منبع بسیار مفید (سؤالات متداول SPLASH) Very useful resource (SPLASH FAQ)

  • پرواز آگاه Flight Aware

پروژه 4: خراش دادن وب سایت های جاوا اسکریپت با استفاده از Splash، Requests و LXML Project 4: Scraping JavaScript websites using Splash, Requests and LXML

  • اطلاعات بخش Section Info

  • حالت خصوصی و کوکی ها را پخش کنید Splash private mode and cookies

  • یادداشت سریع (حالت خصوصی اسپلش) Quick note (Splash private mode)

  • استفاده از Splash با درخواست Using Splash with Requests

  • تجزیه پاسخ Parsing the Response

  • کد منبع پروژه 4 Project 4 source code

  • Scraping FlightAware با استفاده از Splash & Requests Scraping FlightAware using Splash & Requests

پروژه 5: احراز هویت/ورود Project 5: Authentication/Login

  • اطلاعات بخش Section Info

  • احراز هویت مرورگر Browser authentication

  • درخواست احراز هویت Requests authentication

  • HTML را تجزیه و تمیز کنید Parse and clean HTML

  • کد منبع پروژه 5 Project 5 source code

جایزه BONUS

  • سخنرانی پاداش Bonus lecture

نمایش نظرات

آموزش Web Scraping 101 با Python3 با استفاده از REQUESTS، LXML و SPLASH
جزییات دوره
4.5 hours
65
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
3,131
4.1 از 5
دارد
دارد
دارد
Ahmed Rafik
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Ahmed Rafik Ahmed Rafik

توسعه دهنده و مدرس آنلاین