python3获取文件中url内容并下载代码实例


Posted in Python onDecember 27, 2019

这篇文章主要介绍了python3获取文件中url内容并下载代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time  : 2019-12-25 11:33
# @Author : Anthony
# @Email  : ianghont7@163.com
# @File  : get_video_audio_file.py

import xlrd as xl
import requests



# 创建文件夹
def mkdir_floder(path):
  import os
  isExists = os.path.exists(path)
  if not isExists:
    os.makedirs(path)
    # print(path + ' 创建成功')
    return True
  else:
    # 如果目录存在则不创建,并提示目录已存在
    # print(path + ' 目录已存在')
    return False



def request_floder(floder01,floder02,filename,url,types):
  # 拼接全路径
  all_path = basedirpath+floder01+'/'+floder02+'/'
  res = requests.get(url.strip())
  music = res.content
  with open(all_path+filename+'.'+types, 'ab') as file: # 保存到本地的文件名
    file.write(music)
    file.flush()



def get_xls(filename):
  # 打开文件
  xls_file=xl.open_workbook(filename)
  # 获取第一个sheet内容
  xls_sheet=xls_file.sheets()[0]
  # 总行数
  line_nums = xls_sheet.nrows
  for i in range(0,line_nums):
    # 获取每一行的内容
    row_value = xls_sheet.row_values(i)
    # 获取第一级目录名称
    folder1 = row_value[0]
    # 获取第二级目录名称
    folder2 = row_value[1]
    # 获取文件名
    file_name = row_value[2]
    # 获取url内容
    url = row_value[3]
    # 创建目录
    mkdir_floder(basedirpath+folder1+'/'+folder2)
    # 转换url的类型为dict
    url = eval(url)

    # 获取视频内容
    if "audio" in url:
      if url["audioF"].strip() != "":
        audio_url = url["audioF"]
        audio_url_end = audio_url.split('.')[-1]
        print(audio_url)
        request_floder(folder1, folder2, file_name, audio_url, audio_url_end)

      elif url["audio"].strip() != "":
        audio_url = url["audio"]
        audio_url_end = audio_url.split('.')[-1]
        print(audio_url)
        request_floder(folder1, folder2, file_name, audio_url, audio_url_end)

    # 获取音频内容
    elif "video" in url:
      if url["video"].strip() != "":
        video_file = url["video"]
        video_file_end = video_file.split('.')[-1]
        print(video_file)
        request_floder(folder1, folder2, file_name, video_file, video_file_end)

if __name__ == "__main__":
  # 文件存放路径
  basedirpath = "/Users/ianthony/Desktop/Devops/"
  # 读取的xlsx文件
  get_xls("001.xlsx")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之让人欢喜让人忧的迭代
Oct 02 Python
python语言中with as的用法使用详解
Feb 23 Python
python中subprocess批量执行linux命令
Apr 27 Python
python爬虫自动创建文件夹的功能
Aug 01 Python
Python HTML解析器BeautifulSoup用法实例详解【爬虫解析器】
Apr 05 Python
python SQLAlchemy 中的Engine详解
Jul 04 Python
python爬虫之快速对js内容进行破解
Jul 09 Python
python如何统计代码运行的时长
Jul 24 Python
python树的同构学习笔记
Sep 14 Python
Python3的socket使用方法详解
Feb 18 Python
Python之Matplotlib文字与注释的使用方法
Jun 18 Python
Python实现异步IO的示例
Nov 05 Python
用python拟合等角螺线的实现示例
Dec 27 #Python
PyTorch 对应点相乘、矩阵相乘实例
Dec 27 #Python
pytorch中tensor.expand()和tensor.expand_as()函数详解
Dec 27 #Python
python装饰器相当于函数的调用方式
Dec 27 #Python
Python 实现数组相减示例
Dec 27 #Python
Pandas 解决dataframe的一列进行向下顺移问题
Dec 27 #Python
Pandas实现DataFrame按行求百分数(比例数)
Dec 27 #Python
You might like
php数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值
2011/10/31 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
Jquery动态进行图片缩略的原理及实现
2013/08/13 Javascript
jquery提交form表单时禁止重复提交的方法
2014/02/13 Javascript
JavaScript 浏览器对象模型BOM使用介绍
2015/04/13 Javascript
jQuery实现验证年龄简单思路
2016/02/24 Javascript
JS在onclientclick里如何控制onclick的执行
2016/05/30 Javascript
iframe高度自适应及隐藏滚动条的实例详解
2017/09/29 Javascript
基于Vue实现拖拽功能
2020/07/29 Javascript
Vue.js图片预览插件使用详解
2018/08/27 Javascript
小程序实现展开/收起的效果示例
2018/09/22 Javascript
js实现计算器功能
2020/08/10 Javascript
Python不规范的日期字符串处理类
2014/06/10 Python
用python代码做configure文件
2014/07/20 Python
Python中常见的数据类型小结
2015/08/29 Python
在python中使用with打开多个文件的方法
2019/01/07 Python
python实现电子产品商店
2019/02/26 Python
Python Opencv实现图像轮廓识别功能
2020/03/23 Python
Django中自定义模型管理器(Manager)及方法
2019/09/23 Python
Django查询优化及ajax编码格式原理解析
2020/03/25 Python
Python第三方包之DingDingBot钉钉机器人
2020/04/09 Python
Html5 语法与规则简要概述
2014/07/29 HTML / CSS
某个公司的Java笔面试题
2016/03/11 面试题
办公室文书岗位职责
2013/12/16 职场文书
教师一岗双责责任书
2014/04/16 职场文书
机械专业应届毕业生自荐书
2014/06/12 职场文书
关爱残疾人标语
2014/06/25 职场文书
民事授权委托书范文
2014/08/02 职场文书
2014幼儿园中班工作总结
2014/11/10 职场文书
毕业生评语大全
2015/01/04 职场文书
2015年上半年党建工作总结
2015/03/30 职场文书
2015年学生会主席工作总结
2015/04/21 职场文书
2015年加油站工作总结
2015/05/13 职场文书
歌咏比赛主持词
2015/06/29 职场文书
2016个人先进事迹材料范文
2016/03/01 职场文书
自从在 IDEA 中用了热部署神器 JRebel 之后,开发效率提升了 10(真棒)
2021/06/26 Java/Android