分享112个图片切换,总有一款适合您

简介: 分享112个图片切换,总有一款适合您

分享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))

 

最后送大家一首诗:

山高路远坑深,

大军纵横驰奔,

谁敢横刀立马?

惟有点赞加关注大军。

 

 

目录
相关文章
|
4月前
|
移动开发 JavaScript 前端开发
分享84个jQuery特效,总有一款适合您
分享84个jQuery特效,总有一款适合您
119 47
|
4月前
|
XML 移动开发 JavaScript
分享96个jQuery特效,总有一款适合您
分享96个jQuery特效,总有一款适合您
64 9
|
4月前
|
JavaScript 前端开发 安全
分享94个jQuery特效,总有一款适合您
分享94个jQuery特效,总有一款适合您
46 3
|
4月前
|
移动开发 JavaScript 前端开发
分享93个jQuery特效,总有一款适合您
分享93个jQuery特效,总有一款适合您
31 3
|
4月前
|
JavaScript 前端开发 iOS开发
分享82个jQuery特效,总有一款适合您
分享82个jQuery特效,总有一款适合您
49 2
|
4月前
|
JavaScript 前端开发 数据安全/隐私保护
分享87个jQuery特效,总有一款适合您
分享87个jQuery特效,总有一款适合您
34 1
|
4月前
|
移动开发 JavaScript 前端开发
分享88个jQuery特效,总有一款适合您
分享88个jQuery特效,总有一款适合您
69 1
|
4月前
|
JSON JavaScript 搜索推荐
分享80个jQuery特效,总有一款适合您
分享80个jQuery特效,总有一款适合您
43 1
|
4月前
|
移动开发 JavaScript 前端开发
分享86个jQuery特效,总有一款适合您
分享86个jQuery特效,总有一款适合您
50 0
|
4月前
|
移动开发 JavaScript 前端开发
分享83个jQuery特效,总有一款适合您
分享83个jQuery特效,总有一款适合您
36 0