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中列表、字典、元组、集合数据结构整理
Nov 20 Python
浅谈django model的get和filter方法的区别(必看篇)
May 23 Python
不可错过的十本Python好书
Jul 06 Python
python pandas中对Series数据进行轴向连接的实例
Jun 08 Python
Python装饰器用法实例分析
Jan 14 Python
使用Python和Prometheus跟踪天气的使用方法
May 06 Python
浅谈Python中(&,|)和(and,or)之间的区别
Aug 07 Python
python机器学习包mlxtend的安装和配置详解
Aug 21 Python
利用python Selenium实现自动登陆京东签到领金币功能
Oct 31 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
Jul 13 Python
python爬虫中抓取指数的实例讲解
Dec 01 Python
python中二分查找法的实现方法
Dec 06 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
模拟OICQ的实现思路和核心程序(三)
2006/10/09 PHP
修改php.ini实现Mysql导入数据库文件最大限制的修改方法
2007/12/11 PHP
php 分页原理详解
2009/08/21 PHP
php的list()的一步操作给一组变量进行赋值的使用
2011/05/18 PHP
PHP autoload使用方法及步骤详解
2020/09/05 PHP
ExtJS 2.0实用简明教程 之ExtJS版的Hello
2009/04/29 Javascript
js null undefined 空区别说明
2010/06/13 Javascript
Java/JS获取flash高宽的具体方法
2013/12/27 Javascript
jQuery获取当前对象标签名称的方法
2014/02/07 Javascript
Select标签下拉列表二级联动级联实例代码
2014/02/07 Javascript
jQuery中scrollLeft()方法用法实例
2015/01/16 Javascript
JavaScript实现简单精致的图片左右无缝滚动效果
2017/03/16 Javascript
实例详解display:none与visible:hidden的区别
2017/03/30 Javascript
纯JS实现只能输入数字的简单代码
2017/06/21 Javascript
vue2 router 动态传参,多个参数的实例
2017/11/10 Javascript
Three.js基础学习教程
2017/11/16 Javascript
JQuery实现简单的复选框树形结构图示例【附源码下载】
2019/07/16 jQuery
JS中封装axios来管控api的2种方式
2019/09/11 Javascript
Python脚本实现自动将数据库备份到 Dropbox
2017/02/06 Python
python使用opencv按一定间隔截取视频帧
2018/03/06 Python
详解用TensorFlow实现逻辑回归算法
2018/05/02 Python
Python中的asyncio代码详解
2019/06/10 Python
基于Python解密仿射密码
2019/10/21 Python
python内置模块collections知识点总结
2019/12/19 Python
时尚设计师手表:The Watch Cabin
2018/10/06 全球购物
prAna官网:瑜伽、旅行和冒险服装
2019/03/10 全球购物
联想C++笔试题
2012/06/13 面试题
工业自动化毕业生自荐信范文
2014/01/04 职场文书
追悼会上的答谢词
2014/01/10 职场文书
党的群众路线教育实践活动批评与自我批评
2014/02/16 职场文书
学生上课看漫画的检讨书
2014/09/26 职场文书
安全知识竞赛主持词
2015/06/30 职场文书
学校运动会开幕词
2016/03/03 职场文书
React 并发功能体验(前端的并发模式)
2021/07/01 Javascript
python绘制云雨图raincloud plot
2022/08/05 Python
Go gorilla/sessions库安装使用
2022/08/14 Golang