لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش 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 را یاد بگیریم؟
چه یک تحلیلگر داده، یک توسعهدهنده وب یا حتی فردی که میخواهد بهعنوان فریلنسر کار کند، باید اسکرپینگ وب را یاد بگیرید.
برای یک تحلیلگر داده، ساخت یک مجموعه داده بسیار مهم است، بنابراین بدون خراش وب شما به سادگی نمی توانید آن را ایجاد کنید، علاوه بر این که اضافه کردن خراش وب در رزومه شما یک مزیت برای شماست.
خراش دادن وب را می توان در زمینه های مختلفی استفاده کرد، بنابراین اجازه دهید چند نمونه در مورد کارهایی که می توانید با آن انجام دهید به شما ارائه دهم:
سرنخ ایجاد کنید،
حمل و نقل را در جایی رها کنید که اساساً به طور مداوم محصولات را از فروشگاههای آنلاین مختلف میخرید و در وبسایت خود نشان میدهید تا درآمد کسب کنید،
برای دریافت بهترین معاملات، قیمت محصولات را کنترل کنید،
اتوماسیون،
یادگیری ماشین،
فریلنسر خراش دادن وب
البته هزاران تن و زمینه های گوناگونی وجود دارد که خراش دادن وب می تواند بسیار مفید باشد.
آیا این دوره برای شما مناسب است؟
من این دوره را با دقت برنامه ریزی و طراحی کرده ام تا برای مبتدیان مفید باشد، از تجربه خود می دانم که کسانی که وب اسکرپینگ را انجام می دهند، عمدتاً تحلیلگر داده هستند و هیچ دانشی در زمینه نحوه کار وب، نحوه درخواست ها، نحوه مکان یابی و تجزیه و تحلیل داده ها از وب و خیلی چیزهای دیگر، علاوه بر این، این دوره به روزترین دوره در مورد مواد گنجانده شده و ابزارهای مورد استفاده است، بنابراین در این دوره
من به شما پرکاربردترین ابزار/چارچوب های خراش دادن وب را معرفی می کنم
محیط توسعه را از ابتدا راه اندازی می کنیم
شما اصول اصلی LXML را خواهید آموخت و درک خواهید کرد
نحوه استفاده از انتخابگرهای XPath CSS برای انتخاب داده ها از یک صفحه وب
نحوه عملکرد وب (درخواست/پاسخ)
نحوه خراش دادن صفحات وب ساده HTML
نحوه خراش دادن چندین صفحه وب
دادهها را از API استخراج کنید
شما Splash (دوره خرابی) را خواهید آموخت، بنابراین می توانید از آن برای خراش دادن وب سایت های جاوا اسکریپت استفاده کنید
تأیید هویت/ورود به سیستم
دادههای استخراجشده را در فایلهای JSON/CSV یا MongoDb/SQLite3 ذخیره کنید
نکات و ترفندهای انحصاری در مورد خراش دادن وب
در نهایت این دوره مبتنی بر پروژه است، هر بخش از قسمت دوم شروع می شود، ما با یک وب سایت متفاوت آزمایش خواهیم کرد، هر پروژه درجه خاصی از دشواری دارد و هر یک کاملاً مستقل از پروژه های دیگر است.
آیا تکالیف/تمرینی در این دوره وجود دارد؟
بله، هر بخش یک تکلیف در آن گنجانده شده است، این کار به کثیف شدن دستهای شما کمک میکند و در پایان هر بخش پس از انجام تکالیف گنجانده شده، با خراش دادن وب احساس اطمینان و راحتی بیشتری خواهید داشت.
چرا 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
ذخیره داده ها در ابر 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
نمایش نظرات