Flask Extension WebTeam의 Google 사용자 정의 검색 계정 쿼리에 대한 검색보기를 제공합니다.
pip3 install canonicalwebteam.search
또는 requirements.txt 에 canonicalwebteam.search 를 추가하십시오 .txt.
Flask-Base를 사용하는 경우 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
)
)
특정 template_path 에서 HTML 템플릿을 만들어야합니다. 기본적으로 이것은 템플릿 폴더 내부에서 search.html 입니다. 이 템플릿은 다음 데이터가 전달됩니다.
{{ query }} - q= 검색 쿼리 매개 변수의 내용{{ start }} - start= 쿼리 매개 변수의 내용 - 결과를 시작하는 오프셋 (Pagination 사용 - 기본 0){{ num }} - num= 쿼리 매개 변수의 내용 - 반환 할 검색 결과 수 (기본값 10){{ results }} - 결과는 Google 사용자 정의 검색 쿼리에서 반환되었습니다. 실제 검색 결과는 {{ results.entries }} 입니다. 그런 다음 서버가 시작될 때 SEARCH_API_KEY 라는 환경 변수로 Google 사용자 정의 검색 API의 API 키를 제공해야합니다.
SEARCH_API_KEY=xxxxx FLASK_APP=app.py flask run
이 작업이 완료되면 사이트에서 방문 /search?q={some_query} 방문하고 search.html 템플릿으로 구축 된 검색 결과를 볼 수 있어야합니다.
일부 사이트의 경우 특정 검색 엔진 ID (CX)를 사용자 정의 검색 엔진 페이지에서 찾을 수있는 build_search_view 로 전달해야합니다.
새 사이트를 만들었고 API가 결과를 반환하지 않는 경우 Google 사용자 정의 검색 엔진 사이트 목록에 추가해야 할 수도 있습니다. 이 페이지에 사이트가 표시되지 않으면 WebTeam에 문의하십시오.