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

如何用Python获取非跳转真实URL 提取爬虫爬取的重定向链接实际地址

解决方法

你拿到的是谷歌搜索的跳转链接,现有代码只拆分了前缀,没有去掉后续的谷歌跟踪参数,也没有处理Facebook子页面的多余路径,按以下方案实现即可:

实现逻辑

  • 用Python内置的urllib.parse模块解析跳转链接,直接提取q参数对应的真实目标地址,自动处理URL编码和参数剥离
  • 解析得到的Facebook链接,提取域名后的第一级路径作为商家主页地址

完整代码示例

from urllib.parse import urlparse, parse_qs, urlunparse

def get_facebook_merchant_url(google_redirect_url):
    # 解析谷歌跳转链接,提取q参数的真实地址
    parsed_redirect = urlparse(google_redirect_url)
    query_params = parse_qs(parsed_redirect.query)
    if 'q' not in query_params:
        return None
    raw_target_url = query_params['q'][0]
    
    # 解析Facebook目标链接,提取商家主页根路径
    parsed_fb = urlparse(raw_target_url)
    # 拆分路径,取第一个非空的路径段(即商家ID)
    path_segments = [seg for seg in parsed_fb.path.split('/') if seg]
    if not path_segments:
        return None
    merchant_path = path_segments[0]
    
    # 拼接成最终的商家主页URL
    return urlunparse((
        parsed_fb.scheme,
        parsed_fb.netloc,
        f'/{merchant_path}',
        '', '', ''
    ))

# 测试用例
p= '/url?q=https://www.facebook.com/bespokecatering.sydney/videos/lockdown-does-not-mean-unfulfilled-cravings-order-our-weekly-favorites-order-her/892336708293067/%3Fextid%3DSEO----&sa=U&ved=2ahUKEwjTv6ueseHyAhUHb30KHYTYABwQuAJ6BAgEEAI&usg=AOvVaw0t_X8a-7BUi699tTtT9Av4'
print(get_facebook_merchant_url(p))

运行后输出结果正好是你需要的格式:https://www.facebook.com/bespokecatering.sydney

方案优势

  • 不用手动拆分字符串,避免出现参数位置变化、多参数等异常情况导致的提取错误
  • 自动处理URL编码字符,兼容更多格式的跳转链接

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 07:06:04