Python获取Excel中超链接并下载至本地

2023-05-16

在这一任务的处理中,我是用的是 xlrd模块,它是用来读取Excel表格数据的模块。

  • 特别注意:高版本的xlrd目前去除了对xlsx格式的支持,仅支持 xls格式
xlrd.biffh.XLRDError: Excel xlsx file; not supported

针对以上问题,可以有两种选择:

  1. 选择重新安装低版本的:pip install xlrd==1.2.0
  2. 如果不想重新安装,可以打开xlsx文件将文件以xls格式另存储一份

所需要处理的文件情况如下所示:

import os
import xlrd
import requests
import time

from requests.packages.urllib3.exceptions import InsecureRequestWarning
# 禁用安全请求警告
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
base_path = "stuinfo/"
xlsx_filename = "rjtxjg.xls"

#读取excel文件
bk = xlrd.open_workbook(xlsx_filename)

#获取第一个sheet
sh1 = bk.sheets()[0]
print(sh1.nrows, sh1.ncols)

for r_index in range(40, sh1.nrows):
    print(sh1.cell_value(r_index, 2))
    os.mkdir(base_path + sh1.cell_value(r_index, 2))
    for c_index in range(3, sh1.ncols):
        if len(sh1.cell_value(r_index, c_index)) != 0:
            #获取超链接url
            link = sh1.hyperlink_map.get((r_index, c_index))
            print(link.url_or_path)

            #根据url下载到本地,这里需要注意https链接的话需要关闭认证
            filename = requests.get(link.url_or_path, verify=False)
            pic_name = base_path + sh1.cell_value(r_index, 2) + "/" + str(c_index) + ".jpg"
            print(pic_name)
            with open(pic_name, "wb") as code:
                code.write(filename.content)
        time.sleep(0.5)

 执行情况:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python获取Excel中超链接并下载至本地 的相关文章

