分享96个HTML体育竞技模板,总有一款适合您

简介: 分享96个HTML体育竞技模板,总有一款适合您

分享96个HTML体育竞技模板,总有一款适合您


 

96个HTML体育竞技模板下载链接:https://pan.baidu.com/s/1k2vJUlbd2Boduuqqa0EWMA?pwd=j8ji

提取码:j8ji

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

北京奥运火炬PSD模板

奥运火炬PSD模板

TM 运动模板FLASH

足球网站模板

高尔夫网站模板

帆船网站模板

TM 保龄球模板FLASH

TM 足球模板FLASH

TM 高尔夫模板FLASH

溜冰网站模板

网球网站模板

运动网站模板

划雪公司模板

欧美高尔夫模板

欧美足球模板下载

跳伞网站模板

欧美排球模板

韩国冲浪模板

 

世界杯韩国模板四

世界杯韩国模板五

世界杯韩国模板三

世界杯韩国模板二

世界杯韩国模板一

Helendesign 游泳模板

冲浪商务模板下载

棒球公司模板

篮球公司网站模板

高尔夫企业网站模板

漂流网站模板

高尔夫俱乐部模板

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.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
title_name = "体育竞技"
class ChinaZJsSelenium:
    base_url =  "https://sc.chinaz.com/" # 采集的网址
    save_path = "D:\\Freedom\\Sprider\\ChinaZ\\"
    sprider_count =113 # 正在采集第20页的第20个资源,共22页资源
    sprider_start_count=223
    word_content_list = []
    folder_name = ""
    page_end_number=0
    max_pager=24#每页的数量
    haved_sprider_count =0  # 已经采集的数量
    page_count = 1  # 每个栏目开始业务content="text/html; charset=gb2312"
    filter_down_file=[]
    word_image_count=5 #word插入图片数量 同时也是明细采集图片和描述的数量
    sprider_detail_index = 0# 明细方法采集的数量 累加
    sprider_top_level="HTML"

欧美棒球网站模板

运动企业模板下载

球队网站模板

Designload 足球模板

跑步企业网站模板

冲浪网站模板

足球俱乐部模板

足球网站模板下载

Helendesign 网球模板

Helendesign 高尔夫模板

Helendesign 橄榄球模板

Helendesign 滑板模板

Helendesign 跑步模板

Helendesign 冰球模板

Helendesign 棒球模板

Helendesign 滑雪模板

Helendesign 自行车模板

Helendesign 体育模板

InstantCoffee 运动模板

Boxedart 橄榄球模板

Aplustemplates 足球模板

Aplustemplates 冲浪模板

Aplustemplates  高尔夫模板

Helendesign 划船模板

Templatesdd 摔跤模板

def sprider(self,title_name):
        """
       采集
       医疗保健 https://sc.chinaz.com/moban/YiLiaoBaoJian.html
       电子产品 https://sc.chinaz.com/moban/DianZiChanPin.html
       电子商务 https://sc.chinaz.com/moban/DianZiShangWu.html
       婚纱模板 https://sc.chinaz.com/moban/HunShaMoBan.html
       电脑主机 https://sc.chinaz.com/moban/DianNaoZhuJi.html
       旅游交通 https://sc.chinaz.com/moban/LvYouJiaoTong.html
       体育竞技 https://sc.chinaz.com/moban/TiYuJingJi.html
       :return:
       """
        if title_name == "医疗保健":
            self.first_column_name = "moban"
            self.folder_name = "HTML医疗保健模板"
            self.second_column_name = "YiLiaoBaoJian"
        elif title_name == "体育竞技":
            self.first_column_name = "moban"
            self.folder_name = "HTML体育竞技模板"
            self.second_column_name = "TiYuJingJi"
        elif title_name == "旅游交通":
            self.first_column_name = "moban"
            self.folder_name = "HTML旅游交通模板"
            self.second_column_name = "LvYouJiaoTong"
        elif title_name == "电脑主机":
            self.first_column_name = "moban"
            self.folder_name = "HTML电脑主机模板"
            self.second_column_name = "DianNaoZhuJi"
        elif title_name == "电子产品":
            self.first_column_name = "moban"
            self.folder_name = "HTML电子产品模板"
            self.second_column_name = "DianZiChanPin"
        elif title_name == "电子商务":
            self.first_column_name = "moban"
            self.folder_name = "HTML电子商务模板"
            self.second_column_name = "DianZiShangWu"
        BaseFrame().right("本次采集参数:日志路径:" + str( BaseFrame().LOG_PATH) + "")
        BaseFrame().right("本次采集参数:sprider_count=" + str(self.sprider_count) + "")
        BaseFrame().right("本次采集参数:title_name="+title_name+"")
        BaseFrame().right("本次采集参数:second_column_name=" + self.second_column_name + "")
        # self.folder_name = "JS表单验证"
        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 + self.sprider_top_level + os.sep + self.folder_name  + os.sep + second_folder_name
        self.save_path = self.save_path+ os.sep + self.sprider_top_level  + os.sep+self.folder_name +os.sep + second_folder_name+ os.sep + self.folder_name
        BaseFrame().debug("开始采集ChinaZJL"+self.folder_name+"...")
        sprider_url = (self.base_url + "/{1}/{0}.html".format(self.second_column_name,self.first_column_name))
        down_path="D:\\Freedom\\Sprider\\ChinaZ\\"+self.sprider_top_level +"\\"+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
        #
        BaseFrame().debug("开始采集"+sprider_url)
        driver.get(sprider_url)
        # content = driver.page_source
        element_list = driver.find_elements(By.CLASS_NAME, "masonry-brick")  # 列表页面 核心内容 box col3 ws_block masonry-brick
        #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//jianli/xiaochengchu_2.html
                    next_url = self.base_url + "/{2}/{0}_{1}.html".format(self.second_column_name, self.page_count,self.first_column_name)
                    driver.get(next_url)
                    element_list = driver.find_elements(By.CLASS_NAME, "masonry-brick")  # 列表页面 核心内容
                    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)

