当前位置: 首页 > news >正文

根据UIL下载图片/视频、根据URL自动下载图片/视频、GUI自动下载想要的图片

目录

1,根据UIL下载图片/视频

2,根据URL自动下载图片/视频

3、GUI自动下载想要的图片

①点击下载按钮,进行挨个下载

②右击保存进行下载图片

4、图片或视频URL批量放入浏览器页面上


1,根据UIL下载图片/视频

def downForInterface(file_path):count = 1value_rows = []with open(file_path, encoding='UTF-8') as file:f_csv = csv.reader(file)for r in f_csv:value_rows.append(r)for file_path in value_rows:cunmulu = ''if '.' in file_path[0]:print(cunmulu + str(random.random()) + '.' + file_path[0].split('.')[-1])urllib.request.urlretrieve(file_path[0], cunmulu + str(count) + '.' + file_path[0].split('.')[-1])else:print(cunmulu + str(random.random()) + '.mp4')urllib.request.urlretrieve(file_path[0], cunmulu + str(count) + '.mp4')count = count + 1
downForInterface('image_or_video_url.csv')

效果如如下:

image_or_video_url.csv文件内容案例如下:
http://p8.itc.cn/images01/20201106/58779d3abcf040429748ebef7c25b4bf.jpeg
http://p9.itc.cn/images01/20201106/00bf12aff4c54f16b628097195a9bd6d.jpeg
http://p8.itc.cn/images01/20201106/e4bd1a9946804c77b8ca38cb16494e5f.jpeg
https://vd3.bdstatic.com/mda-nadbjpk0hnxwyndu/720p/h264_delogo/1642148105214867253/mda-nadbjpk0hnxwyndu.mp4
https://vd4.bdstatic.com/mda-pcraqjsn1bz1q2q0/sc/cae_h264/1679816509746997780/mda-pcraqjsn1bz1q2q0.mp4

2,根据URL自动下载图片/视频
 

import time
import pyautogui
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
class SaveImageOrVideo():def __init__(self):self.driver = webdriver.Chrome()def saveImage(self,file_path):a = 0with open(file_path, "r") as file:try:for url in file.readlines():a += 1print(url)self.driver.get(url)time.sleep(2)if(url.split('.')[-1].strip() not in 'mp4wmvrmaviflvwebmwavrmvbmpgmov'):image_element = self.driver.find_element(By.XPATH,'/html/body/img')else:image_element = self.driver.find_element(By.XPATH,'/html/body/video')action = ActionChains(self.driver).move_to_element(image_element)action.context_click(image_element)action.perform()pyautogui.typewrite(['v'])time.sleep(4)pyautogui.typewrite(['enter'])print("执行了{0}次,下载了{1}个文件".format(a, a))time.sleep(500)except Exception as err:print('An exception happened:' + str(err))finally:self.driver.quit()
if __name__ == '__main__':saveImageOrVideo = SaveImageOrVideo()saveImageOrVideo.saveImage("image_or_video_url.csv")

效果图如下:

 image_or_video_url.csv内容案例如下

 http://p8.itc.cn/images01/20201106/58779d3abcf040429748ebef7c25b4bf.jpeg http://p9.itc.cn/images01/20201106/00bf12aff4c54f16b628097195a9bd6d.jpeg http://p8.itc.cn/images01/20201106/e4bd1a9946804c77b8ca38cb16494e5f.jpeg https://vd3.bdstatic.com/mda-nadbjpk0hnxwyndu/720p/h264_delogo/1642148105214867253/mda-nadbjpk0hnxwyndu.mp4 https://vd4.bdstatic.com/mda-pcraqjsn1bz1q2q0/sc/cae_h264/1679816509746997780/mda-pcraqjsn1bz1q2q0.mp4

3、GUI自动下载想要的图片

