azure bing搜索api的一个简单的轻量级python包装器。

py-cog-serv的Python项目详细描述


简介
=


version=0.0.2支持python 2.7



在适用的情况下,已经牺牲了效率来明确功能。您应该签出的第一个文件是"py cog serv.source.constants"。下面的"用法"部分显示了其中的要点。到目前为止,这个工具只支持基本的web搜索。欢迎和需要贡献!



安装
==
此模块尚未打包。在此之前,这里是一个到repl的导入示例。
以下假设您当前的工作目录是`…/path/to/py cog serv`
``py
>;>import os,sys
>;>sys.path.append(os.getcwd())
>;>from source.searchweb import bingwebsearch
``


用法
=
h`object已实例化。
*`static_constants`可用作引用。检查:
*`静态常数。国家代码`
*`静态常数。市场代码`
*`静态常数。专业API `
*`静态常数。基本端点`,以及列出的其他"静态常数.xxx端点"的替代格式。

佩奇,它会指导你做决定。这个工具将负责它们的实现。不要**在第一步中**在标题中输入您的密钥。It must be passed manually to the constructor in step 2.

From `source.constants.user_constants`:
```py
###############################################
## Enter default-header customizations here. ##
###############################################
HEADERS['Ocp-Apim-Subscription-Key'] = None
HEADERS['User-Agent'] = user_agent.firefox
HEADERS['X-Search-ClientIP'] = gethostbyname(gethostname())
HEADERS['X-MSEdge-ClientID']= None
HEADERS['Accept'] = None
HEADERS['Accept-Language'] = None
HEADERS['X-Search-Location'] = None

###############################################
## Enter query customizations here. ##
###############################################
## Web Params:
INCLUDED_PARAMS['cc'] = None # <--(See static_constants.COUNTRY_CODES below for available options)
INCLUDED_PARAMS['count'] = None # <--(Enter a number from 0-50. 必须按类型==str。例如:5的计数应为"5")
包含的参数['freshness']=无(可能值为'day'、'week'或'month')
包含的参数['mkt']=无(有关可用选项,请参阅下面的静态参数。市场代码)
包含的参数['offset']=无#<;--(与totalestimatedmatches和count to page一起使用。与"count"格式相同
包含的"u params['responseFilter']=无(poss值为"计算"、"图像"、"新闻"、"相关搜索"、"拼写建议"、"时区"、"视频"或"网页")
包含的"u params['safesearch']=无(poss值为"关闭"、"中等"d‘strict’)
包含的_params['setlang']=none<;--(请参见ISO 639-1,此处为两个字母的语言代码:https://www.loc.gov/standards/iso639-2/php/code_list.php)
包含的_params['textporients']=none<;--(不区分大小写的布尔值。'(t t)rue,'或'(f f)alse')
included_params['textformat']=none(poss值为"raw",如果留空则默认为"raw"。
```





导入BingWebSearch
>;。>;gt;搜索区ery="在此处输入任意搜索词"
>;>;web搜索器=bingWebSearch(api_key=api_key,query=search_query,safe=false,headers=constants.headers,addtnl_params=constants.included_params)
>;>;有关兼容参数,请参见source.constants.static_constants.base_query_params。必须采用{param:value}格式
>;>return_json=web_searcher.search(limit=50)
>;>50是每个查询返回的最大结果数。分页工作正在进行中。
````





notes
=


2016-11-15:添加了对Web搜索查询参数的支持和检查机制




py-bing-search中大量的V5 API接口被优雅地窃取,您可以在这里找到:https://github.com/tristanto/py-bing-search



不是一个专业的程序员,只是刚刚开始。

…喜欢任何一个!做点什么吧,一团糟!
*添加图像/新闻/视频类,支持特定于api的查询
*这些类的基本端点url部分内置于类"常量"
*修复查询参数检查。**完成-(alpha)**
*更好地将查询解析为url。**finished-(alpha)**
*使用requests.utils.quote或其他类似代码正确编码内容。
*为查询/秒错误设置错误处理。使用time.sleep(1)。
*使用self.current廑offset实现分页。
*确保python3兼容w/try:except:statement用于手动头输入。
*(当前使用"raw廑input")

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

推荐PyPI第三方库


热门话题
java如何通过编程为datasnapshot的每个子级创建一个按钮?   java用透明像素填充BuffereImage   过滤器如何在Java中对图像进行逐行扫描?   ssl在Java中,使用PEM文件创建SSLContext的最简单方法是什么?   java JApplet绘图时加载屏幕   java错误:不兼容类型:无法将上下文转换为HomeMenu   java通知演示者模型已更改   java如何使用object作为ArrayList类的变量?   使用mixin对Lombok@Builder类的java Jackson反序列化不起作用   java为什么我的库不能访问它的资源?   java无法使用GET方法   如何在Java中存储dowhile循环的每个实例上的数据?   java无法在64位系统上下载32位SWT   java按钮未在Jframe中显示   在Java中,当我只需要大于5的值时,如何返回数组   java有没有一种简单的方法可以在osgi环境中禁用日志记录?   java当我试图通过Hibernate添加到数据库时,我遗漏了什么?   为什么我不能在Java中向文件添加文本?   java ActiveMQ加载失败:类路径资源[ActiveMQ.xml]