当前位置: 首页 > 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…...

grid map学习笔记1之Ubuntu18.04+ROS-melodic编译安装grid_map栅格地图及示例运行

文章目录 0 引言1 安装依赖和编译1.1 安装依赖1.2 下载编译 2 运行示例2.1 simple_demo2.2 tutorial_demo2.3 iterators_demo2.4 image_to_gridmap_demo2.5 grid_map_to_image_demo2.6 opencv_demo2.7 resolution_change_demo2.8 filters_demo2.9 interpolation_demo 0 引言 苏…...

postgres wal2json插件jsonb字段数据丢失问题解决

使用pgwal2jsondebezium进行数据同步时&#xff0c;发现偶尔会有jsonb字段数据丢失的问题 进行测试时发现&#xff1a; 1、发生数据丢失的jsonb字段长度都比较大(超过toast阈值&#xff0c;使用toast表存储) 2、针对发生jsonb字段丢失的数据&#xff0c;jsonb字段本身未发生修…...

华为eNSP:路由引入

一、拓扑图 二、路由器的配置 1、配置路由器的IP AR1&#xff1a; [Huawei]int g0/0/0 [Huawei-GigabitEthernet0/0/0]ip add 1.1.1.1 24 [Huawei-GigabitEthernet0/0/0]qu AR2&#xff1a; [Huawei]int g0/0/0 [Huawei-GigabitEthernet0/0/0]ip add 1.1.1.2 24 [Huaw…...

Retrospectives on the Embodied AI Workshop(嵌入式人工智能研讨会回顾) 论文阅读

论文信息 题目&#xff1a;Retrospectives on the Embodied AI Workshop 作者&#xff1a;Matt Deitke, Dhruv Batra, Yonatan Bisk 来源&#xff1a;arXiv 论文地址&#xff1a;https://arxiv.org/pdf/2210.06849 Abstract 我们的分析重点关注 CVPR Embodied AI Workshop 上…...

「JVM」Full GC和Minor GC、Major GC

Full GC和Minor GC、Major GC 一、Full GC1、什么是Full GC?2、什么情况下会触发full gc&#xff1f; 二、Minor GC1、什么是Minor GC&#xff1f;2、什么情况下会触发Minor GC&#xff1f; 三、Major GC1、什么是Major GC&#xff1f;2、什么情况下会触发Major GC&#xff1f…...

Asp.Net MVC 使用Log4Net

Asp.Net MVC 使用Log4Net 在 ASP.NET MVC 中使用 Log4net 需要进行一些配置和代码集成。下面是在 ASP.NET MVC 中使用 Log4net 的步骤&#xff1a; 1. 安装 Log4net NuGet 包 打开 NuGet 包管理器控制台&#xff0c;并运行以下命令来安装 Log4net&#xff1a; Install-Pack…...

[元带你学: eMMC协议 29] eMMC 断电通知(PON) | 手机平板电脑断电通知

依JEDEC eMMC及经验辛苦整理,原创保护,禁止转载。 专栏 《元带你学:eMMC协议》 内容摘要 全文 2000 字, 主要内容 前言 断电通知是什么? 断电通知过程...

vue使用recorder-core.js实现录音功能

下载组件 npm install recorder-core封装方法 record.ts //必须引入的核心 import Recorder from recorder-core;//引入mp3格式支持文件&#xff1b;如果需要多个格式支持&#xff0c;把这些格式的编码引擎js文件放到后面统统引入进来即可 import recorder-core/src/engine/…...

ThinkPHP8知识详解:给PHP8和MySQL8添加到环境变量

在PHPenv安装的时候&#xff0c;环境变量默认的PHP版本是7.4的&#xff0c;MySQL的版本是5.7的&#xff0c;要想使用ThinkPHP8来开发&#xff0c;就必须修改环境变量&#xff0c;本文就详细讲解了如果修改PHP和MySQL的环境变量。 1、添加网站 启动phpenv&#xff0c;网站&…...

UE使用UnLua(二)

1.前言 最近也是比较忙&#xff0c;忘了来更新了&#xff0c;好多都是开了头断更的&#xff08;狗头&#xff09;&#xff0c;今天抽空再更一篇&#xff01;&#xff01; 这篇讲一下在UnLua中覆盖蓝图事件&#xff08;函数&#xff09;&#xff0c;及按钮、文本控件的一些使用…...