分享116个JS特效动画效果,总有一款适合您

简介: 分享116个JS特效动画效果,总有一款适合您

分享116个JS特效动画效果,总有一款适合您


 

116个JS特效动画效果下载链接:https://pan.baidu.com/s/1E3s1PAcOw-8dCCnq9NUeUw?pwd=tjl2

提取码:tjl2

Python采集代码下载链接:https://wwgn.lanzoul.com/iKGwb0kye3wj

可自定义js弹出层动画特效

css3鼠标悬停按钮线条动画效果代码

jquery鼠标悬停横向时间轴代码

Canvas跳动彩球时间动画特效

jquery宽屏焦点图片动画轮播代码

jQuery+css3制作飘动的云动画特效

html5文字粒子动画效果代码

CSS3鼠标悬停图片文字动画效果代码

CSS3折页扇子翻转动画效果代码

纯CSS3实现按钮动画效果代码

纯CSS3实现眨眼动画特效

jQuery鼠标悬停文字渐隐渐现动画效果

CSS3雷达波向外散发动画效果

html5 svg人物跑步动画效果代码

jQuery动画悬浮图标菜单代码

css3网页加载动画图标下载

纯CSS3实现7种扁平天气图标

html5 svg弹性摇晃页面切换特效

jquery淡出淡进文字动画效果

14款不同效果的圆点切换特效

jQuery+CSS3自动轮播焦点图

可拖动jQuery发牌效果

jquery带动画效果幻灯片插件

纯CSS3实现超酷的磁带动画

jQuery网页动态场景插件jqfloat

vivo官网左右全屏动画焦点图

逼真的HTML5火焰燃烧特效

jQuery多样式按钮平滑滚动焦点图

jQuery制作Loading动画特效

banner鼠标移动图片跟随滚动

2款页面预加载进度动画效果

jquery animate网站banner动画效果

LayerSlider带动画效果幻灯片

import os
import shutil
import time
from time import sleep
from docx import Document
from docx.shared import Inches
from framework.base.BaseFrame import BaseFrame
from sprider.business.SeleniumTools import SeleniumTools
from sprider.business.SpriderTools import SpriderTools
from selenium import webdriver
from selenium.webdriver.common.by import By
from sprider.model.SpriderEntity import SpriderEntity
from sprider.access.SpriderAccess import SpriderAccess
class ChinaZJsSelenium:
    base_url =  "https://sc.chinaz.com/" # 采集的网址
    save_path = "D:\\Freedom\\Sprider\\ChinaZ\\"
    sprider_count = 116 # 采集数量
    sprider_start_count=567
    word_content_list = []
    folder_name = ""
    page_end_number=0
    max_pager=20 #每页的数量
    haved_sprider_count =0  # 已经采集的数量
    page_count = 1  # 每个栏目开始业务content="text/html; charset=gb2312"
    filter_down_file=[]
    def __init__(self):
        pass
    def sprider(self,title_name="返回顶部"):
        """
       采集
       图片切换 https://sc.chinaz.com/tag_jiaoben/tupianqiehuan.html
       返回顶部 https://sc.chinaz.com/tag_jiaoben/fanhuidingbu.html
       动画效果 https://sc.chinaz.com/tag_jiaoben/donghuaxiaoguo.html
       :return:
       """
        if title_name == "图片切换":
            self.folder_name = "图片切换JS特效"
            self.second_column_name = "tupianqiehuan"
        elif title_name == "返回顶部":
            self.folder_name = "JS返回顶部特效"
            self.second_column_name = "fanhuidingbu"
        elif title_name == "动画效果":
            self.folder_name = "JS特效动画效果"
            self.second_column_name = "donghuaxiaoguo"
        first_column_name = "tag_jiaoben" # 一级目录
        BaseFrame().right("本次采集参数:title_name="+title_name+"")
        BaseFrame().right("本次采集参数:second_column_name=" + self.second_column_name + "")
        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
        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)

jquery点击斜切图片展开动画效果

jquery+css3鼠标悬停摇摆动画效果

jquery搜狗浏览器5.0页面特效

jQuery鼠标悬停图片放大效果

纯CSS3小男孩面部表情动画

jquery数字跳动插件Animate Number

jQuery范范应用页面动态背景

纯CSS3创意Loading加载动画

车轮网带动画效果jQuery焦点图

图片集鼠标悬停CSS3过渡效果

HTML5 3D视觉翻滚动画

带动画效果CSS3手风琴菜单

CSS3实现Safari指针动画

jquery文字动画插件LetterFX

HTML5+CSS3卡片抽出动画

HTML5实现鲸鱼游动特效

js鼠标点击水波动画效果插件

html5+css3文字翻转动画效果

jQuery模拟键盘打字插件typetype

HTML5立体圆环旋转动画

HTML5雷达扫描动画代码

jQuery+CSS3动画弧形弹出菜单

纯CSS3实现3D太空飞船动画

jquery+css3华丽滚动效果

HTML5文字爆炸重组动画特效

HTML5 3D空中蝴蝶飞舞动画

jquery实现天空白云飘动代码

jQuery计数器动画特效插件

纯CSS3浮动的小猪动画

css3鼠标触碰图标渐变效果

