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

竞技赛马网站模板

欧美足球公司模板

足球企业模板

欧美运动网站模板

武术俱乐部模板

棒球竞技网站模板

足球竞技网站模板

高尔夫球场网站模板

保龄球网站模板

柔道网站模板

瑜伽网站模板

休闲钓鱼网站模板

健身网站模板下载

滑雪网站模板

高尔夫网站模板下载

欧美自行车网站模板

欧美水球模板

高尔夫模板下载

欧美网球模板

最后送大家一首诗:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亚丁号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值