我在Windows 10上使用Python 3.6.5
首先,我按照书籍ID创建文件夹,它可以工作:
然后,从批处理文件下载文件,文件中每行一个URL。 网址:
以下是代码和作品:
import os
import wget
book_id = ["5151","5152","5153"]
for id in book_id:
directory ="new/"+ str(id)
if not os.path.exists(directory):
os.makedirs(directory)
with open ("%s_url.txt" % id, encoding='utf-8', mode = 'r') as f:
for url in f.readlines():
filename = wget.download(url.strip(), out=directory)
print (filename)
5151_url.txt文件不在5151文件夹中。我需要将下载文件移动到5151文件夹中。
我知道可以使用wget.download(url, fullfilename), and fullfilename = os.path.join(directory, filename)
filename = page-1.jpg ..etc.
解决方案:添加
out=directory)
但这会改变文件名,我不想改变文件名。怎么样?
答案 0 :(得分:0)
试试这个。
import os
import wget
import time
book_id = ["5151","5152","5153"]
for id in book_id:
directory ="new/"+ str(id)
if not os.path.exists(directory):
os.makedirs(directory)
with open ("new" + "/" + id + "/%s_url.txt" % id, encoding='utf-8', mode = 'r') as f:
for url in f.readlines():
time.sleep(4)
filename = wget.download(url.strip())
print (filename)
第二部分有点修改,可能会更好地完成,但你会有所了解。 这段代码报告没有问题。
我还添加了time.sleep(4)
以防万一你有阻塞机制。
我假设您在5151文件夹中有5151.txt,其他人在各自的位置。