zoukankan      html  css  js  c++  java
  • python3获取文件中url内容并下载

     1 #!/usr/bin/env python
     2 # -*- coding: utf-8 -*-
     3 # @Time    : 2019-12-25 11:33
     4 # @Author  : Anthony
     5 # @Email   : ianghont7@163.com
     6 # @File    : get_video_audio_file.py
     7 
     8 import xlrd as xl
     9 import requests
    10 
    11 
    12 
    13 # 创建文件夹
    14 def mkdir_floder(path):
    15     import os
    16     isExists = os.path.exists(path)
    17     if not isExists:
    18         os.makedirs(path)
    19         # print(path + ' 创建成功')
    20         return True
    21     else:
    22         # 如果目录存在则不创建,并提示目录已存在
    23         # print(path + ' 目录已存在')
    24         return False
    25 
    26 
    27 
    28 def request_floder(floder01,floder02,filename,url,types):
    29     # 拼接全路径
    30     all_path = basedirpath+floder01+'/'+floder02+'/'
    31     res = requests.get(url.strip())
    32     music = res.content
    33     with open(all_path+filename+'.'+types, 'ab') as file:  # 保存到本地的文件名
    34         file.write(music)
    35         file.flush()
    36 
    37 
    38 
    39 def get_xls(filename):
    40     # 打开文件
    41     xls_file=xl.open_workbook(filename)
    42     # 获取第一个sheet内容
    43     xls_sheet=xls_file.sheets()[0]
    44     # 总行数
    45     line_nums = xls_sheet.nrows
    46     for i in range(0,line_nums):
    47         # 获取每一行的内容
    48         row_value = xls_sheet.row_values(i)
    49         # 获取第一级目录名称
    50         folder1 = row_value[0]
    51         # 获取第二级目录名称
    52         folder2 = row_value[1]
    53         # 获取文件名
    54         file_name = row_value[2]
    55         # 获取url内容
    56         url = row_value[3]
    57         # 创建目录
    58         mkdir_floder(basedirpath+folder1+'/'+folder2)
    59         # 转换url的类型为dict
    60         url = eval(url)
    61 
    62         # 获取视频内容
    63         if "audio" in url:
    64             if url["audioF"].strip() != "":
    65                 audio_url = url["audioF"]
    66                 audio_url_end = audio_url.split('.')[-1]
    67                 print(audio_url)
    68                 request_floder(folder1, folder2, file_name, audio_url, audio_url_end)
    69 
    70             elif url["audio"].strip() != "":
    71                 audio_url = url["audio"]
    72                 audio_url_end = audio_url.split('.')[-1]
    73                 print(audio_url)
    74                 request_floder(folder1, folder2, file_name, audio_url, audio_url_end)
    75 
    76         # 获取音频内容
    77         elif "video" in url:
    78             if url["video"].strip() != "":
    79                 video_file = url["video"]
    80                 video_file_end = video_file.split('.')[-1]
    81                 print(video_file)
    82                 request_floder(folder1, folder2, file_name, video_file, video_file_end)
    83 
    84 if __name__ == "__main__":
    85     # 文件存放路径
    86     basedirpath = "/Users/ianthony/Desktop/Devops/"
    87     # 读取的xlsx文件
    88     get_xls("001.xlsx")
     
  • 相关阅读:
    sqllite小型数据库的使用
    winform打开本地html页面
    【app】自动化必备之adb使用
    【app】自动化环境搭建(Appium)for java
    【app】Hybrid?Native?不知道你就out了!
    589. N叉树的前序遍历
    590. N叉树的后序遍历
    897. 递增顺序查找树
    559. N叉树的最大深度
    108. 将有序数组转换为二叉搜索树
  • 原文地址:https://www.cnblogs.com/ipyanthony/p/12096828.html
Copyright © 2011-2022 走看看