使用Python下载多个xls文件

使用Python下载多个xls文件,python,csv,windows-7,Python,Csv,Windows 7,我想知道这里是否有人能帮我写剧本?我以前从未做过这样的事情,所以我不知道我在做什么。但是我已经读了好几天了,我仍然不理解它,所以我很感激我能得到的所有帮助。我甚至愿意为你的服务付费 这是我的问题的一个例子。目前,我的windows桌面上保存了一个名为“Stars”的CSV文件,其中包含大约50000个不同的链接,按下此按钮后,可以直接下载xls文件。每行包含其中一个链接。我想在你的帮助下创建一些脚本,让它在每一行中循环并访问不同的链接,这样它就可以下载这50000个不同的文件 感谢大家花时间阅读

我想知道这里是否有人能帮我写剧本?我以前从未做过这样的事情,所以我不知道我在做什么。但是我已经读了好几天了,我仍然不理解它,所以我很感激我能得到的所有帮助。我甚至愿意为你的服务付费

这是我的问题的一个例子。目前,我的windows桌面上保存了一个名为“Stars”的CSV文件,其中包含大约50000个不同的链接,按下此按钮后,可以直接下载xls文件。每行包含其中一个链接。我想在你的帮助下创建一些脚本,让它在每一行中循环并访问不同的链接,这样它就可以下载这50000个不同的文件

感谢大家花时间阅读本文


/Sarah

说您的CSV文件看起来像:

http://www.ietf.org/rfc/rfc959.txt
http://www.ietf.org/rfc/rfc1579.txt
http://www.ietf.org/rfc/rfc2577.txt
在python代码中替换到
csvfile
targetdir
的路径:

import os
import urllib2

csvfile = '/tmp/links.csv'
targetdir = '/tmp/so'

with open(csvfile) as links:
    for link in links:
        filename = link.split('/')[-1].strip()
        filepath = os.path.join(targetdir, filename)
        print 'Downloading %s \n\t .. to %s' % (link.strip(), filepath)
        with open(filepath, 'w') as data:
            xlsfile = urllib2.urlopen(link)
            data.writelines(xlsfile)
用法示例:

$ python download_all.py
Downloading http://www.ietf.org/rfc/rfc959.txt
     .. to /tmp/so/rfc959.txt
Downloading http://www.ietf.org/rfc/rfc1579.txt
     .. to /tmp/so/rfc1579.txt
Downloading http://www.ietf.org/rfc/rfc2577.txt
     .. to /tmp/so/rfc2577.txt

$ dir -1 /tmp/so
rfc1579.txt
rfc2577.txt
rfc959.txt
祝你好运。

另一个解决方案:

如果没有更多的信息,我能给你的关于这个问题的最好答案是使用下载文件和模块来解析带有链接的csv

例如:

import csv
from selenium import webdriver

profile = webdriver.FirefoxProfile()
profile.set_preference('browser.download.folderList', 2)
profile.set_preference('browser.download.manager.showWhenStarting', False)
profile.set_preference('browser.download.dir', 'PATH\TO\DOWNLOAD\DIRECTORY')
profile.set_preference('browser.helperApps.neverAsk.saveToDisk', "application/csv")
driver = webdriver.Firefox(firefox_profile=profile)

input_csv_location = "PATH\TO\CSV.csv"

with open(csv_location, 'r') as input_csv:
    reader = csv.reader(input_csv)
    for line in reader:
        driver.get(line[0])

这假设csv上没有标题,URL位于位置编号处。

因此,如果您想在
python
中执行此操作,为什么要标记问题
php
?哦,我现在就解决它,如果可以用php解决这个问题,也可以,没必要把它放进去python@SarahPolley同时删除标签
bash
。你能提供一个行结构吗?模糊链接删除!一行看起来像是所有链接都包含了这个文本,只是数字有变化我不知道你说的是不是这个?我的英语不是最好的best@SarahPolley可能您在Python 3中使用了。你能发布一个完整的错误吗?尝试删除windows的
print
语句和转义路径,即双反斜杠:
C:\\tmp\\which
现在,当我尝试在Python空闲模式下运行脚本时,我收到无效语法错误,此->'