棒球网站模板

体育网站模板

欧美棒球模板

橄榄球网站模板

橄榄球公司模板

滑雪网站模板下载

爬山企业模板

赛马竞技模板

体育企业网站模板

跑步商务网站模板

冰球网站模板

登山公司网站模板

爬山俱乐部模板

自行车网站模板

欧美登山网站模板

运动网站模板下载

冲浪公司网站模板

网球网站模板下载

足球企业网站模板

运动企业网站模板

足球赛场网站模板

篮球网站模板

import os
import shutil
def void_folder(path):
    # 访问path路径下的文件或文件夹
    lst = os.listdir(path)
    # 打印每一层的文件或文件夹
    for name in lst:
        # 拼接名称,得到绝对路径,判断该文件是否符合是文件夹
        real_path = os.path.join(path, name)
        # 如果是文件夹,则打空格表示,并且递归访问下一层
        if os.path.isdir(real_path):
            # print(name)
            files = os.listdir(real_path)
            if len(files) == 0:
                print("void_folder():"+name)
                shutil.rmtree(real_path)
                endindex = len(real_path) - len(name)
                real_path = real_path[0:endindex]
                void_folder(real_path)
            else:
                void_folder(real_path)
        # 如果不是文件夹,直接打印,不再递归访问下一层
        else:
            #print(name)
            pass
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 "zip" == 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)

竞技赛马网站模板

欧美足球公司模板

足球企业模板

欧美运动网站模板

武术俱乐部模板

棒球竞技网站模板

足球竞技网站模板

高尔夫球场网站模板

保龄球网站模板

柔道网站模板

瑜伽网站模板

休闲钓鱼网站模板

健身网站模板下载

滑雪网站模板

高尔夫网站模板下载

欧美自行车网站模板

欧美水球模板

高尔夫模板下载

欧美网球模板

最后送大家一首诗:

山高路远坑深,

大军纵横驰奔,

谁敢横刀立马?

惟有点赞加关注大军。

 

目录
相关文章
|
22天前
|
缓存 Java 应用服务中间件
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
这篇文章详细介绍了在SpringMVC中创建JSP页面的全过程,包括项目的创建、配置、Tomcat的设置,以及如何实现页面跳转和配置模板解析器,最后还对比了JSP和HTML模板解析的差异。
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
|
4月前
|
移动开发 前端开发 HTML5
HTML5实现酷炫个人产品推广、工具推广、信息推广、个人主页、个人介绍、酷炫官网、门户网站模板源码
HTML5实现酷炫个人产品推广、工具推广、信息推广、个人主页、个人介绍、酷炫官网、门户网站模板源码
|
3月前
404错误页面源码,简单实用的html错误页面模板
小编精心准备一款404错误页面源码,简单实用的html错误页面模板,简单大气的页面布局,可以使用到不同的网站中,相信大家一定会喜欢的
41 2
404错误页面源码,简单实用的html错误页面模板
|
4月前
|
资源调度 前端开发 JavaScript
1500+免费html模板,建站神器
【5月更文挑战第6天】
|
4月前
|
前端开发 JavaScript Python
华视 CVR-100UC 身份证读取 html二次开发模板
华视 CVR-100UC 身份证读取 html二次开发模板
|
4月前
|
移动开发 JavaScript 前端开发
【专栏:HTML进阶篇】HTML模板与Web组件:可复用的网页元素
【4月更文挑战第30天】HTML模板和Web组件提升网页开发效率和可维护性。HTML模板,如&lt;template&gt;元素和服务器端模板引擎,用于创建可复用的HTML结构。Web组件是自定义的HTML元素,结合影子DOM和模板,实现封装的可重用组件。两者助力构建高效、现代的网页和网站。
177 0
|
4月前
|
安全 Go 开发者
Golang深入浅出之-Go语言模板(text/template):动态生成HTML
【4月更文挑战第25天】Go语言的`text/template`和`html/template`库提供动态HTML生成。本文介绍了模板基础,如基本语法和数据绑定,以及常见问题和易错点,如忘记转义、未初始化变量、复杂逻辑处理和错误处理。建议使用`html/template`防止XSS攻击,初始化数据结构,分离业务逻辑,并严谨处理错误。示例展示了条件判断和循环结构。通过遵循最佳实践,开发者能更安全、高效地生成HTML。
94 0
|
Web App开发 移动开发 HTML5
20款高质量的 HTML5 网站模板【免费下载】
  下面的列表集合了20款高质量的免费 HTML5 网站模板,这些专业的模板能够让你的网站吸引很多的访客。这些免费的 HTML5 模板虽然不是响应式的,不过都很实用。赶紧来看看。 您可能感兴趣的相关文章 Web 前端开发人员和设计师必读文章集锦 经典网页设计:25个应用视差滚动单页网站 ...
1161 0
|
移动开发 JavaScript 前端开发
17款漂亮的 HTML5 网站模板免费下载
  在过去的几年,设计师们已开始关注和使用 HTML5 了,如今 HTML5 得到了更加广泛的应用。今天,本文与大家分享17款免费的 HTML5 网站模板,看看有没自己喜欢的。 1- Smart Net 免费下载 2- Photo Art 免费下载 3- The Art Of Busine...
838 0
|
10天前
|
移动开发 前端开发 JavaScript
HTML与CSS二三事
HTML与CSS二三事
下一篇
DDNS