在电脑cmd用you-get可以爬取到视频,但在python用subprocess.call执行同样语句却出现问题,you-get: error: unrecognized arguments。
命令参数不识别
是不是命令里的路径没有转义斜杠或者路径有空格,没有用引号包裹。
讯飞星火提供:
这个问题可能是由于在Python中使用subprocess.call时,命令行参数的传递方式与在cmd中不同导致的。你可以尝试将you-get的命令行参数用列表的形式传递给subprocess.call,如下所示:
import subprocess
cmd = ["you-get", "视频链接"]
subprocess.call(cmd)
请将"视频链接"替换为你想要下载的视频的实际链接。
【以下回答由 GPT 生成】
问题解答:
首先,你可以尝试使用subprocess.call函数的另外一种形式subprocess.call(["you-get", "视频链接"])来调用you-get命令。这可以避免字符串参数中的转义问题。例如:
import subprocess
video_url = "视频链接"
subprocess.call(["you-get", video_url])
如果你还是遇到同样的错误"unrecognized arguments",那可能是因为你没有将视频链接正确地传递给you-get命令。你可以尝试打印出完整的命令行语句,以便检查是否有语法错误。例如:
import subprocess
video_url = "视频链接"
command = ["you-get", video_url]
print(" ".join(command)) # 打印出完整的命令行语句
subprocess.call(command)
如果你发现完整的命令行语句没有问题,那可能是you-get程序没有正确安装或配置。你可以尝试在cmd中手动执行you-get命令,检查是否有任何错误消息。如果你在cmd中也遇到了同样的错误,那可能是you-get的版本问题,你可以尝试更新you-get到最新版本。你可以使用以下命令升级you-get:
pip install --upgrade you-get
如果你的问题还是没有解决,那可能是you-get不支持你当前的系统或环境。你可以尝试找到you-get的文档或支持论坛,看看是否有关于特定系统或环境的限制或解决方案。
【相关推荐】