Flask -Erweiterung, um eine Suchansicht zum Abfragen des Google -Suchkontos von WebTeam zu erhalten.
pip3 install canonicalwebteam.search
Oder fügen Sie Ihre requirements.txt zu canonicalwebteam.search .
Wenn Sie Flask-Basis verwenden, müssen Sie mindestens 2.0.0 verwenden. Wenn Sie dies nicht sind, benötigen Sie mindestens [email protected].
Für die lokale Entwicklung ist es am besten, dieses Modul mit einem unserer Website -Projekte wie Ubuntu.com zu testen. Für weitere Informationen folgen Sie diesem Handbuch (nur intern).
Sie können die Erweiterung der Anwendung Ihres Projekts wie folgt hinzufügen:
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
)
)
Sie müssen eine HTML -Vorlage in der spezifischen template_path erstellen. Standardmäßig wird dies in Ihrem Vorlagenordner search.html . Diese Vorlage wird die folgenden Daten übergeben:
{{ query }} q={{ start }} start={{ num }} num={{ results }} - Die Ergebnisse, die aus der Google Custom Search Query zurückgegeben wurden. Die tatsächlichen Suchergebnisse finden Sie in {{ results.entries }} . Anschließend müssen Sie den API -Schlüssel für die Google Custom Search API als Umgebungsvariable namens SEARCH_API_KEY angeben, wenn der Server startet - z. B.:
SEARCH_API_KEY=xxxxx FLASK_APP=app.py flask run
Sobald dies erledigt ist, sollten search.html in Ihrer Website besuchen /search?q={some_query}
Für einige Websites müssen Sie eine bestimmte Suchmaschinen -ID (CX) an die build_search_view übergeben, die Sie auf der benutzerdefinierten Suchmaschinenseite finden.
Wenn Sie eine neue Site erstellt haben und die API keine Ergebnisse zurückgibt, müssen Sie sie möglicherweise zur Liste der Websites für die benutzerdefinierte Suchmaschine von Google hinzufügen. Wenn Sie auf dieser Seite keine Websites sehen, fragen Sie den WebTeam.