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


 

最后送大家一首诗:

山高路远坑深,
大军纵横驰奔,
谁敢横刀立马?
惟有点赞加关注大军。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值