تمديد Flask لتوفير عرض بحث للاستعلام عن حساب بحث Google المخصص لـ WebTeam.
pip3 install canonicalwebteam.search
أو إضافة canonicalwebteam.search إلى requirements.txt .
إذا كنت تستخدم قاعدة القشرة ، فيجب أن تستخدم Atleast 2.0.0. إذا لم تكن كذلك ، فستحتاج إلى [email protected] على الأقل.
للتنمية المحلية ، من الأفضل اختبار هذه الوحدة مع أحد مشاريع موقع الويب لدينا مثل ubuntu.com. لمزيد من المعلومات ، اتبع هذا الدليل (داخلي فقط).
يمكنك إضافة الامتداد على تطبيق مشروعك على النحو التالي:
import talisker . requests
from flask import Flask
from canonicalwebteam . search import build_search_view
app = Flask ( "myapp" ) # You must provide app
session = talisker . requests . get_session () # You must provide a requests session
app . add_url_rule ( "/search" , "search" , build_search_view ( app , session ))
# Or, a bit more complex example
app . add_url_rule (
"/docs/search" ,
"docs-search" ,
build_search_view (
app = app # required in version 1.4.0 onwards
session = session ,
site = "maas.io/docs" ,
template_path = "docs/search.html" ,
search_engine_id = "xxxxxxxxxx" , # Optional argument, required by some of our sites
request_limit = "500/day" , # Allows your to configure the limit at which the user will be forbidden to query more. If omitted defaults to 2/second, 100/minute, 2000/day
)
)
تحتاج إلى إنشاء قالب HTML في template_path المحدد. بشكل افتراضي ، سيكون هذا search.html داخل مجلد القوالب الخاص بك. سيتم تمرير هذا القالب البيانات التالية:
{{ query }} - محتويات q= استعلام البحث{{ start }} - محتويات معلمة start= Query - الإزاحة التي لبدء نتائج إرجاع (تستخدم للترقيم - الافتراضي 0){{ num }} - محتويات معلمة num= query - عدد نتائج البحث للعودة (الافتراضي 10){{ results }} - النتائج التي تم إرجاعها من استعلام Google Custom Search. نتائج البحث الفعلية في {{ results.entries }} . تحتاج بعد ذلك إلى توفير مفتاح واجهة برمجة التطبيقات لـ API لتوبيخ بحث Google Custom كمتغير بيئة يسمى SEARCH_API_KEY عند بدء تشغيل الخادم - على سبيل المثال:
SEARCH_API_KEY=xxxxx FLASK_APP=app.py flask run
بمجرد search.html من ذلك ، يجب أن تكون قادرًا على زيارة /search?q={some_query}
بالنسبة لبعض المواقع ، ستحتاج إلى تمرير معرف محرك بحث معين (CX) إلى build_search_view الذي ستجده في صفحة محرك البحث المخصص.
إذا قمت بإنشاء موقع جديد ولم تعيد واجهة برمجة التطبيقات أي نتائج ، فقد تحتاج إلى إضافته إلى قائمة مواقع بحث Google Custom Search. إذا كنت لا ترى أي مواقع في هذه الصفحة ، اسأل WebTeam.