Scrapy
فریمورک قدرتمند وباسکرپینگ با پایتون
Scrapy یک فریمورک متنباز و سریع برای استخراج داده از وبسایتهاست. با معماری غیرهمزمان (async)، سیستم میانافزار (middleware)، و پایپلاینهای پردازش داده، Scrapy ابزار حرفهایها برای کراول و اسکرپ وب است.
import scrapy class QuotesSpider(scrapy.Spider): name = "quotes" start_urls = ['https://quotes.toscrape.com'] def parse(self, response): for quote in response.css('div.quote'): yield { 'text': quote.css('span.text::text').get(), 'author': quote.css('small.author::text').get(), }
معرفی
Scrapy چیست؟
Scrapy یک فریمورک کامل برای وباسکرپینگ و خزیدن در وب است که با پایتون نوشته شده. از سال ۲۰۰۸ توسعه یافته و امروزه یکی از پرکاربردترین ابزارها در حوزه جمعآوری داده است.
سریع و کارآمد
Scrapy بهصورت ناهمزمان (async) درخواستها را مدیریت میکند و میتواند هزاران صفحه را در دقیقه پردازش کند.
معماری ماژولار
با Spider، Pipeline، Middleware و Selector هر بخش از فرآیند اسکرپ را جداگانه کنترل و سفارشیسازی کنید.
انتخابگرهای قدرتمند
از CSS Selector و XPath برای استخراج دقیق عناصر HTML استفاده کنید. XPath انعطافپذیری بیشتری برای ساختارهای پیچیده دارد.
خروجیهای متنوع
دادههای استخراجشده را به JSON، CSV، XML یا پایگاهدادههای MongoDB و PostgreSQL صادر کنید.
مدیریت درخواست
سیستم داخلی Scrapy صف درخواستها، تلاش مجدد، تأخیر و رعایت robots.txt را بهصورت خودکار مدیریت میکند.
اکوسیستم گسترده
افزونههایی مثل Scrapy-Splash، Scrapy-Playwright و Scrapy-Redis قابلیتهای پیشرفتهتری مثل رندر JavaScript و توزیعشده را فراهم میکنند.
کاربردها
با Scrapy چه میسازی؟
از کسبوکارهای کوچک تا پروژههای دیتای کلان؛ کاربردهای واقعی که هر روز با Scrapy ساخته میشوند.
استخراج محصولات فروشگاهی
نام، قیمت، موجودی و مشخصات هزاران محصول را از فروشگاههای آنلاین جمعآوری کن و در دیتابیس ذخیره کن.
مانیتورینگ قیمت
تغییرات قیمت رقبا را بهصورت دورهای رصد کن، نمودار بساز و در لحظه از نوسانات بازار باخبر شو.
جمعآوری دیتا برای ML
دیتاستهای بزرگ و تمیز برای آموزش مدلهای یادگیری ماشین و هوش مصنوعی را از وب بساز.
منابع آموزشی
از کجا شروع کنیم؟
دو راهنمای جامع فارسی برای یادگیری XPath و Scrapy — از مبتدی تا پیشرفته.
آموزش XPath
راهنمای کامل XPath به فارسی — انتخابگرها، محورها، پیششرطها، توابع و مثالهای کاربردی برای استخراج داده از HTML. ترجمه و بومیسازی شده از devhints.io/xpath.
مشاهده راهنما ← آموزش کاملآموزش Scrapy
مستندات جامع فارسی Scrapy — نصب، ساخت پروژه، Spider، Item، Pipeline، Middleware، تنظیمات و بهترین شیوهها برای نوشتن اسکرپرهای حرفهای.
شروع یادگیری ←