الـ Requests هي مكتبة مبنية بلغة بايثون تستخدم لإرسال طلبات HTTP بشكل سهل ومرن، يمكن استخدام Requests في إستدعاء موارد الويب مثل صفحات HTML والبيانات من نوع JSON والتعامل مع البيانات المستدعاة بسهولة، تتميز Requests بطرق سهلة الإستخدام وتوفير ميزات مثل إعادة التوجيه التلقائي وإدارة الجلسات وغيرها.
إذا كنا نبحث عن بعض المعلومات من اي موقع او نريد الوصول إلى حسابات وسائل التواصل الاجتماعي او التحقق من رسائل البريد الإلكتروني وغيرها، يجب ان نرسل الطلب بإستخدام المتصفح ويقوم السيرفر بإرجاع النتيجة المطلوبة من سيرفر الويب للحصول على المعلومات المطلوبة اي اننا نحتاج إلى إرسال (الطلب) من خلال المتصفح.
مثال عن طريقة إرسال الطلبات عندما نقوم بالبحث عن دروس Python كمثال على Google يتم إرسال طلب HTTP إلى سيرفر Google ويقوم السيرفر بإرجاع نتائج البحث هنا يتم التواصل بين العميل والسيرفر ويستخدم في هذه الحالة بروتوكول نقل النص HTTP والذي يتيح التواصل بين العميل والسيرفر عبر الإنترنت وهذا يعنى اننا وصلنا للمعلومة التي بحثنا عنها عبر إرسال طلب او Requests.
import requests
def search_book(query):
url = f"https://www.googleapis.com/books/v1/volumes?q={query}"
response = requests.get(url)
if response.status_code == 200:
data = response.json()
total_results = data['totalItems']
print(f"Total results found: {total_results}\n")
if total_results > 0:
books = data['items']
for book in books:
book_info = book['volumeInfo']
title = book_info['title']
authors = book_info['authors']
print(f"Title: {title}")
print(f"Authors: {', '.join(authors)}")
print("-----------------------")
else:
print("No results found.")
else:
print("An error occurred while fetching data.")
search_book("Python") الكود السابق يقوم بالبحث عن الكتب باستخدام API Google Books.
requests.get(url, param = {key:value}, args) في المثال السابق تم إرسال طلب عبر GET إلى عنوان URL المحدد ويمكن تمرير معلومات الاستعلام المطلوبة في params.
requests.post(url, data={key: value}, json={key: value}, args) في المثال السابق تم إرسال البيانات عبر POST ويتم تحديد URL الذي نريد إرسال البيانات إليه، الـ Data وهي تحديد نوع البيانات المرسلة، أما بالنسبة لـ JSON هو الـ object او الكائن الذي سيتم إرساله إلى عنوان URL.
ختاماً تعتبر مكتبة Requests في لغة Python مهمة في إرسال طلبات الويب والتفاعل مع البيانات، بإستخدام هذه المكتبة يمكن للمطورين بسهولة إنشاء تطبيقات وأدوات تفاعلية تعتمد على البيانات عبر الويب وتحليل هذه البيانات وإجراء إختبارات على هذه التطبيقات، يفضل إستكشاف المزيد من الموارد في مكتبة Requests للإستفادة من إمكانياتها بشكل أكبر.