jQuery+CSS3动画弹出框代码

CSS3手势变换动画特效

纯CSS3实现圆盘时钟动画

CSS3 SVG文字背景动画

CSS3实现自定义Checkbox动画

纯CSS3实现流畅的自行车特效

CSS3发光Loading加载动画

HTML5 SVG实现过山车动画

jQuery滚动动画插件FadeThis

纯CSS3实现淡入淡出下拉菜单

CSS3实现水位充满文字特效

jQuery+CSS3跳动数字时间动画

CSS3清新Tab菜单

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,"zipt|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().right("已经采集完成第" + 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文件和下载文件!")

纯CSS3实现自行车动画

3D图片切片滑块旋转动画

HTML5 SVG可爱笑脸动画

jQuery商品飞入购物车动画效果

CSS3咖啡制作全过程动画

纯CSS3实现齿轮加载动画

HTML5球体斑点运动动画

纯CSS3实现3D波浪形动画

CSS3实现工厂流水线动画

10款CSS3进度条Loading动画

CSS3超酷环形动画菜单

CSS3实现会眨眼的蚱蜢动画

HTML5立体小球运动动画效果

HTML5+CSS3实现生日蛋糕

CSS3实现蝙蝠侠变身动画

CSS3小球环形旋转Loading动画

CSS3滑杆开关切换按钮

parallax视差立体场景动画效果

Canvas圆形万花筒动画效果

jQuery+CSS3多张图片选择动画

CSS3小球跳动Loading动画特效

css3淡出淡进开场动画效果

CSS3二级下拉动画滑动菜单

jquery快速排序算法动画特效

HTML5柱状图表

CSS3实现多彩进度条动画

HTML5 Canvas头发飘逸动画

HTML5+CSS3滑块动画菜单

3d鼠标拖动图片360°旋转动画效果

google Plus标题内容动画特效

CSS3区域全屏放大动画特效

带弹性动画关闭QQ在线客服代码

jQuery动画队列特效代码

CSS3鼠标悬停360度旋转效果

jQuery页面顶部折角图片撕开效果

html5夜景放烟花绽放动画效果

Loading网页加载进度条动画效果

jquery占位符动画插件Placeholdem

带微信和QQ客服的汽车动画特效

jQuery+Html5实现唯美表白动画代码

import os
def void_file(dirPath):
    dirs = os.listdir(dirPath)  # 查找该层文件夹下所有的文件及文件夹,返回列表
    for file in dirs:
        file_full_name = dirPath + '/' + file
        file_ext = os.path.splitext(file_full_name)[-1]
        if file_ext is None  or file_ext=="":
            continue
        if "rar" == str(file_ext.split(".")[1]):
            os.remove(file_full_name)
        if "zipt" == str(file_ext.split(".")[1]):
            os.remove(file_full_name)
        if "gz" == str(file_ext.split(".")[1]):
            os.remove(file_full_name)
        if "tgz" == str(file_ext.split(".")[1]):
            os.remove(file_full_name)
# 查找指定文件夹下所有相同名称的文件
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)

 

最后送大家一首诗:

山高路远坑深,

大军纵横驰奔,

谁敢横刀立马?

惟有点赞加关注大军。

 

目录
相关文章
|
2月前
|
移动开发 JavaScript 前端开发
分享48个JS分页代码特效,总有一款适合您
分享48个JS分页代码特效,总有一款适合您
37 0
|
2月前
|
移动开发 JavaScript 前端开发
分享46个JS抽奖转盘,总有一款适合您
分享46个JS抽奖转盘,总有一款适合您
50 1
|
2月前
|
移动开发 JavaScript 前端开发
分享46个JS时间轴特效,总有一款适合您
分享46个JS时间轴特效,总有一款适合您
89 2
|
2月前
|
JavaScript 前端开发 搜索推荐
分享57个JS返回顶部特效,总有一款适合您
分享57个JS返回顶部特效,总有一款适合您
32 1
|
2月前
|
移动开发 JavaScript 前端开发
分享82个JS手风琴效果,总有一款适合您
分享82个JS手风琴效果,总有一款适合您
24 1
|
2月前
|
移动开发 JavaScript 前端开发
分享76个时间日期JS特效,总有一款适合您
分享76个时间日期JS特效,总有一款适合您
32 0
|
2月前
|
JavaScript Python 内存技术
分享63个广告代码JS特效,总有一款适合您
分享63个广告代码JS特效,总有一款适合您
43 2
|
2月前
|
JavaScript 前端开发 UED
分享89个时间日期JS特效,总有一款适合您
分享89个时间日期JS特效,总有一款适合您
30 3
|
1月前
|
JavaScript
JS+CSS3点击粒子烟花动画js特效
JS+CSS3点击粒子烟花动画js特效
15 0
JS+CSS3点击粒子烟花动画js特效
|
1月前
|
前端开发 JavaScript UED
前端开发的魔法:CSS动画与JavaScript的完美结合
本文将探讨如何利用CSS动画和JavaScript的结合,为前端页面增添生动的效果。我们将通过实例展示如何使用这两种技术为网页元素创建吸引人的动画效果,并讨论它们的优缺点和适用场景。
29 0