①点击下载按钮,进行挨个下载
#左键点击下载图片
import time
from selenium import webdriver
from selenium.webdriver.common.by import Bydef downImageLifeClick(keyWord,count):before_time = time.time()keyWord = keyWordprefixUrl = "https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word="suffixUrl = "&step_word=&hs=2&pn=1&spn=0&di=13200&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=0&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=undefined&cs=113014737%2C3445157660&os=2351244306%2C2367448695&simid=3050896469%2C3730470527&adpicid=0&lpn=0&ln=362&fr=&fmq=1570618921319_R&fm=&ic=undefined&s=undefined&hd=undefined&latest=undefined&copyright=undefined&se=&sme=&tab=0&width=undefined&height=undefined&face=undefined&ist=&jit=&cg=&bdtype=0&oriquery=&objurl=http%3A%2F%2Fgss0.baidu.com%2F-vo3dSag_xI4khGko9WTAnF6hhy%2Fzhidao%2Fpic%2Fitem%2F0df431adcbef7609968039362cdda3cc7dd99e94.jpg&fromurl=ippr_z2C%24qAzdH3FAzdH3Fooo_z%26e3Bp7xt_z%26e3Bv54_z%26e3BvgAzdH3Fetjof-8nbml9nnclam-8nbml9nnclamdbdd_z%26e3Bip4s&gsm=&rpstart=0&rpnum=0&islist=&querylist=&force=undefined"driver = webdriver.Chrome()driver.get(prefixUrl+keyWord+suffixUrl)try:for i in range(0, count):#下载操作driver.maximize_window()down = driver.find_element(By.XPATH,'//*[@id="toolbar"]/span[7]')down.click()time.sleep(1)#翻页操作image = driver.find_element(By.XPATH,'//*[@id="container"]/span[2]/span')image.click()time.sleep(1)print("已下载%d张图片" % (i + 1))except Exception as e:print(e)time.sleep(10000)finally:driver.quit()after_time = time.time()print('您一共花费了%d秒' % (after_time - before_time))downImageLifeClick('古怪搞笑图',5)

效果图如下:

 

②点击右键保存,进行挨个下载
#pip install pypiwin32 -i https://pypi.douban.com/simple/
import win32api
import win32con
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time
#右键保存下载图片
from selenium.webdriver.common.by import Bydef downImageRightClick(keyWord,count):before_time = time.time()keyWord = keyWordprefixUrl = "https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word="suffixUrl = "&step_word=&hs=2&pn=1&spn=0&di=13200&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=0&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=undefined&cs=113014737%2C3445157660&os=2351244306%2C2367448695&simid=3050896469%2C3730470527&adpicid=0&lpn=0&ln=362&fr=&fmq=1570618921319_R&fm=&ic=undefined&s=undefined&hd=undefined&latest=undefined&copyright=undefined&se=&sme=&tab=0&width=undefined&height=undefined&face=undefined&ist=&jit=&cg=&bdtype=0&oriquery=&objurl=http%3A%2F%2Fgss0.baidu.com%2F-vo3dSag_xI4khGko9WTAnF6hhy%2Fzhidao%2Fpic%2Fitem%2F0df431adcbef7609968039362cdda3cc7dd99e94.jpg&fromurl=ippr_z2C%24qAzdH3FAzdH3Fooo_z%26e3Bp7xt_z%26e3Bv54_z%26e3BvgAzdH3Fetjof-8nbml9nnclam-8nbml9nnclamdbdd_z%26e3Bip4s&gsm=&rpstart=0&rpnum=0&islist=&querylist=&force=undefined"driver = webdriver.Chrome()VK_CODE = {'enter': 0x0D, 'down_arrow': 0x28}driver.get(prefixUrl+keyWord+suffixUrl)try:for i in range(0,count):image = driver.find_element(By.XPATH,'//*[@id="srcPic"]/img')action = ActionChains(driver).move_to_element(image)# ActionChains(driver).context_click(image).perform()action.context_click(image).perform()time.sleep(1)win32api.keybd_event(86, 0, 0, 0)win32api.keybd_event(86, 0, win32con.KEYEVENTF_KEYUP, 0)time.sleep(2)win32api.keybd_event(VK_CODE['enter'], 0, 0, 0)win32api.keybd_event(VK_CODE['enter'], 0, win32con.KEYEVENTF_KEYUP, 0)print("已下载%d张图片" % (i + 1))time.sleep(1)driver.find_element(By.XPATH,'//*[@id="container"]/span[2]').click()time.sleep(1)except Exception as e:print(e)finally:driver.quit()after_time = time.time()print('您一共花费了%d秒' % (after_time - before_time))downImageRightClick('清凉图',5)

效果图如下:

 

4、图片或视频URL批量放入浏览器页面上

import time
from selenium import webdriverdef new_table():driver = webdriver.Chrome()try:driver.maximize_window()driver.delete_all_cookies()fo = open("image_or_video_url.csv", "r")for line in fo.readlines():if len(line) > 0:driver.get(line)driver.execute_script("window.open('');")  # 打开新的页面current_window = driver.current_window_handlehandles = driver.window_handles# for handle in handles:#     if current_window != handle:#         driver.switch_to.window(handle) #耗时 50 185# driver.switch_to.window(handles[len(handles)-1]) #耗时 50 101driver.switch_to.window(handles[-1])  # 耗时 50 102fo.close()time.sleep(500)except Exception as e:print(e)finally:driver.quit()new_table()

