مقدمه:
Scrapy یکی از قدرتمندترین فریمورکهای پایتون برای خزندهسازی وب و استخراج دادهها است. در این مقاله، یک پروژه سبک و ساده برای جمعآوری عناوین اخبار از یک وبسایت خبری را بررسی خواهیم کرد. این پروژه به شما کمک میکند تا اصول اولیه کار با Scrapy را یاد بگیرید و بهراحتی دادهها را از صفحات وب استخراج کنید.
پیشنیازها
برای اجرای این پروژه، ابتدا باید Python و Scrapy را نصب کنید. اگر هنوز Scrapy را نصب نکردهاید، میتوانید با دستور زیر آن را نصب کنید:
pip install scrapy
ساخت یک پروژه جدید در Scrapy
ابتدا یک پروژه Scrapy جدید ایجاد میکنیم:
scrapy startproject news_scraper
سپس وارد پوشه پروژه شوید:
cd news_scraper
ایجاد یک اسپایدر (خزنده)
در مرحله بعد، یک اسپایدر برای جمعآوری عناوین اخبار از یک وبسایت خبری ایجاد میکنیم. در اینجا از وبسایت example.com/news بهعنوان نمونه استفاده میکنیم:
scrapy genspider news_spider example.com
فایل جدیدی به نام news_spider.py در مسیر news_scraper/spiders/
ایجاد خواهد شد. آن را باز کنید و کد زیر را در آن قرار دهید:
import scrapy
class NewsSpider(scrapy.Spider):
name = "news_spider"
start_urls = ["https://example.com/news"]
def parse(self, response):
for article in response.css("div.article"):
yield {
"title": article.css("h2::text").get(),
"link": article.css("a::attr(href)").get(),
}
اجرای اسپایدر و ذخیره دادهها
اکنون میتوانیم اسپایدر خود را اجرا کنیم و عناوین اخبار را در یک فایل ذخیره کنیم:
scrapy crawl news_spider -o news.json
این دستور عناوین و لینکهای اخبار را جمعآوری کرده و در یک فایل news.json ذخیره میکند.
نتیجهگیری
در این پروژه، نحوه ایجاد یک خزنده ساده برای جمعآوری عناوین اخبار را بررسی کردیم. Scrapy ابزار قدرتمندی است که میتواند برای پروژههای کوچک و بزرگ استخراج داده از وب استفاده شود. در مقالات بعدی، میتوانیم به موضوعاتی مانند ذخیره دادهها در پایگاه داده، مدیریت رباتها و پیشرفتهسازی خزندهها بپردازیم.
🔥 نظر شما چیست؟ آیا تجربهای در کار با Scrapy داشتهاید؟ نظرات خود را با ما به اشتراک بگذارید! 🚀