此脚本循环浏览下载csv文件的url列表:
#!/usr/bin/python
import subprocess
file = open('links20151111.txt','r')
for url in file:
print ('[+] downloadin ' + url.strip())
subprocess.call(['wget', '--content-disposition', url.strip()])
url不包含文件名。
需要做的事情是将文件名中的所有“-”替换为“\”。文件名可以是这样的,“traffic_Againments_2001-2014.csv”。
如果我正确理解了这个问题,您可以在每次下载新文件时循环浏览下载目录中的文件,并查找带有破折号的文件,然后在该文件上进行字符替换。这应该做到:
#!/usr/bin/python
import subprocess, os
def rename_file():
for f in os.listdir(os.getcwd()):
if '-' in f and f.endswith('.csv'):
os.rename(f,f.replace('-','_'))
file = open('links20151111.txt','r')
for url in file:
print ('[+] downloadin ' + url.strip())
subprocess.call(['wget', '--content-disposition', url.strip()])
rename_file()
根据文件名的结构,您可能需要收紧文件搜索的条件。您可以编译正则表达式以更严格地匹配文本格式。
使用-O
选项:
wget google.com -O foo.html
更多信息在这里。
否则我建议使用请求
模块:如何使用请求下载图像