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实现拉钩网上的FizzBuzzWhizz问题示例
May 05 Python
python 2.6.6升级到python 2.7.x版本的方法
Oct 09 Python
Python用imghdr模块识别图片格式实例解析
Jan 11 Python
python快排算法详解
Mar 04 Python
由Python编写的MySQL管理工具代码实例
Apr 09 Python
pyqt5 从本地选择图片 并显示在label上的实例
Jun 13 Python
33个Python爬虫项目实战(推荐)
Jul 08 Python
Python学习笔记之For循环用法详解
Aug 14 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
Apr 20 Python
python性能测试工具locust的使用
Dec 28 Python
用Python制作音乐海报
Jan 26 Python
python opencv旋转图片的使用方法
Jun 04 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 has encountered an Access Violation
2007/01/15 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
2016/06/29 PHP
jquery 框架使用教程 AJAX篇
2009/10/11 Javascript
jquery实现marquee效果(文字或者图片的水平垂直滚动)
2013/01/07 Javascript
通过JQuery实现win8一样酷炫的动态磁贴效果(示例代码)
2013/07/13 Javascript
深入理解javascript构造函数和原型对象
2014/09/23 Javascript
js网页滚动条滚动事件实例分析
2015/05/05 Javascript
JS实现双击编辑可修改状态的方法
2015/08/14 Javascript
jquery实现简单的表单验证
2015/11/17 Javascript
JavaScript实现QQ聊天消息展示和评论提交功能
2017/05/22 Javascript
详解Node.js 命令行程序开发教程
2017/06/07 Javascript
vue-scroller记录滚动位置的示例代码
2018/01/17 Javascript
Layui数据表格之单元格编辑方式
2019/10/26 Javascript
js+canvas实现两张图片合并成一张图片的方法
2019/11/01 Javascript
vue 对axios get pust put delete封装的实例代码
2020/01/05 Javascript
Python threading多线程编程实例
2014/09/18 Python
Python爬虫框架Scrapy基本用法入门教程
2018/07/26 Python
tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法
2018/07/27 Python
Python中使用双下划线防止类属性被覆盖问题
2019/06/27 Python
Python操作SQLite/MySQL/LMDB数据库的方法
2019/11/07 Python
python 判断txt每行内容中是否包含子串并重新写入保存的实例
2020/03/12 Python
python学习笔记之多进程
2020/08/06 Python
记一次Django响应超慢的解决过程
2020/09/17 Python
送给他或她的礼物:FUN.com
2018/08/17 全球购物
白俄罗斯大卖场:21vek.by
2019/07/25 全球购物
日本化妆品植村秀俄罗斯官方网站:Shu Uemura俄罗斯
2020/02/01 全球购物
新东网科技Java笔试题
2012/07/13 面试题
机械化及自动化毕业生的自我评价分享
2013/11/06 职场文书
资产经营总监岗位职责范文
2013/12/01 职场文书
卖车协议书范本4篇
2014/10/01 职场文书
慰问信范文
2015/02/14 职场文书
我的长征观后感
2015/06/09 职场文书
银行客户经理培训心得体会
2016/01/09 职场文书
《金色的草地》教学反思
2016/02/17 职场文书
Python数据可视化之基于pyecharts实现的地理图表的绘制
2021/06/10 Python
Java面试题冲刺第十九天--数据库(4)
2021/08/07 Java/Android