Extensión Flask para proporcionar una vista de búsqueda para la consulta de la cuenta de búsqueda personalizada de Google del teatro web.
pip3 install canonicalwebteam.search
O agregue canonicalwebteam.search a sus requirements.txt .
Si está usando Flask-Base, debe usar al menos 2.0.0. Si no lo es, necesitará al menos frasc.3.0.
Para el desarrollo local, es mejor probar este módulo con uno de nuestros proyectos de sitios web como Ubuntu.com. Para obtener más información, siga esta guía (solo interna).
Puede agregar la extensión en la aplicación de su proyecto de la siguiente manera:
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
)
)
Debe crear una plantilla HTML en la template_path específica_path. Por defecto, esto será search.html dentro de su carpeta de plantillas. Esta plantilla se pasará los siguientes datos:
{{ query }} - El contenido del parámetro q= Search Query{{ start }} - El contenido del parámetro start= Query - el desplazamiento al que comenzará los resultados de devolver (se usa para la paginación - predeterminado 0){{ num }} - El contenido del parámetro num= consulta - el número de resultados de búsqueda para devolver (predeterminado 10){{ results }} : los resultados devueltos de la consulta de búsqueda personalizada de Google. Los resultados de búsqueda reales están en {{ results.entries }} . Luego debe proporcionar la tecla API para la API de búsqueda personalizada de Google como una variable de entorno llamada SEARCH_API_KEY cuando el servidor inicia, por ejemplo:
SEARCH_API_KEY=xxxxx FLASK_APP=app.py flask run
Una vez hecho esto, debería poder visitar /search?q={some_query} en su sitio y ver los resultados de búsqueda creados con su plantilla search.html .
Para algunos sitios, deberá pasar una ID de motor de búsqueda específica (CX) al build_search_view que encontrará en la página de motor de búsqueda personalizada.
Si creó un nuevo sitio y la API no devuelve ningún resultado, es posible que deba agregarlo a la lista de sitios de Google Search Engine de Search Engine. Si no ve ningún sitio en esta página, pregunte al teatro web.