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

Scrapy报错Unsupported URL scheme '':URL构造问题排查求助

解决Scrapy爬虫触发Unsupported URL scheme ''错误的问题

错误原因分析

你遇到的问题根源在于生成的URL格式完全错误!看你打印的结果,每个"URL"都被多余的['和']包裹着(比如['https://www.active.com/running?page=0']),这根本不是合法的URL字符串——它是一个模仿列表语法的字符串。

当Scrapy尝试解析这个"URL"时,会把['之后、https之前的空内容当成URL的scheme(也就是http/https这部分),自然识别不出有效的协议,于是抛出Unsupported URL scheme ''的错误。

问题出在你的URL拼接代码里:你错误地给URL加了"['前缀和']"后缀,这完全是画蛇添足。

修正方案

修改你的url_lister函数,直接生成纯URL字符串即可,去掉那些多余的列表符号:

def url_lister():
    url_list = []
    page_count = 0
    while page_count < 2:
        # 直接拼接页码,生成标准的URL字符串
        url = "https://www.active.com/running?page=%s" % page_count
        url_list.append(url)
        print(url)
        page_count += 1
    return url_list

如果你的Python版本在3.6及以上,更推荐用简洁的f-string写法:

def url_lister():
    url_list = []
    for page_count in range(2):
        url = f"https://www.active.com/running?page={page_count}"
        url_list.append(url)
        print(url)
    return url_list

验证结果

修正后生成的URL会是标准格式:
https://www.active.com/running?page=0
https://www.active.com/running?page=1

这样Scrapy就能正确识别https协议,不会再触发scheme错误了。

小提示

以后遇到URL相关的爬虫错误,第一步一定要检查生成的URL是否是纯字符串、无多余符号,可以打印出来仔细核对,或者用type(url)确认变量类型,避免把非标准格式的字符串当成URL传入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:03:20