分享88个HTML&CSS源码,总有一款适合您

简介: 分享88个HTML&CSS源码,总有一款适合您

HTML&CSS源码

分享88个HTML&CSS源码,总有一款适合您


下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下...,大家下载后可以看到。

源码下载链接:https://pan.baidu.com/s/1OjbJtHumi7k_UhWFdmusXA?pwd=7az6

提取码:7az6

采集代码下载链接:采集代码.zip - 蓝奏云

迅雷云点播系统免费版 v1.0

Html5捕鱼游戏源码 v1.0

HTML5的网页视频播放器 v3.2.0

小蜘蛛网址导航 v1.0

猩球保卫战(html5游戏) v1.0

纯HTML淡蓝色简约风格淘宝客程序 v1.0

超漂亮swf音乐播放器 v20110921

Flash+xml多首音乐播放器 v20110906

轻音乐 v1.0

在线弹吉他flash版 v1.0

AS3FLASH整站源码汉化版 v2.0

密码强度评估源码 v1.0

在线购房工具查询系统 v1.0

在线听音

import os
import shutil
import time
from time import sleep
import requests
from bs4 import BeautifulSoup
from docx import Document
from docx.shared import Inches
from framework.base.BaseFrame import BaseFrame
from sprider.business.DownLoad import DownLoad
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 HuaJunCode:
    base_url =  "https://down.chinaz.com" # 采集的网址
    save_path = "D:\\Freedom\\Sprider\\ChinaZ\\"
    sprider_count = 88  # 采集数量
    sprider_start_count=147# 正在采集第51页的第7个资源,共60页资源 debug
    word_content_list = []
    folder_name = ""
    page_end_number=0
    max_pager=15 #每页的数量
    haved_sprider_count =0  # 已经采集的数量
    page_count = 1  # 每个栏目开始业务content="text/html; charset=gb2312"
    filter_down_file=[]
    def __init__(self):
        pass
    def sprider(self,title_name="NET"):
        """
       采集
       PHP https://down.chinaz.com/class/572_5_1.htm
       NET https://down.chinaz.com/class/572_4_1.htm
       ASP https://down.chinaz.com/class/572_3_1.htm
       Pytyhon https://down.chinaz.com/class/604_572_1.htm
            https://down.chinaz.com/class/608_572_1.htm
       :return:
       """
        if title_name == "PHP":
            self.folder_name = "PHP源码"
            self.second_column_name = "572_5"
        elif title_name == "Go":
            self.folder_name = "Go源码"
            self.second_column_name = "606_572"
        elif title_name == "NET":
            self.folder_name = "NET源码"
            self.second_column_name = "572_4"
        elif title_name == "ASP":
            self.folder_name = "ASP源码"
            self.second_column_name = "572_3"
        elif title_name == "Python":
            self.folder_name = "Python源码"
            self.second_column_name = "604_572"
        elif title_name == "JavaScript":
            self.folder_name = "JavaScript源码"
            self.second_column_name = "602_572"
        elif title_name == "Java":
            self.folder_name = "Java源码"
            self.second_column_name = "572_517"
        elif title_name == "HTML":
            self.folder_name = "HTML-CSS源码"
            self.second_column_name = "608_572"
        #
        first_column_name = title_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 + "Code" + os.sep + first_column_name + os.sep + second_folder_name
        self.save_path = self.save_path+ os.sep + "Code" + os.sep+first_column_name+os.sep + second_folder_name+ os.sep + self.folder_name
        BaseFrame().debug("开始采集ChinaZCode"+self.folder_name+"...")
        sprider_url = (self.base_url + "/class/{0}_1.htm".format(self.second_column_name))
        down_path="D:\\Freedom\\Sprider\\ChinaZ\\Code\\"+first_column_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
        # print(content)
        div_elem = driver.find_element(By.CLASS_NAME, "main")  # 列表页面 核心内容
        element_list = div_elem.find_elements(By.CLASS_NAME, 'item')
        laster_pager_ul = driver.find_element(By.CLASS_NAME, "el-pager")
        laster_pager_li =laster_pager_ul.find_elements(By.CLASS_NAME, 'number')
        laster_pager_url = laster_pager_li[len(laster_pager_li) - 1]
        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.save_path, 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/
                    next_url = self.base_url + "/class/{0}_{1}.htm".format(self.second_column_name, self.page_count)
                    driver.get(next_url)
                    div_elem = driver.find_element(By.CLASS_NAME, "main")  # 列表页面 核心内容
                    element_list = div_elem.find_elements(By.CLASS_NAME, 'item')
                    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)
    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)
        for element in element_list:
            url_A_obj = element.find_element(By.CLASS_NAME,  'name-text')
            next_url = url_A_obj.get_attribute("href")
            coder_title = url_A_obj.get_attribute("title")
            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")
            driver.get(next_url) # 请求明细页面
            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
                if SeleniumTools.judeg_element_isexist(driver, "CLASS_NAME", "download-item") == 3:
                    driver.back()
                    BaseFrame().debug(coder_title+"不存在源码是soft因此跳过哦....")
                    continue
                print("准备点击下载按钮...")
                driver.find_element(By.CLASS_NAME, "download-item").click() #下载源码
                result,message=SpriderTools.judge_file_exist(True,240,1,down_path,"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("/", "") #去掉windows不识别的字符
                    files = os.listdir(down_path)
                    file_name = files[0] #获取默认值
                    if len(self.filter_down_file)>0:
                        for file in files:
                            for filter_file in self.filter_down_file:
                                if str(file) in str(filter_file):
                                    pass
                                else:
                                    file_name = file
                    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:
                    try:
                        BaseFrame().error("检测下载文件出错可能原因是等待时间不够已经超时,再等待60秒...")
                        time.sleep(60)
                        shutil.rmtree(down_path) #如果没下载完是无法删除的
                        #清空数组
                        self.filter_down_file.clear()
                    except Exception as e:
                        # 使用数组append记录文件名字 移动的时候过滤
                        coder_title = str(coder_title).replace("/", "")  # 去掉windows不识别的字符
                        self.filter_down_file.append(coder_title)
                    pass
            except Exception as e:
                #shutil.rmtree(down_path)
                BaseFrame().error("sprider_detail()执行过程出现错误:" + str(e))
                #driver.get(sprider_url)
                #driver.quit()
        if(int(page_count)==int(max_page)):
            self.builder_word(self.folder_name,self.save_path,self.word_content_list)
            BaseFrame().debug("文件编写完毕,请到对应的磁盘查看word文件和下载文件!")

微信小游戏 v1

宽屏简洁企业网站 v1.0

帝王组2015年元旦祝福源码 v2015.1.1

在线音乐 v1.0

网页冬季背景+飘雪效果插件(兼容IE6) v1.0

海豆微信图文编辑器源码 v1.0 修正版

天猫知名商家导航 v1

好易123网址导航(带手机版) v1.1

右侧自动生成二维码和返回顶部代码 v1.0

天猫双十一活动专题源码 v1.3

安全购专用网址导航 v1.2

个性导航高仿360 2014完美版 v1.2

精仿一个框 v1.0

WEB版JQuery程设计器 v2.0

我是你的小苹果(微信版) v1.0

HTML5水果忍者源代码 v1.0

HTML5开源格斗游戏 v1.0

游戏 围住神经猫 (微信版) v1.0

空中战机小游戏微信源码 v1.0

2014中秋祝福网页 v1.2

2014中秋在线祝福网站源码 v2014

jquery_无限级联菜单 v1.0

激光防线小游戏(微信版) v1.0

单页网站源码 v1.0

html5单页企业模板 v1.0

智力游戏-小青蛙过河源码 v1.0

一个都不能死源码 v1.0

完美导航 移动端静态版 v1.0

杭州化妆培训学校 v3.0

模板切图div+css单页建站公司源码 v1.0

2014年端午节祝福网页源码 v2.0

HTML5音乐播放器源码 v1.0

万能公司右侧客服代码 v1.0

网购导航源码 v1.0

全国交通违章查询接口 v1.0

web2.0商务企业黑色源码 v1.0

仿Kadaza可视化网址导航源码 v1.0

仿本本啦笔记本网址导航源码 v2.0

js特效清新网址导航源码 v1.0

寒姨2014告白源码 v2014

免费企业建站系统 v6

html5展示型企业网站源码 v1.0

Flappy Bird电脑版 v1.0

web2.0企业灰色全站模板源码 v2.0

名字作画 v1.8

关于我们模版 v0.1

有品导航 v1.0

极酷跨平台多终端网页播放器 v2.0

悬浮qq客服代码(带返回顶部) v1.0

在线二维码网页生成器 v1.0

RGB转16进制工具 v1.0

淘宝左侧装修客服代码 v1.0

HTML/CSS/Javascript在线代码运行工具 v1.0

HTML5&amp;css3样式图标查询手册 v1.0

高端大气上档次的指南针页面 v1.0

HTML转换JAVASCRIPT在线工具 v1.0

2013年最新版淘宝装修模版(309套) v1.1

夜猫影视公益404错误页面 v1.0

在线CSS按钮生成工具 v1.0

酷播迷你网页视频播放器(CuPlayerMini) v3.0

2012年光棍节祝福语网页 v1.0

汉字转拼音 v1.0 JS版

论坛转贴 v1.0 JS版

繁体字转换 v1.0 JS版

国际时间、时区查询 v1.0 JS版

科学计算器 v1.0 JS版

2012年中秋节祝福网页 v1.0

视频中心插件 v1.0

HTML5仿safari照片展示效果 v1.0

HTML5跑动的小人 v1.0

HTML5音乐播放器 v1.0

CKEditor 在线html编辑器 v3.6.4

端午节经典祝福网页 v1.2

皕应图形验证码系统 HDK v1.0.0


 

最后送大家一首诗:

山高路远坑深,

大军纵横驰奔,

谁敢横刀立马?

惟有点赞加关注大军。

 

目录
相关文章
|
2天前
|
前端开发 JavaScript 开发工具
【HTML/CSS】入门导学篇
【HTML/CSS】入门导学篇
15 0
|
21天前
|
前端开发
当当网头部和尾部——CSS源码
当当网头部和尾部——CSS源码
12 0
|
5天前
|
XML 前端开发 JavaScript
css和html
【4月更文挑战第7天】css和html
9 0
|
5天前
|
移动开发 HTML5
唯美首页纯静态html源码
唯美首页纯静态html5引导页源码,格子化win8风格官方引导页面源码
9 0
唯美首页纯静态html源码
|
5天前
漂亮的个人主页HTML源码
漂亮的个人主页HTML源码
12 0
漂亮的个人主页HTML源码
|
6天前
一款简约单双页版HTML源码
开源的单页个人主页纯静态源码、目前有两个主页版本:master单页版、double双页版、非常漂亮的单页HTML源码
9 1
一款简约单双页版HTML源码
|
21天前
|
前端开发
当当网上书店购物车——CSS源码
当当网上书店购物车——CSS源码
8 0
|
21天前
|
前端开发
购物车的功能——CSS源码
购物车的功能——CSS源码
14 1
|
22天前
css3鼠标悬停图片特效源码
css3鼠标悬停图片特效,图片悬停效果源码,可以在网页上面作为自己的动态加载名片,放到侧边栏或者网站合适的位置即可
13 0
css3鼠标悬停图片特效源码
|
22天前
|
前端开发 容器 内存技术
使用CSS3画出一个叮当猫HTML源码
本文教程介绍了如何使用CSS3绘制叮当猫,通过HTML结构和CSS样式逐步构建叮当猫的各个部位,如头部、脸部、脖子、身体、手脚等。代码示例展示了如何利用渐变、边框、阴影和定位技巧实现三维效果和细节特征。此外,还添加了眼珠的动画效果,让叮当猫的眼睛能够转动。整个过程适合对CSS3感兴趣的读者参考学习,以提升动态图形创作技能。
16 0
使用CSS3画出一个叮当猫HTML源码