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

如何按指定顶级域名优先级排序Python获取的谷歌搜索结果

实现方案

核心逻辑为给每个URL匹配对应优先级权重,通过Python内置sorted函数自定义排序key完成排序,后续调整优先级仅需修改优先级列表即可,无需改动排序逻辑。

步骤1:导入依赖模块

用于解析URL提取域名部分:

from urllib.parse import urlparse

步骤2:定义优先级规则并生成映射

# 域名优先级列表,后续调整顺序/新增后缀直接修改此列表即可
domain_priority = [".gov", ".int", ".com", ".edu", ".org", ".info"]
# 生成优先级映射:排名越靠前的域名对应权重值越小
priority_map = {suffix: idx for idx, suffix in enumerate(domain_priority)}
# 未匹配到优先级后缀的URL统一使用最大权重,排在所有匹配结果之后
max_priority = len(domain_priority)

注:原优先级列表中后缀末尾的斜杠为路径分隔符,提取域名匹配时已自动忽略,不影响匹配结果。

步骤3:定义排序权重计算函数

def cal_sort_weight(url):
    try:
        # 提取URL域名并转为小写,避免大小写导致匹配失败
        domain = urlparse(url).netloc.lower()
        for suffix in domain_priority:
            if domain.endswith(suffix):
                return priority_map[suffix]
        return max_priority
    except:
        # 无效URL统一排在最后
        return max_priority

步骤4:执行排序

对你已存储搜索结果的search_results列表执行排序:

sorted_search_results = sorted(search_results, key=cal_sort_weight)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 02:36:04