批量下载excel中超链接对应的文件

今天接到一个任务:Boss给我了一个excel文件,里面包含要下载的内容的链接,一共有1000多个pdf文件需要下载,于是我就想到使用python来解决这个问题~

第一步 处理excel文件

1.首先需要将 .xls 文件转换成 .csv 文件;
2.将文件编码格式转化为 utf-8 。(具体原因后面会进行阐述)

具体步骤 :

  1. 打开文件,另存为
  2. 文件格式选择 CSV UTF-8

第二步 编写python代码

1.导入requests模块;
2.正式开始:

# -*- coding:utf-8 -*-import csv
import requests#使用n为文件编号
n=1
#引用含有目标url的.csv文件
file_url = 'D:\download_file\超链接文件.csv'#读取.csv文件中数据
csv_file = csv.reader(open(file_url,'r',encoding='utf-8'))
#取下一个元素,即删除标题行
next(csv_file,None)for url in csv_file:#获取需要下载的内容,返回二进制的数据。常用于获取图片,文件,图片保存在文件的时候需要加使用’b’#url[14]指的是超链接所在列数,从0开始编码r = requests.get(url[14])downloader = r.content#‘D:\download_file’是文件保存的地址,fn.pdf是文件名称new_url = 'D:\download_file\\f' +str(n) +'.pdf'#将数据写入目标文件with open(new_url,'ab') as file:file.write(downloader)file.flushn += 1

运行结果

可能出现的问题及原因

错误代码:“UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xd0 in position 0: invalid continuation byte”
错误截图
错误原因
直接将文件后缀修改为 .csv ,没有使用文件另存为,将文件格式修改为 CSV UTF-8

批量下载excel中超链接对应的文件相关推荐

  1. 批量下载Excel中的链接中的文件

    前几天有一个小任务,就是把一个Excel中的三百多个音频下载下来,这些音频都是URL的形式,于是就写了个python脚本把他们都抓了下来,因为很简单,所以就直接贴代码了: 注意:首先要把Excel转换 ...

  2. python实现批量下载Excel中PDF的URL到本地

    需求:Excel中有成千上万个PDF的URL要批量下载到本地,然后打印出来. 12行代码搞定,无废话,直接上代码 import openpyxl import requestswb = openpyx ...

  3. python批量处理excel文本改为数字_Python批量修改Excel中的文件内容

    import os import xlrd from xlutils.copy import copy def base_dir(filename=None): return os.path.join ...

  4. 批量下载文献中的参考文献

    批量下载文献中的参考文献 这里写目录标题 批量下载文献中的参考文献 一级目录 二级目录 三级目录 一.下载所有你需要文献的引文题录 二.导入到文献管理软件中 **点击导入文献,上一步已经下载的,如果不 ...

  5. 使用python批量下载需要的分子的SDF文件

    使用python批量下载需要的分子的SDF文件 这里需要借助python的第三方库pubchempy (可以使用pip安装:pip install pubchempy) 首先定义文件的路径(这里的文件 ...

  6. 批量提取excel中包含特定关键字的单元格内容

    批量提取excel中包含特定关键字的单元格内容 链接:https://pan.baidu.com/s/1uTnkYXh8jBcaeda-JoQDuQ 提取码:jbkv class get_xls_da ...

  7. 如何批量隐藏Excel中手机号码四位数?

    今天跟大家分享一下如何批量隐藏Excel中手机号码四位数? 1.打开Excel文件,如下图要求我们将Excel中多个手机号码批量隐藏中间四位数. 2.首先我们选中手机号码单元格区域 3.点击[diy工 ...

  8. java下载Excel表格(ajax处理流文件)

    java下载Excel表格(ajax处理流文件) 遇到的问题: ① 导出Excel,处理大量的数据 ② 后端使用Apache POI中的SXSSFWorkbook导出功能,不使用xlsx.core.m ...

  9. python自动化办公(第9课)批量调整Excel中字体、样式

    python自动化办公(第9课)批量调整Excel中字体.样式 - 修改字体样式 Font(name="字体名",size=字体大小,bold=是否加粗,italic=是否斜体,c ...

  10. 利用for循环、openpyxl批量新建Excel中的表格

    一.在Excel中批量创建工作表 要求实现的功能: 在指定的路径,新建一个Excel文件,该文件中有7月1日到7月31日共31个工作表. 准备: Python环境.安装openpyxl库 代码: im ...

最新文章

  1. 4.5.2 OSPF协议与链路状态算法
  2. 【基本数据结构之'图'】
  3. C#三层开发做学生管理系统
  4. lucene 增量 全量 更新索引_10年+,阿里沉淀出怎样的搜索引擎?
  5. discuz php mysql_php下mysql数据库操作类(改自discuz)
  6. GBase数据库-数据转换函数
  7. Qt网络编程-简易版TcpServer入门Demo(2)
  8. 让手机成为电脑的摄像头,Droidcam(linux) 的安装及使用
  9. 电脑CPU和内存占用过高
  10. 移动硬盘损坏,数据能恢复吗
  11. 【转】楼天城楼教主的acm心路历程(作为励志用)
  12. 把对象push进数组
  13. 经典策略之一文读懂网格交易
  14. 计算机绩点3.2算什么水平,绩点3.3代表什么水平
  15. 【组队学习】Task06:FOR、IF、以及while
  16. 计算机手绘图软件,openCanvas
  17. Unity 物体移动碰撞抖动(原因和解决方法)
  18. sql查询语句-平均分、最高最低分、判断、排序
  19. 制定CA6140C车床拨叉的加工工艺,设计铣18mm槽的铣床夹具
  20. 每天学一个 Linux 命令(19):rm

热门文章

  1. svn conflict linux,解决svn update 产生Node remains in conflict的问题
  2. 数据结构课程笔记1-水王问题
  3. Java 多线程设计模式
  4. linux 桌面美化指南,Linux_9方面立体式地美化Ubuntu桌面,总结了一下桌面美化的设置。 - phpStudy...
  5. html rtf转换,如何使用JavaScript将HTML转换为RTF
  6. python打印文档添加条码_使用Python在Excel中批量生成条形码
  7. python自学课堂_python自学——列表
  8. Instant类[java]
  9. VS2013好用的插件
  10. nokia专业显示器测试软件,Nokia Monitor Test(