效果图如下:

 

根据UIL下载图片/视频、根据URL自动下载图片/视频、GUI自动下载想要的图片篇结束,欢迎去我的主页查看其它关于技术的文章~~~

相关文章:

根据UIL下载图片/视频、根据URL自动下载图片/视频、GUI自动下载想要的图片

目录 1,根据UIL下载图片/视频 2,根据URL自动下载图片/视频 3、GUI自动下载想要的图片 ①点击下载按钮,进行挨个下载 ②右击保存进行下载图片 4、图片或视频URL批量放入浏览器页面上 1,根据UIL下载图片/视频 def downForInter…...

HTML <picture> 标签

实例 如何使用 <picture> 标签: <picture><source media="(min-width:650px)" srcset="/i/photo/flower-4.jpg"><source media="(min-width:465px)" srcset="/i/photo/tulip.jpg"><img src="/i/ph…...

力扣天天练--week3-LeetCode75

topic75-9-t443:压缩字符串 题目描述&#xff1a; 给你一个字符数组 chars &#xff0c;请使用下述算法压缩&#xff1a; 从一个空字符串 s 开始。对于 chars 中的每组 连续重复字符 &#xff1a; 如果这一组长度为 1 &#xff0c;则将字符追加到 s 中。 否则&#xff0c;需…...

5.2 方法的定义和调用

5.2 方法的定义和调用 Java的方法类似于其他语言的函数&#xff0c;是一段用来完成特定功能的代码片段&#xff0c;一般情况下&#xff0c;定义一个方法包含以下语法&#xff1a; 一、方法的定义 方法包含一个方法头和一个方法体 修饰符 返回值类型 方法名 &#xff08;参数类…...

Linux基础以及常用命令

目录 1 Linux简介1.1 不同应用领域的主流操作系统1.2 Linux系统版本1.3 Linux安装1.3.1 安装VMWare1.3.2 安装CentOS镜像1.3.3 网卡设置1.3.4 安装SSH连接工具1.3.5 Linux和Windows目录结构对比 2 Linux常用命令2.0 常用命令&#xff08;ls&#xff0c;pwd&#xff0c;cd&#…...

echarts 折线图上只显示某一个点值

<template> <div> <!-- 数据来源 --> <div class"echarts" ref"echartsRef"></div> </div> </template> <script setup langts name"reconciled"> import { ref } from "vue"; im…...

1、传统锁回顾(Jvm本地锁,MySQL悲观锁、乐观锁)

目录 1.1 从减库存聊起1.2 环境准备1.3 简单实现减库存1.4 演示超卖现象1.5 jvm锁1.6 三种情况导致Jvm本地锁失效1、多例模式下&#xff0c;Jvm本地锁失效2、Spring的事务导致Jvm本地锁失效3、集群部署导致Jvm本地锁失效 1.7 mysql锁演示1.7.1、一个sql1.7.2、悲观锁1.7.3、乐观…...

【Java||牛客】DFS应用迷宫问题

step by step. 题目&#xff1a; 描述 定义一个二维数组 N*M &#xff0c;如 5 5 数组下所示&#xff1a; int maze[5][5] { 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫&#xff0c;其中的1表示墙壁&#xff0c;0表示可…...

【vue】Vue中class样式的动态绑定

简介&#xff1a;Vue中class样式的绑定 1、字符串写法 使用场景&#xff1a;样式的类型不确定 写法&#xff1a; <div :class"xd_bg">测试账号</div> 手动触发样式改变 注意&#xff1a;字符串使用的是vue实例data中已有的属性 2、对象写法 使…...

机器学习深度学习——随机梯度下降算法(及其优化)

在我们没有办法得到解析解的时候&#xff0c;我们可以用过梯度下降来进行优化&#xff0c;这种方法几乎可以所有深度学习模型。 关于优化的东西&#xff0c;我自己曾经研究过智能排班算法和优化&#xff0c;所以关于如何找局部最小值&#xff0c;以及如何跳出局部最小值的一些基…...

【MTK平台】【wpa_supplicant】关于wpa_supplicant_8/src/p2p/p2p.c文件的介绍

本文主要介绍external/wpa_supplicant_8/src/p2p/p2p.c文件 先看下p2p_find 这个方法 P2P_find 主要用于 P2P&#xff08;点对点&#xff09;网络中查找其他对等方的功能。另外可以看到设置P2P模块的状态为 P2P_SEARCH int p2p_find(struct p2p_data *p2p, unsigned int tim…...

华为数通HCIP-流量过滤与转发路径控制

