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读取图片EXIF信息类库介绍和使用实例
Jul 10 Python
python实现封装得到virustotal扫描结果
Oct 05 Python
Python实现的破解字符串找茬游戏算法示例
Sep 25 Python
python 实现提取某个索引中某个时间段的数据方法
Feb 01 Python
Python把对应格式的csv文件转换成字典类型存储脚本的方法
Feb 12 Python
对python中的控制条件、循环和跳出详解
Jun 24 Python
pandas使用之宽表变窄表的实现
Apr 12 Python
Python改变对象的字符串显示的方法
Aug 01 Python
用python实现前向分词最大匹配算法的示例代码
Aug 06 Python
python使用布隆过滤器的实现示例
Aug 20 Python
python 解决selenium 中的 .clear()方法失效问题
Sep 01 Python
python如何获得list或numpy数组中最大元素对应的索引
Nov 16 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计划任务、定时执行任务的实现代码
2011/04/23 PHP
php设计模式 Strategy(策略模式)
2011/06/26 PHP
浅析PHP微信支付通知的处理方式
2014/05/25 PHP
ThinkPHP自动完成中使用函数与回调方法实例
2014/11/29 PHP
PHP加密解密字符串汇总
2015/04/26 PHP
php实现爬取和分析知乎用户数据
2016/01/26 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
2016/03/31 PHP
Laravel中unique和exists验证规则的优化详解
2018/01/28 PHP
php框架CodeIgniter使用redis的方法分析
2018/04/13 PHP
jquery 1.3.2 IE8中的一点点的小问题解决方法
2009/07/10 Javascript
Jquery Uploadify多文件上传带进度条且传递自己的参数
2013/08/28 Javascript
深入理解JavaScript系列(48):对象创建模式(下篇)
2015/03/04 Javascript
整理Javascript基础入门学习笔记
2015/11/29 Javascript
js实现跨域的多种方法
2015/12/25 Javascript
input点击后placeholder中的提示消息消失
2016/01/15 Javascript
JQuery ztree 异步加载实例讲解
2016/02/25 Javascript
深入理解$.each和$(selector).each
2016/05/15 Javascript
Bootstrap轮播插件简单使用方法介绍
2016/06/21 Javascript
浅析Node.js实现HTTP文件下载
2016/08/05 Javascript
js 作用域和变量详解
2017/02/16 Javascript
vue + elementUI实现省市县三级联动的方法示例
2019/10/29 Javascript
Python中处理字符串之isalpha()方法的使用
2015/05/18 Python
Python之py2exe打包工具详解
2017/06/14 Python
Python进程间通信之共享内存详解
2017/10/30 Python
matplotlib绘图实例演示标记路径
2018/01/23 Python
Scrapy-Redis结合POST请求获取数据的方法示例
2019/05/07 Python
python脚本调用iftop 统计业务应用流量的思路详解
2019/10/11 Python
Python操作redis和mongoDB的方法
2019/12/19 Python
浅析HTML5:'data-'属性的作用
2018/01/23 HTML / CSS
Bed Bath & Beyond加拿大官网:购买床上用品、浴巾、厨房电器等
2019/10/04 全球购物
会计专业毕业生自荐信范文
2013/12/20 职场文书
十佳大学生事迹材料
2014/01/29 职场文书
初三学习计划书范文
2014/04/30 职场文书
会计继续教育培训心得体会
2016/01/19 职场文书
java设计模式--建造者模式详解
2021/07/21 Java/Android
Python可视化学习之matplotlib内置单颜色
2022/02/24 Python