Python 不使用wget从txt文件中列出的URL下载文件

Python 不使用wget从txt文件中列出的URL下载文件,python,wget,downloading-website-files,Python,Wget,Downloading Website Files,由于无法在我的工作中安装wget库,我需要一个使用txt文件中列出的URL下载文件的解决方法。我有一个名为urls.txt的txt文件,其中包含大约一千个链接,每个链接指向需要下载的文件。到目前为止,我有类似的东西,但不幸的是,它没有下载任何文件,尽管脚本正在执行 import urllib.request with open("urls.txt", "r") as file: linkList = file.readlines() for link in linkList:

由于无法在我的工作中安装wget库,我需要一个使用txt文件中列出的URL下载文件的解决方法。我有一个名为urls.txt的txt文件,其中包含大约一千个链接,每个链接指向需要下载的文件。到目前为止,我有类似的东西,但不幸的是,它没有下载任何文件,尽管脚本正在执行

import urllib.request

with open("urls.txt", "r") as file:
    linkList = file.readlines()
for link in linkList:
    urllib.request.urlretrieve(link)
第二个参数(如果存在)指定要复制到的文件位置(如果不存在,该位置将是具有生成名称的tempfile)

您需要指定第二个参数,该参数引用要将文件内容下载到的文件路径,如下所示:

...
for link in linkList:
    urllib.request.urlretrieve(link, link.split('/')[-1])

目前,您正在下载一个带有生成名称的临时文件。我不能100%确定您要如何检索该名称,因此最好自己指定文件路径。

好,那么我的URL地址类似于/DocumentXML2XLSDownload.vm?firsttime=true&repengback=true&documentId=XXXXXX&xsfilename=rher2xml.xsl&outputFileName=XXXX_2017_06_25_4.xls,我希望每个文件都以最后一部分命名“XXXX_2017_06_25_4.xls“并放置在脚本的目录中。我该如何着手处理这件事?我对Python完全陌生,仍在试图弄清楚哪个短语意味着什么;您想知道如何解析URL查询字符串。谷歌搜索一下,如果你运气不好,发布一个新问题并戳我一下,我会写另一个答案。@Seidhe在这里快速而肮脏地获取文件名的方法类似于@AdamBarnes使用的方法:
link.split('outputFileName=')[-1]
,它将链接分成两部分
“outputFileName=”
所以最后一部分(
[-1]
)将是您的文件名。一种不太老套的方法就是像前面提到的那样深入研究url解析;那不是正确的方法。应该使用
urllib.parse
模块。其中有两个函数专门用于此。@AdamBarnes什么是正确的,什么是不正确的,这是非常有情境性的,如果它是一个一次性的脚本,那么你真的不必过火。。。