You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python webbrowser库调用用户默认搜索引擎搜索字符串

使用Python webbrowser调用默认搜索引擎搜索指定内容

Python的webbrowser库本身没有直接调用默认搜索引擎的内置API,但可以通过系统专属的搜索URI协议实现需求,避免硬编码某一搜索引擎的URL。

实现思路

不同操作系统支持专属的搜索协议,调用这些协议会让系统自动唤起默认搜索引擎处理搜索请求:

  • Windows:search-ms:query={搜索内容}
  • macOS:x-search://?q={搜索内容}
  • Linux:多数主流桌面环境(如GNOME)支持search://?q={搜索内容}

代码示例

import webbrowser
import sys
from urllib.parse import quote

def default_search(query):
    # 对搜索内容做URL编码,避免特殊字符报错
    encoded_query = quote(query)
    # 根据系统选择对应搜索协议
    if sys.platform.startswith('win'):
        webbrowser.open_new(f"search-ms:query={encoded_query}")
    elif sys.platform.startswith('darwin'):
        webbrowser.open_new(f"x-search://?q={encoded_query}")
    elif sys.platform.startswith('linux'):
        webbrowser.open_new(f"search://?q={encoded_query}")
    else:
        # 兼容其他系统, fallback到谷歌搜索
        webbrowser.open_new(f"https://www.google.com/search?q={encoded_query}")

# 调用示例
default_search("Python webbrowser 默认搜索引擎")

注意事项

  • Linux部分桌面环境可能不支持search://协议,若遇到问题可根据桌面环境调整(比如KDE可尝试kde-search://?query={encoded_query});
  • 必须对搜索内容做URL编码,否则包含空格、特殊字符的搜索词会导致请求失败。

内容的提问来源于stack exchange,提问作者Sokoloft

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 02:43:16