zoukankan      html  css  js  c++  java
  • 批量下载Excel中的链接中的文件

    前几天有一个小任务,就是把一个Excel中的三百多个音频下载下来,这些音频都是URL的形式,于是就写了个python脚本把他们都抓了下来,因为很简单,所以就直接贴代码了:

    注意:首先要把Excel转换成CSV文件的格式

    import csv
    import requests
    
    # 文件路径,需要替换成自己的文件路径
    file_rode = 'C:\Users\59990\Desktop\audio.csv'
    # 打开文件
    csv_file = csv.reader(open(file_rode, 'r', encoding='utf-8'))
    # 跳过标题行
    next(csv_file, None)
    
    # 可以先用下面注释里的语句看看你文件中的URL取出来之后是什么格式的
    # for url in csv_file:
    #     print(url)
    
    # 接着对里边的每一条链接做如下操作
    for url in csv_file:
        # 这里需要注意的是要将取出来的URL做一个字符串类型转换,并截取其中的link的部分
        r = requests.get(str(url)[2:101])
        music = r.content
        # 目标路径需要换成你自己的路径,str(url)[90:-2]这个的意思是给文件命名
        new_url = "C:/Users/59990/Desktop/music/" + str(url)[90:-2]
        # 下面是将文件以二进制的形式写入到目标文件中
        with open(new_url, 'ab') as file:
            file.write(music)
            file.flush
    

    总结:这次虽然是一个很简单的小脚本,但是对其中的字符串的转换那里搞了很大一会,从csv中直接读出来的数据好像不是以字符串的形式。直到现在我才明白过来,是我读取的方式不对,我那种方法是直接读取了整个csv,正确的方法应该是读取csv中的我需要的那一列,改进后的方法如下

    import csv
    import requests
    
    # 文件路径,需要替换成自己的文件路径
    file_rode = 'C:\Users\59990\Desktop\audio.csv'
    
    # 打开文件
    csv_file = csv.reader(open(file_rode, 'r', encoding='utf-8'))
    # 跳过标题行
    next(csv_file, None)
    
    # 可以先用下面注释里的语句看看你文件中的URL取出来之后是什么格式的
    # for url in csv_file:
    #     print(url)
    
    # 接着对里边的每一条链接做如下操作
    for url in csv_file:
        # 这里就直接是url[0],意思是csv中的第一列的内容,不再是以表格的形式给到
        r = requests.get(url[0])
        music = r.content
        # 目标路径需要换成你自己的路径,str(url)[90:-2]这个的意思是给文件命名
        new_url = "C:/Users/59990/Desktop/music/" + str(url)[90:-2]
        # 下面是将文件以二进制的形式写入到目标文件中
        with open(new_url, 'ab') as file:
            file.write(music)
            file.flush
    
  • 相关阅读:
    NSOperation
    iOS 数据持久化方案
    JS高级学习历程-15
    JavaScript进阶
    JavaScript进阶
    JavaScript进阶
    JS高级学习历程-14
    JavaScript进阶
    Linux 添加硬盘并分区
    VxWorks实验八 信号
  • 原文地址:https://www.cnblogs.com/mqjing/p/13629288.html
Copyright © 2011-2022 走看看