Расширение Flask, чтобы предоставить поисковый представление для запроса учетной записи Google WebTeam.
pip3 install canonicalwebteam.search
Или добавить canonicalwebteam.search к вашим requirements.txt .
Если вы используете базу Flask, вам нужно использовать как минимум 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 }} - Содержимое параметра QUERY start= QUERY - смещение, в котором можно начать возвращать результаты (используется для страниц - по умолчанию 0){{ num }} - Содержимое параметра num= Query - количество результатов поиска для возврата (по умолчанию 10){{ results }} - результаты, возвращаемые из запроса поиска Google Instalm. Фактические результаты поиска находятся в {{ results.entries }} . Затем вам необходимо предоставить ключ API для API Google пользовательского поиска в качестве переменной среды с именем SEARCH_API_KEY , когда начнется сервер - например:
SEARCH_API_KEY=xxxxx FLASK_APP=app.py flask run
Как только это будет сделано, вы сможете посетить /search?q={some_query} на вашем сайте и увидеть результаты поиска, созданные с помощью вашего шаблона search.html .
Для некоторых сайтов вам нужно будет передать конкретный идентификатор поисковой системы (CX) в build_search_view , который вы найдете на странице пользовательской поисковой системы.
Если вы создали новый сайт, и API не возвращает каких -либо результатов, вам может потребоваться добавить его в список сайтов Google пользовательских систем. Если вы не видите никаких сайтов на этой странице, спросите WebTeam.