Learn Programming تعلم البرمجة
26.8K subscribers
256 photos
8 videos
40 files
342 links
Get started on your programming journey with our tutorials. Learn how to code and develop your skills in various languages with our beginner-friendly platform.
For advertising and cooperation or to buy the channel
Contact us: @tellmy_bot
Download Telegram
هل تساءلت يومًا عن كيفية الحصول على بياناتك المفضلة من الإنترنت، مثل أسعار المنتجات، أو أخبار معينة، أو حتى قوائم المقالات من المواقع المختلفة؟ إذاً، فأنت في المكان الصحيح! في هذا المقال، سنستعرض تقنية Web Scraping، وهي أداة قوية تتيح لنا سحب البيانات من الويب بسهولة ويسر باستخدام لغة بايثون.

من خلال تقنيات Web Scraping، يمكننا استخراج البيانات من أي موقع واستغلالها في أبحاثنا، أو تحليل البيانات، أو حتى مشاريعنا الشخصية. فلنبدأ سويًا في رحلة ممتعة إلى عالم Web Scraping، وسنكون معك في كل خطوة باستخدام أمثلة عملية!

### ما هو Web Scraping؟

هو عملية استخراج المعلومات من مواقع الويب بشكل تلقائي. من خلال استخدام أكواد برمجية، يمكنك قراءة صفحات الإنترنت واستخلاص المعلومات المهمة منها، فهذا يشبه تجميع قطع الألغاز لتكوين صورة كاملة. ولكن كيف نفعل ذلك؟ دعونا نستعرض الخطوات الأساسية.

### الأدوات المطلوبة

لنتبع هذه التقنية، سنحتاج إلى بعض المكتبات الأساسية في بايثون:

1. Requests: لإرسال الطلبات إلى المواقع واستلام المحتوى.
2. BeautifulSoup: لتحليل المحتوى ورؤية ما يجري تحت الغطاء.
3. Pandas: لتنظيم البيانات في شكل جداول.

قبل أن نبدأ، تأكد من تثبيت المكتبات:

pip install requests beautifulsoup4 pandas

### الخطوة 1: إرسال طلب إلى الموقع

دعنا نبدأ بإرسال طلب إلى موقع معين. لنجرب ذلك مع موقع example.com:

import requests

# إرسال طلب إلى الموقع
url = 'https://example.com'
response = requests.get(url)

# التأكد من نجاح الطلب
if response.status_code == 200:
    print("تمت العملية بنجاح!")
else:
    print("فشل الطلب: ", response.status_code)

### الخطوة 2: تحليل الصفحة واستخراج البيانات

الآن بعد أن حصلنا على صفحة الويب، حان الوقت لتحليل المحتوى باستخدام BeautifulSoup:

from bs4 import BeautifulSoup

# تحليل المحتوى
soup = BeautifulSoup(response.content, 'html.parser')

# الحصول على جميع عناصر العناوين
titles = soup.find_all('h1')  # لنفترض أننا نبحث عن العناوين الرئيسية

# طباعة العناوين
for title in titles:
    print(title.text)

### الخطوة 3: مثال عملي - جمع البيانات من موقع بيع المنتجات

لنأخذ مثالاً عمليًا. لنفترض أنك تريد جمع بيانات الأسعار من موقع بيع إلكتروني، مثل موقع المتاجر الشهيرة. إليك كيف يمكنك القيام بذلك:

#### اكتب الكود الخاص بك:

import requests
from bs4 import BeautifulSoup
import pandas as pd

# عنوان الموقع الذي نريد جمع البيانات منه
url = 'https://www.example-ecommerce-website.com'

# إرسال طلب GET
response = requests.get(url)

# تحليل المحتوى
soup = BeautifulSoup(response.content, 'html.parser')

# إنشاء قوائم لتخزين البيانات
products = []
prices = []

# نحصل على كل المنتجين والأسعار من الصفحة
for item in soup.find_all('div', class_='product-item'):
    product_name = item.find('h2', class_='product-title').text
    product_price = item.find('span', class_='product-price').text
    products.append(product_name)
    prices.append(product_price)

# إنشاء DataFrame وتنظيم البيانات
data = pd.DataFrame({
    'Product Name': products,
    'Price': prices
})

# حفظ البيانات في ملف CSV
data.to_csv('products.csv', index=False)
print("تم حفظ البيانات في ملف products.csv")

### الخطوة 4: استكشاف البيانات

بعد جمع البيانات، يمكنك فتح ملف products.csv واستخدام مكتبة Pandas لتحليل البيانات بشكل أفضل:

# قراءة البيانات من ملف CSV
data = pd.read_csv('products.csv')

# عرض البيانات
print(data.head())

### الخاتمة: لماذا تعتبر تقنية Web Scraping مهمة؟

لقد استعرضنا الآن كيفية استخدام Web Scraping لجمع البيانات من الإنترنت باستخدام بايثون. تتعدد استخدامات هذه التقنية، من تحليل السوق إلى البحث العلمي، ولديها إمكانيات لا حصر لها. تذكر أنه يجب دائمًا احترام شروط الخدمة للمواقع التي تقوم بجمع البيانات منها، وأن بعض المواقع قد تضع قيودًا على استخدام هذه التقنية.

- #تقنية
- #برمجة
- #بيانات
- #استخراج_البيانات
- #بايثون
- #تحليل_البيانات
- #Web_Scraping
- #تطوير_البرمجيات
- #مشاريع
- #معلومات

- #Technology
- #Programming
- #Data
- #Data_Extraction
- #Python
- #Data_Analysis
- #Web_Scraping
- #Software_Development
- #Projects
- #Information
- #SuDevelopers

🎯فضلا شارك المنشور مع اصدقاءك المهتمين.



@SuDevelopers | SUBSCRIBE
👍15❤5🥰1