分享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)
竞技赛马网站模板
欧美足球公司模板
足球企业模板
欧美运动网站模板
武术俱乐部模板
棒球竞技网站模板
足球竞技网站模板
高尔夫球场网站模板
保龄球网站模板
柔道网站模板
瑜伽网站模板
休闲钓鱼网站模板
健身网站模板下载
滑雪网站模板
高尔夫网站模板下载
欧美自行车网站模板
欧美水球模板
高尔夫模板下载
欧美网球模板
最后送大家一首诗:
山高路远坑深,
大军纵横驰奔,
谁敢横刀立马?
惟有点赞加关注大军。