随机推荐

  • mkdir -m 777 tt 创建777属性的文件

    mkdir m 777 tt 创建777属性的文件 转载于 https www cnblogs com todayORtomorrow p 10486514 html
  • 妄图用多线程控制ROS的消息回调函数的输出-_-!

    今天需要用一个标志位来决定回调函数是否执行 xff0c 那这边先写一个chatter的publish xff0c 10Hz外发 xff1b 这边准备额外多一个线程控制唤醒回调函数 首先在接收节点程序中 xff0c 写一个互斥锁和条件变量 x
  • 韦东山:机会总是留给有准备的人(转)

    最近电子发烧友 xff08 以下称 39 发烧友 39 xff09 采访了韦东山老师 xff0c 本文是采访原稿 xff0c 展示出来让大家更深入了解韦老师的同时也进一步学习嵌入式Linux经验 机会总是留给有准备的人 发烧友 为什么要学习
  • MYSQL:Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column

    使用Qt5 11 0运行代码时 xff0c 在对表进行操作时出该错误 xff0c 报错为 xff1a Expression 2 of SELECT list is not in GROUP BY clause and contains no
  • Ubuntu 20.04 搜狗输入法安裝

    本文基于 解决Ubuntu 18 04中文输入法的问题 xff0c 安装搜狗拼音 修改 参考 ubuntu 20 04 安装好搜狗输入法无法输入中文 xff0c 只能输入英文的问题 xff0c 因为没有安装依赖 如果本篇还解决不了问题 xf
  • www服务

    www服务 1 概述 1 1 WWW服务简介 www服务全称为World Wide Web xff0c 常称为Web xff0c 中文译为 万维网 它是目前互联网上最受用户欢迎的信息服务形式 HTTP协议的WWW服务应用的默认端口为80 x
  • NUC11 PAHi5 拆机及清理灰尘

    这个NUC买了两年了 xff0c 现在正值春天 xff0c 温度还算适中 xff0c 20度左右 xff0c NUC就挂了两个下载任务 xff0c 开了网页 xff0c 风扇就狂转不停 xff0c 一查看cpu温度达到了70度 xff0c
  • 华为云服务器使用教程

    华为云服务器初始化 账户密码初始化远程登录的问题命令行界面登录文件传输图形界面win10的远程桌面登录centos6 账户 账户根据你选择的服务器的系统来定 xff0c 如果是Linux则是root xff0c 如果是windows则是ad
  • 一劳永逸解决Matplotlib中文和负号显示错误并给出RuntimeWarning的问题

    出错情况 xff1a 提示 xff1a RuntimeWarning Glyph XXXXX missing from current font font set text s 0 0 flags 61 flags 同时中文 负号以方框代替
  • 使用Python实现二分图的KM算法在出租车订单匹配上的应用

    1 需求 想要使用Python实现一个出租车仿真环境 xff0c 其中每个时间窗口内产生的request及其周围的taxi满足一个二分图的关系 原本计划request与taxi之间的匹配按照接客时间权值最小为目标进行匹配 xff0c 但是后
  • 人脸识别Haar算法总结

    参考https blog csdn net zhangbijun1230 article details 81676792
  • 【转帖】【详细】Notepad++使用心得和特色功能介绍 -> notepad/ultraedit的最好的替代品...

    notepad 43 43 简介 Notepad 43 43 是旨在替代Windows默认的notepad而生 xff0c 比notepad的功能强大很多很多 Notepad 43 43 有两个版本 xff0c 一个是ANSI版本 xff0
  • stm32--工程结构的简单理解

    作为一个新手入门stm32的同学 xff0c 我也就做了一个比较简单的工程 xff0c 但是感觉自己并没有对这个stme32有一个比较好的理解 xff0c 因此 xff0c 由于工作原因 xff0c 需要帮别人调试程序 xff0c 在移植工
  • FreeRTOS移植STM32

    第一步 xff1a FreeRTOS官网 https www freertos org https www freertos org 第二步 xff1a OS移植文件 复制 FreeRTOSv202104 00 FreeRTOS Sourc
  • freeOS-----primask faultmask basepri中断屏蔽寄存器

    primask暂时屏蔽中断寄存器 在许多应用中 需要暂时屏蔽所有的中断一执行一些对时序要求严格的任务 这个时候就 可以使用 PRIMASK 寄存器 PRIMASK 用于禁止除 复位 NMI 不可屏蔽中断 和 HardFalut 硬故障寄存器
  • freeOS快速笔记-----任务4种状态

    运行态 当一个任务正在运行时 那么就说这个任务处于运行态 处于运行态的任务就是当前正在 使用处理器的任务 如果使用的是单核处理器的话那么不管在任何时刻永远都只有一个任务处于运行态 就绪态 处于就绪态的任务是那些已经准备就绪 这些任务没有被阻
  • freeOS笔记-----列表与列表项

    xff08 2 xff09 uxNumberOfItems 用来记录列表中列表项的数量 xff08 3 xff09 pxIndex 用来记录当前列表项索引号 用于遍历列表 xff08 4 xff09 列表中最后一个列表项 用来表示列表结束
  • FreeRTOS快速笔记————队列

    队列 xff08 任务之间 全局变量 xff09 在实际的应用中 常常会遇到一个任务或者中断服务需要和另外一个任务进行 沟通交流 这个 沟通交流 的过程其实就是消息传递的过程 在没有操作系统的时候两个应用程序进行 消息传递一般使用全局变量的
  • FreeRTOS快速笔记——信号量

    信号量的阻塞时间 单位是系统的节拍周期configTICK RATE HZ 为100 xff0c 则系统节拍时钟周期为10ms xff0c 设置0就是不等待 xff0c 设置1 无限就是按时钟节拍算时间 xff0c 设置portMAX DE
  • Python获取Excel中超链接并下载至本地

    在这一任务的处理中 xff0c 我是用的是 xlrd模块 xff0c 它是用来读取Excel表格数据的模块 特别注意 xff1a 高版本的xlrd目前去除了对xlsx格式的支持 xff0c 仅支持 xls格式 xlrd biffh XLRD