流量控制 分类&#xff1a;流量过滤、流量转发路径控制&#xff1b; 特点&#xff1a;1、作用于数据层面/转发层面&#xff1b; 2、不会影响路由表&#xff0c;针对转发流量生效&#xff1b; 实现步骤&#xff1a; 1、通过流量匹配工具匹配流量&#xff08;ACL…...

SpringBoot中定时任务开启多线程避免多任务堵塞

场景 SpringBoot中定时任务与异步定时任务的实现&#xff1a; SpringBoot中定时任务与异步定时任务的实现_霸道流氓气质的博客-CSDN博客 使用SpringBoot原生方式实现定时任务&#xff0c;已经开启多线程支持&#xff0c;以上是方式之一。 除此之外还可通过如下方式。 为什…...

回归预测 | MATLAB实现SO-CNN-BiLSTM蛇群算法优化卷积双向长短期记忆神经网络多输入单输出回归预测

回归预测 | MATLAB实现SO-CNN-BiLSTM蛇群算法优化卷积双向长短期记忆神经网络多输入单输出回归预测 目录 回归预测 | MATLAB实现SO-CNN-BiLSTM蛇群算法优化卷积双向长短期记忆神经网络多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 Matlab实…...

入侵检测——IDS概述、签名技术

1. 什么是IDS&#xff1f; IDS&#xff08;intrusion detection system&#xff09;入侵检测系统&#xff0c;是一种对网络传输进行即时监视&#xff0c;在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。它会对系统的运行状态进行监视&#xff0c;发现各种攻击企…...

golang 标准库json Marshal 序列化与反序列化

标准库代码 func Marshal(v any) ([]byte, error) {e : newEncodeState()defer encodeStatePool.Put(e)err : e.marshal(v, encOpts{escapeHTML: true})if err ! nil {return nil, err}buf : append([]byte(nil), e.Bytes()...)return buf, nil }func Unmarshal(data []byte, …...

【【51单片机AD/DA的分析】】

51单片机AD/DA的分析 看似单片机实验&#xff0c;其实是要学好数电 模数转换 与 数模转换 运算放大器 DA的转换就是利用运算放大器实现的 输出电压v0-(D7~D0)/256 x (VrefxRfb)/R D7~D0 就是我们控制的按键看输入多少 然后再划分256份 Vref是我们设置的一个基准电压 PWM 这种…...

在docker中安装使用达梦数据库

关于在docker中安装达梦数据库&#xff0c;达梦官方网站其实是有提供安装使用方法的&#xff0c;但可能还是有朋友不会&#xff0c;这里将在原文基础上简单扩充下。 注意&#xff1a;docker容器中&#xff0c;数据库安装后没有创建服务的脚本&#xff0c;只有bin、bin2、conf、…...

Leetcode-每日一题【剑指 Offer II 010. 和为 k 的子数组】

题目 给定一个整数数组和一个整数 k &#xff0c;请找到该数组中和为 k 的连续子数组的个数。 示例 1&#xff1a; 输入:nums [1,1,1], k 2输出: 2解释: 此题 [1,1] 与 [1,1] 为两种不同的情况 示例 2&#xff1a; 输入:nums [1,2,3], k 3输出: 2 提示: 1 < nums.leng…...

【JavaScript】使用Promise来处理异步调用,方法传入参数为接口,并回调接口的方法

例如我们在下面这个方法传入一个接口&#xff0c;并将方法的执行过程用传入的接口进行回调 connect() {wx.connectSocket({url: this.url,success: () > {console.log(WebSocket 连接创建成功);},fail: (err) > {console.error(WebSocket 连接创建失败, err);}});wx.onS…...

【kafka】Golang实现分布式Masscan任务调度系统

要求&#xff1a; 输出两个程序&#xff0c;一个命令行程序&#xff08;命令行参数用flag&#xff09;和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽&#xff0c;然后将消息推送到kafka里面。 服务端程序&#xff1a; 从kafka消费者接收…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

基于Springboot+Vue的办公管理系统

角色&#xff1a; 管理员、员工 技术&#xff1a; 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能&#xff1a; 该办公管理系统是一个综合性的企业内部管理平台&#xff0c;旨在提升企业运营效率和员工管理水…...

Razor编程中@Html的方法使用大全

文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...

13.10 LangGraph多轮对话系统实战:Ollama私有部署+情感识别优化全解析

LangGraph多轮对话系统实战:Ollama私有部署+情感识别优化全解析 LanguageMentor 对话式训练系统架构与实现 关键词:多轮对话系统设计、场景化提示工程、情感识别优化、LangGraph 状态管理、Ollama 私有化部署 1. 对话训练系统技术架构 采用四层架构实现高扩展性的对话训练…...