غلاف Python لواجهة برمجة تطبيقات Brave Search.
لا يتتبع Brave Search أنت أو استفساراتك، فهو بديل يحافظ على الخصوصية لبحث Google. إنه يوفر العديد من نقاط النهاية للمطورين للبناء عليها. هذه الوحدة عبارة عن غلاف لواجهة برمجة تطبيقات Brave Search.
هذا الريبو قيد التطوير النشط، وقد تتغير وظائفه. إذا كان لديك أي اقتراحات أو طلبات، يرجى فتح الموضوع.
للبدء، قم بتثبيت الحزمة باستخدام النقطة:
pip install brave-search
تدعم الوحدة كلا من الطلبات المتزامنة وغير المتزامنة. يمكن تمرير مفتاح Brave API الخاص بك كمتغير بيئة ضمن BRAVE_API_KEY
أو كوسيطة لفئة Brave.
from brave import Brave
brave = Brave ()
query = "cobalt mining"
num_results = 10
search_results = brave . search ( q = query , count = num_results )
سيتضمن كائن search_results
جميع البيانات التي تم إرجاعها بواسطة واجهة برمجة تطبيقات Brave Search. يمكنك الوصول إلى نتائج Web
News
Video
من نقطة نهاية بحث الويب كما يلي:
web_results = search_results . web_results
news_results = search_results . news_results
video_results = search_results . video_results
تدعم الوحدة أيضًا الطلبات غير المتزامنة:
from brave import AsyncBrave
brave = AsyncBrave ()
query = "cobalt mining"
num_results = 10
search_results = await brave . search ( q = query , count = num_results )
لإرجاع استجابة JSON الأولية التي لم يتم التحقق من صحتها من خلال نموذج pydantic، استخدم العلامة raw
:
from brave import Brave
query = "George Orwell, 1984"
num_results = 10
search_results = brave . search ( q = query , raw = True )
استخدم طريقة download_pdfs
لتنزيل جميع ملفات PDF الموجودة في نتائج البحث. تقوم هذه الطريقة بإرجاع قائمة مسارات الملفات إلى ملفات PDF التي تم تنزيلها. يمكنك استخدام Goggles لتعزيز ملفات PDF في نتائج البحث.
from brave import Brave
brave = Brave ()
query = "cobalt mining"
num_results = 10
search_results = brave . search ( q = query , count = num_results )
search_results . download_pdfs ()
استخدم طريقة product_prices
للحصول على قائمة الأسعار لمجموعة من نتائج البحث. تقوم هذه الطريقة بإرجاع قائمة الأسعار الموجودة في نتائج البحث. إذا لم يتم العثور على أسعار، يتم إرجاع قائمة فارغة. لا تدعم هذه الطريقة حاليًا تحويل العملات.
from brave import Brave
brave = Brave ()
query = "Blue Tack"
num_results = 10
country = "US"
search_results = brave . search ( q = query , count = num_results , country = country )
print ( search_results . product_prices ())
# >> [6.28, 5.98, 4.99, 13.18, 6.59, 7.8, 5.56, 10.79, 5.02, 10.56, 16.95, 9.99, 23.59, 16.31, 11.96]
print ( search_results . product_price_ranges ())
# >> (4.99, 23.59)
استخدم طريقة average_product_review_score
للحصول على متوسط نقاط المراجعة لمجموعة من نتائج البحث. تقوم هذه الطريقة بتحويل جميع درجات المراجعة إلى مقياس مكون من 100 نقطة.
from brave import Brave
brave = Brave ()
query = "Blue Tack"
num_results = 10
search_results = brave . search ( q = query , count = num_results )
print ( search_results . average_product_review_score ())
# >> 88.13333333333333
Brave هو محرك بحث قوي يسمح باستخدام goggles
لإعادة ترتيب نتائج البحث الخاصة بك لتتوافق مع حالة الاستخدام الخاصة بك. تمكن Goggles أي فرد - أو مجتمع من الأشخاص - من تغيير ترتيب Brave Search باستخدام مجموعة من التعليمات (القواعد والمرشحات). يمكن لأي شخص إنشاء Goggle أو تطبيقه أو توسيعه. تعمل Goggles بشكل أساسي بمثابة إعادة ترتيب مخصصة أعلى فهرس بحث Brave.
نحن هنا نستخدم نظارات واقية تعطي الأولوية للمصادر الأكاديمية والأرشيفية.
from brave import Brave
query = "cobalt mining"
goggle_url = "https://raw.githubusercontent.com/CSamuelAnderson/Brave-goggles/main/academic-and-archival.goggle"
num_results = 10
result_filter = "web" # must be comma separated string
search_results = brave . search ( q = query , goggles_id = goggle_url , count = num_results , result_filter = result_filter )
يمكنك أيضًا الاستفادة من Goggles التي ساهمت بشكل مباشر في هذه الحزمة:
from brave import Brave
from brave . goggles import thought_leadership
query = "cobalt mining"
num_results = 10
search_results = brave . search ( q = query , goggles_id = thought_leadership , count = num_results )
تستخدم هذه الحزمة الشعر لإدارة التبعية. لبدء التطوير هنا، تحتاج إلى تثبيت تطبيق Poetry
بمجرد تثبيت تطبيق Poetry على نظامك، قم ببساطة بتشغيل:
make init
راجع CONTRIBUTING.md للحصول على معلومات حول كيفية تطوير هذا المشروع.