跳到主要内容

browser_utils.markdown_search

## AbstractMarkdownSearch
class AbstractMarkdownSearch(ABC)

为Markdown浏览器提供搜索功能的抽象类。

BingMarkdown搜索

class BingMarkdownSearch(AbstractMarkdownSearch)

为Markdown浏览器提供Bing网络搜索功能。

__init__

def __init__(bing_api_key: str = None, interleave_results: bool = True)

执行一次Bing网页搜索,并以Markdown格式返回结果。

参数:

  • bing_api_key - Bing搜索API的密钥。如果省略,将尝试从BING_API_KEY环境变量中读取密钥。如果没有找到密钥,BingMarkdownSearch将打印警告,并回退到访问和抓取实时Bing结果页面。抓取方式明显比使用API更差,因此不推荐。
  • interleave_results - 使用 Bing API 时,结果按类别(网页、新闻、视频等)返回,并带有关于它们应如何在页面中交错显示的说明。当 interleave 设置为 True 时,将遵循这些交错指令,并返回由 BingMarkdownSearch 提供的单一结果列表。当 interleave 设置为 false 时,结果按类别分开,不进行交错处理。
def search(query: str)

搜索Bing并以Markdown格式返回结果。如果有Bing API密钥可用,则使用API执行搜索。如果没有API密钥可用,则通过直接向Bing提交HTTPs GET请求来执行搜索。使用API执行的搜索质量更高,且更可靠。

参数:

  • query - 要发出的搜索查询

返回:

搜索结果的Markdown渲染。