python - 为什么 os 模块不运行 wget cmd 命令?

标签 python python-requests wget python-os

我正在尝试从网上下载一个 zip 文件,并尝试使用 wget -O fileName urlLink 通过控制台命令下载它,但是在尝试代码时,CMD 打开一秒钟然后关闭,我找不到文件在任何地方。

我尝试使用其他方法下载文件,但它们返回错误 403。在 CMD 中使用 wget 可以下载正确的文件,但在 python 代码中则不行。

def gotoDownload(link):
    try:
        with requests.Session().get(link) as download:
            if isUrlOnline(download):
                soup = BeautifulSoup(download.content, 'html.parser')
                filtered = soup.find_all('script')
                zip_file_url = re.search(r"('http.*?')", filtered[17].text).group().replace("'", "")

                os.system("wget -O {0} {1}".format('CreatureFinalZTL.zip', zip_file_url))

等待文件下载 相反,不会下载任何内容。

最佳答案

这里有一些事情可能会有所帮助(它可能会也可能不会解决您的问题,因为它取决于您的计算机的设置和配置)。首先,我建议的一件事是更具体地说明路径。您可以在 wget 行中使用绝对路径,如下所示:

"wget -O {0} {1}".format('/path/to/output/dir/CreatureFinalZTL.zip', zip_file_url)

如果 Python 环境不在您期望的目录中运行,这通常很有帮助。或者,您可以使用以下 python 命令强制该目录:

os.chdir( path )

然后就可以放心的使用相对路径进行操作了。我建议的第二件事是确认该网址是您所期望的。只需像这样打印出来:

print( zip_file_url )

这可能听起来很愚蠢,但确认您的正则表达式运行正确非常重要。

关于python - 为什么 os 模块不运行 wget cmd 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56467141/

相关文章:

python - 使用正则表达式查找多次出现的字符

python - 线程上的启动方法因 TypeError 而失败

python - 向 shopify 域(python)发出请求会引发 SSLError

python - 使用 HTTrack 镜像单个页面

linux - 在 HTML 代码中查找并复制字符串

python - 尝试从从两个函数打印的函数返回一个数据集

python - KafkaRecord 不能转换为 [B

python - 自动执行模块方法前面的代码

python - 在 python 中使用来自 JSON 响应的数据

linux - 我如何编写一个 bash 脚本来从文件中提取所有 http ://whatever. com/something