Flask扩展,提供用于查询WebTeam的Google自定义搜索帐户的搜索视图

canonicalwebteam.search的Python项目详细描述


canonicalwebteam.search

circleci build statusCode coveragePyPI version

Flask扩展,提供用于查询WebTeam的Google自定义搜索帐户的搜索视图。

安装

pip3 install canonicalwebteam.search

或者将canonicalwebteam.search添加到requirements.txt中。

用法

应用程序代码

您可以在项目的应用程序中添加扩展,如下所示:

fromcanonicalwebteam.searchimportbuild_search_viewapp=Flask("myapp")app.add_url_rule("/search","search",build_search_view())# Or, a bit more complex exampleapp.add_url_rule("/docs/search","docs-search",build_search_view(site="maas.io/docs",template_path="docs/search.html"))

模板

您需要在指定的template_path创建一个html模板。默认情况下,这将是模板文件夹中的search.html。此模板将传递以下数据:

  • {{ query }}-搜索查询参数q=的内容
  • {{ start }}-查询参数start=的内容-开始返回结果的偏移量(用于分页-默认值0)
  • {{ num }}-查询参数num=的内容-要返回的搜索结果数(默认值10)
  • {{ results }}-从google自定义搜索查询返回的结果。实际搜索结果位于{{ results.entries }}

api键

然后,您需要在服务器启动时将google自定义搜索api的api键作为名为SEARCH_API_KEY的环境变量提供,例如:

SEARCH_API_KEY=xxxxx FLASK_APP=app.py flask run

完成后,您应该能够访问站点中的/search?q={some_query},并查看使用search.html模板生成的搜索结果。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将向量的内容从一个包发送到另一个包?   java无法扩展类并对ArrayList进行排序   java无法对字符串的ArrayList进行排序   JavaP:ajax更改事件请求返回500错误   java如何为TableHeader使用渲染器   带有记号的java JSlider问题   Java如何在不同的类中调用add()方法   java如何使用JDBC和HSQLDB检索以前自动生成的PK ID值   java如何使dropwizard应用程序在启动完成之前忽略所有调用   使用MethodValidationPostProcessor进行java Spring验证   java Mediaplayer错误(19 0)不适用于release()   java UnsatifiedPendencyException Swigger2+Sringboot+@RestClientTest   java如何从onActivityResult更新回收器视图元素   java基于图像添加地板或如何优化已有方法   jComboBox的java奇怪行为   java从数据库表php中提取信息   Android-sqlite更新方法;JAVAlang.IllegalStateException:无法执行活动的方法   java如何将多个XSD文件合并到一个XSD文件?   java在不使用大多数API的情况下消除空格