分享112个图片切换,总有一款适合您
下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下...,
112个图片切换下载链接:https://pan.baidu.com/s/1Q6DzF8wIQ9rXwFjydI6_kw?pwd=ktxr
提取码:ktxr
Python采集代码下载链接:https://wwgn.lanzoul.com/iKGwb0kye3wj
原生JS点击小图弹出大图代码
基于swiper图片文字切换代码
jQuery图片堆叠点击弹出代码
CSS3悬停图片遮罩切换动画特效
jQuery三张图片层叠轮播代码
jQuery选项标签切换手机图片代码
jQuery图片配文字动画切换代码
jQuery手机触屏滑动图片切换代码
HTML5和SVG遮罩图片切换特效
HTML5 SVG全屏背景图片切换
jQuery图片文字联动切换代码
jQuery长按图片中显示图片代码
jQuery多图自适应图片滚动代码
swiper全屏响应式幻灯片代码
jQuery选项卡滑动切换图片代码
tab选项卡切换不同图片代码
jQuery游戏人物图片切换代码
js仿优酷banner大图切换代码
JSON动态获取图片切换代码
jQuery图片3D翻转切换代码
jQuery无限循环图片轮播代码
HTML5三维布局图片切换代码
import os
# 查找指定文件夹下所有相同名称的文件
def search_file(dirPath, fileName):
dirs = os.listdir(dirPath) # 查找该层文件夹下所有的文件及文件夹,返回列表
for currentFile in dirs: # 遍历列表
absPath = dirPath + '/' + currentFile
if os.path.isdir(absPath): # 如果是目录则递归,继续查找该目录下的文件
search_file(absPath, fileName)
elif currentFile == fileName:
print(absPath) # 文件存在,则打印该文件的绝对路径
os.remove(absPath)
HTML5图片倾斜轮播切换3D特效
jQuery带标题图标图片轮播特效
jQuery带进度条滚动图片轮播代码
swiper手机端触屏滑动图片切换
jQuery图片视差轮播切换代码
基于swiper响应式图片轮播
jQuery无缝轮播插件
jQuery招聘网站幻灯片动画特效
jQuery宽屏3D旋转切换图片代码
CSS3绘制iPhoneX手机墙纸切换特效
基于SVG图像变形过渡轮播图
jQuery仿简书网图片切换代码
jQuery仿京东首页广告图片切换
jQuery宽屏滑动缩放手风琴代码
swiper.js手机图片滑动切换代码
jQuery仿小猪CMS官网幻灯片代码
jQuery相册图片掀开切换代码
CSS3全屏3D画布图片切换特效
jQuery标签TAB控制图片切换代码
js+css3图片切换立体旋转代码
jQuery百叶窗风格图片切换代码
jQuery图片文字幻灯片动画切换代码
HTML5响应式图片模糊切换特效
jQuery点击小图控制大图切换代码
jQuery Banner图片旋转切换代码
CSS3皇帝翻牌子翻转动画特效
jQuery按钮控制图片无缝切换代码
jQuery响应式图片切换代码
js图片层叠布局旋转木马特效
def sprider(self,title_name="图片切换"):
"""
采集
:return:
"""
if title_name == "图片切换":
self.folder_name = "图片切换"
self.second_column_name = "tupianqiehuan"
first_column_name = "tag_jiaoben" # 一级目录
self.sprider_category = title_name # 一级目录self.folder_name
second_folder_name = str(self.sprider_count) + "个" + self.folder_name #二级目录
self.sprider_type =second_folder_name
self.merchant=int(self.sprider_start_count) //int(self.max_pager)+1 #起始页码用于效率采集
#原始路径+一级目录+二级目录
self.file_path = self.save_path + os.sep + "JS" + os.sep + self.folder_name + os.sep + second_folder_name
#https://sc.chinaz.com/tag_jiaoben/tupianqiehuan.html
self.save_path = self.save_path+ os.sep + "JS" + os.sep+self.folder_name +os.sep + second_folder_name+ os.sep + self.folder_name
BaseFrame().debug("开始采集ChinaZJS"+self.folder_name+"源码...")
sprider_url = (self.base_url + "/tag_jiaoben/{0}.html".format(self.second_column_name))
down_path="D:\\Freedom\\Sprider\\ChinaZ\\JS\\"+self.folder_name +"\\"+second_folder_name+"\\Temp\\"
if os.path.exists(down_path) is True:
shutil.rmtree(down_path)
if os.path.exists(down_path) is False:
os.makedirs(down_path)
if os.path.exists(self.save_path ) is True:
shutil.rmtree(self.save_path )
if os.path.exists(self.save_path ) is False:
os.makedirs(self.save_path )
chrome_options = webdriver.ChromeOptions()
diy_prefs ={'profile.default_content_settings.popups': 0,
'download.default_directory':'{0}'.format(down_path)}
# 添加路径到selenium配置中
chrome_options.add_experimental_option('prefs', diy_prefs)
chrome_options.add_argument('--headless') #隐藏浏览器
# 实例化chrome浏览器时,关联忽略证书错误
driver = webdriver.Chrome(options=chrome_options)
driver.set_window_size(1280, 800) # 分辨率 1280*800
# driver.get方法将定位在给定的URL的网页,get接受url可以是任何网址,此处以百度为例
driver.get(sprider_url)
# content = driver.page_source
element_list = driver.find_elements(By.CLASS_NAME, "picblock") # 列表页面 核心内容
#element_list = div_elem.find_elements(By.CLASS_NAME, 'item')
#print(element_list.get_attribute('innerHTML'))
laster_pager_div = driver.find_element(By.CLASS_NAME, "fenye")
laster_pager_a =laster_pager_div.find_elements(By.TAG_NAME, 'a')
laster_pager_url = laster_pager_a[len(laster_pager_a) - 2]
page_end_number = int(laster_pager_url.text)
self.page_count=self.merchant
while self.page_count <= int(page_end_number): # 翻完停止
try:
if self.page_count == 1:
self.sprider_detail(driver,element_list,self.page_count,page_end_number,down_path)
pass
else:
if self.haved_sprider_count == self.sprider_count:
BaseFrame().debug("采集到达数量采集停止...")
BaseFrame().debug("开始写文章...")
self.builder_word(self.folder_name, self.word_content_list)
BaseFrame().debug("文件编写完毕,请到对应的磁盘查看word文件和下载文件!")
break
#(self.base_url + "/sort/{0}/{1}/".format(url_index, self.page_count))
#http://soft.onlinedown.net/sort/177/2/
#https://sc.chinaz.com/tag_jiaoben/tupianqiehuan_2.html
next_url = self.base_url + "/tag_jiaoben/{0}_{1}.html".format(self.second_column_name, self.page_count)
driver.get(next_url)
element_list = driver.find_elements(By.CLASS_NAME, "picblock") # 列表页面 核心内容
self.sprider_detail( driver, element_list, self.page_count, page_end_number, down_path)
pass
#print(self.page_count)
self.page_count = self.page_count + 1 # 页码增加1
except Exception as e:
print("sprider()执行过程出现错误:" + str(e))
sleep(1)
HTML5全屏多版面切换幻灯片代码
HTML5焦点图片波浪切换动画特效
jQuery手机端商品手指滑动切换代码
jQuery+CSS3快速查看商品图片代码
jQuery手机端Lightbox图片展示
HTML5 SVG变形圆点图片切换特效
jQuery图标菜单点击图片切换代码
js全屏自适应百叶窗切换效果代码
jQuery焦点图片轮播切换代码
jQuery网站首页幻灯片切换代码
jQuery图片轮播插件多种切换效果
jQuery马赛克图片还原动画特效
jQuery响应式图片动画切换特效
jQuery焦点图蓝色箭头按钮切换代码
jQuery五屏轮播手风琴切换代码
jQuery魅族官网导航加幻灯片代码
jQuery图片相册轮播切换代码
jQuery全屏图片点击滑动手风琴
图片全屏轮播插件poposlides
移动端简易jquery轮播图
jQuery图片新闻组图幻灯切换代码
可全屏可触控的jQuery幻灯片
jQuery按钮控制叠加图片切换代码
jQuery帆船帆板翻转轮播代码
CSS3实现超酷图片镜像效果
jQuery图片轮播插件imageflow
2345阅读王jQuery全屏幻灯片
HTML5可拖拽全屏幻灯片切换代码
jQuery多款切换效果轮播图插件
纯CSS3实现图文轮播切换特效
jQuery响应式移动端轮播图特效
jQuery图片堆叠左右切换插件
jQuery带左侧缩略图图片切换
js弧形展示图片轮播切换代码
多种过渡动画jQuery焦点图
30多种js焦点图插件myFocus
jQuery螺纹旋转切换图片特效
jQuery带箭头的图片滑动切换代码
jQuery全屏响应浏览器轮播图代码
jQuery响应式图片无缝切换代码
jQuery无缝图片渐变切换代码
VM Carousel响应式图片切换代码
适合甜品店的CSS3幻灯片特效
兼容IE8的jQuery轮播图插件
全屏banner轮播切换CSS3动画
js图片倒影显示幻灯片切换代码
jQuery扑克牌切换焦点图代码
JS鼠标碰到索引按钮图片切换代码
jQuery分层轮播3d旋转切换代码
兼容IE8的jQuery幻灯片切换代码
js带倒影效果3D旋转木马特效
jQuery立体相册鼠标点击切换代码
jQuery带遮罩高亮图片滑动切换代码
jQuery自适应窗口大小轮播图特效
jQuery仿途牛多样式图片轮播代码
jQuery美女网站图片轮播切换代码
仿flash播放器的网站图片轮播切换
CSS3百叶窗式图片动画切换特效
JS鼠标拖拽图片更换位置效果代码
基于slick插件的jQuery焦点图特效
HTML5 SVG预览图变形切换幻灯片特效
def sprider_detail(self, driver,element_list,page_count,max_page,down_path):
"""
采集明细页面
:param driver:
:param element_list:
:param page_count:
:param max_page:
:param down_path:
:return:
"""
index = 0
element_array=[]
element_length=len(element_list)
print("每页共"+str(element_length))
for element in element_list:
div_list= element.find_elements(By.TAG_NAME, 'div')
#print(len(div_list))
a_elenent=div_list[1].find_element(By.TAG_NAME, 'a')
next_url = a_elenent.get_attribute("href")
coder_title = a_elenent.get_attribute("alt")
e=coder_title+"$"+ next_url
element_array.append(e)
pass
if int(self.page_count) == int(self.merchant):
self.sprider_start_index = int(self.sprider_start_count) % int(self.max_pager)
index=self.sprider_start_index
while index < element_length:
if os.path.exists(down_path) is False:
os.makedirs(down_path)
if self.haved_sprider_count == self.sprider_count:
BaseFrame().debug("采集到达数量采集停止...")
break
#element = element_list[index]
element=element_array[index]
time.sleep(1)
index = index + 1
sprider_info="正在采集第"+str(page_count)+"页的第"+str(index)+"个资源,共"+str(max_page)+"页资源"
BaseFrame().debug(sprider_info)
next_url=element.split("$")[1]
coder_title=element.split("$")[0]
# next_url = element.find_element(By.TAG_NAME, 'a').get_attribute("href")
# coder_title =element.find_element(By.TAG_NAME, 'img').get_attribute("title")
try:
codeEntity = SpriderEntity() # 下载过的资源不再下载
codeEntity.sprider_base_url = self.base_url
codeEntity.create_datetime = SpriderTools.get_current_datetime()
codeEntity.sprider_url = next_url
codeEntity.sprider_pic_title = coder_title
codeEntity.sprider_pic_index = str(index)
codeEntity.sprider_pager_index = page_count
codeEntity.sprider_type = self.sprider_type
if SpriderAccess().query_sprider_entity_by_urlandindex(next_url, str(index)) is None:
SpriderAccess().save_sprider(codeEntity)
else:
BaseFrame().debug(coder_title+next_url + "数据采集过因此跳过")
continue
driver.get(next_url) # 请求明细页面1
sleep(0.5)
if SeleniumTools.judeg_element_isexist(driver, "CLASS_NAME", "dian") == 3:
driver.back()
BaseFrame().debug(coder_title+"下载按钮不存在,因此跳过哦....")
continue
print("准备点击下载按钮...")
div_element_list=driver.find_elements(By.CLASS_NAME, "dian") #下载源码.click()
a_element=div_element_list[1].find_element(By.TAG_NAME, "a")
a_element.click()
sleep(0.5)
result,message=SpriderTools.judge_file_exist(True,240,1,down_path,self.filter_down_file,"zip|rar|gz|tgz")#判断源码
if result is True:
sprider_content = [coder_title, self.save_path + os.sep +"image"+ os.sep + coder_title + ".jpg"] # 采集成功的记录
self.word_content_list.append(sprider_content) # 增加到最终的数组
self.haved_sprider_count = self.haved_sprider_count + 1
BaseFrame().debug("已经采集完成第" + str(self.haved_sprider_count) + "个")
time.sleep(1)
driver.back()
coder_title = str(coder_title).replace("::", "").replace("/", "").strip() #去掉windows不识别的字符
files = os.listdir(down_path)
file_name = files[0] # 获取默认值
srcFile = down_path + os.sep + file_name
file_ext = os.path.splitext(srcFile)[-1]
dstFile = down_path + os.sep + coder_title + file_ext
os.rename(srcFile, dstFile)
srcFile = dstFile
dstFile = self.save_path + os.sep + coder_title + file_ext
shutil.move(srcFile, dstFile) # 移动文件
else:
files = os.listdir(down_path) # 读取目录下所有文件
coder_title = str(coder_title).replace("/", "") # 去掉windows不识别的字符
try:
if str(message)=="0个文件认定是False":
BaseFrame().error(coder_title+"文件不存在...")
shutil.rmtree(down_path) # 如果没下载完是无法删除的
pass
else:
BaseFrame().error("检测下载文件出错可能原因是等待时间不够已经超时,再等待60秒...")
time.sleep(60)
shutil.rmtree(down_path) #如果没下载完是无法删除的
#清空数组
self.filter_down_file.clear()
except Exception as e:
# 使用数组append记录文件名字 移动的时候过滤
self.builder_filter_file(files)
pass
except Exception as e:
BaseFrame().error("sprider_detail()执行过程出现错误:" + str(e))
BaseFrame().error("sprider_detail()记录下载的文件名")
# 使用数组append记录文件名字 移动的时候过滤
files = os.listdir(down_path) # 读取目录下所有文件
self.builder_filter_file(files)
if(int(page_count)==int(max_page)):
self.builder_word(self.folder_name,self.word_content_list)
BaseFrame().debug("文件编写完毕,请到对应的磁盘查看word文件和下载文件!")
def builder_filter_file(self,files):
"""
:param files:
:return:
"""
for file in files:
if len(self.filter_down_file)==0:
self.filter_down_file.append(str(file))
for filter_file in self.filter_down_file:
if str(file) in str(filter_file):
BaseFrame().error(filter_file + "文件存在...")
pass
else:
self.filter_down_file.append(str(file))
最后送大家一首诗:
山高路远坑深,
大军纵横驰奔,
谁敢横刀立马?
惟有点赞加关注大军。