Extension FLASK pour fournir une vue de recherche pour interroger le compte de recherche Google personnalisé du WebTeam.
pip3 install canonicalwebteam.search
Ou ajoutez canonicalwebteam.search à vos requirements.txt .
Si vous utilisez une base de flacon, vous devez utiliser au moins 2.0.0. Si vous ne l'êtes pas, vous aurez besoin de FLASK @2.3.0.
Pour le développement local, il est préférable de tester ce module avec l'un de nos projets de site Web comme ubuntu.com. Pour plus d'informations, suivez ce guide (interne uniquement).
Vous pouvez ajouter l'extension de l'application de votre projet comme suit:
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
)
)
Vous devez créer un modèle HTML sur le template_path spécifique_path. Par défaut, ce sera search.html dans votre dossier Templates. Ce modèle sera transmis les données suivantes:
{{ query }} - Le contenu du paramètre de requête q= Search{{ start }} - le contenu du paramètre start= requête - le décalage auquel commencer les résultats de retour (utilisé pour la pagination - par défaut 0){{ num }} - le contenu du paramètre num= requête - le nombre de résultats de recherche à retourner (par défaut 10){{ results }} - Les résultats renvoyés à partir de la requête de recherche personnalisée Google. Les résultats de recherche réels sont dans {{ results.entries }} . Vous devez ensuite fournir la clé API pour l'API de recherche personnalisé Google comme une variable d'environnement appelée SEARCH_API_KEY lorsque le serveur démarre - par exemple:
SEARCH_API_KEY=xxxxx FLASK_APP=app.py flask run
Une fois cela fait, vous devriez pouvoir visiter /search?q={some_query} dans votre site et voir les résultats de recherche construits avec votre modèle search.html .
Pour certains sites, vous devrez passer un ID de moteur de recherche spécifique (CX) à la build_search_view que vous trouverez dans la page de moteur de recherche personnalisé.
Si vous avez créé un nouveau site et que l'API ne renvoie aucun résultat, vous devrez peut-être l'ajouter à la liste de moteurs de recherche personnalisée Google des sites. Si vous ne voyez pas de sites sur cette page, demandez au webteam.