分享113个HTML旅游交通模板,总有一款适合您

简介: 分享113个HTML旅游交通模板,总有一款适合您

分享113个HTML旅游交通模板,总有一款适合您


 

113个HTML旅游交通模板下载链接:https://pan.baidu.com/s/1jLwR9ZrXrh-w2m9sw3iLXQ?pwd=3bga

提取码:3bga

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

紫色风格旅行网站模板

紫色风格旅行网站模板是一款适合户外旅游企业的HTML网站模板。

 

城市港口HTML平面模板

城市港口HTML平面模板是一款大气时尚的HTML港口网站模板下载。

 

旅游酒店预定网站模板

旅游酒店预定网站模板是一款简洁的国外旅游酒店预定网站模板HTML整站下载。

 

html5单页模版Twenty

html5单页模版Twenty是一款清爽风格的城市交通工具html5单页网站模版。

 

import os
import shutil
import time
from time import sleep
from docx import Document
from docx.opc.oxml import qn
from docx.shared import Inches, RGBColor
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"

HTML5旅游景点模版

HTML5摄影主题模板spirit

Taxi出租车公司网站模板

大气蓝色航空公司html5模板

风景旅游公司CSS3橙色模板

旅游休闲企业网站模板

景观设计HTML网站模板

蓝色地方旅游html网站模板

蓝色海洋CSS3主题模板

徒步旅行HTML网站模板

HTML5全屏旅游整站模板

风景旅游网站css模板

旅游度假别墅网页模板

风景旅游html5网站模板

暗红色个人旅游网站模板

海洋淡蓝色css模板

旅游胜地CSS网页模板

欧美汽车HTML5模板

环球旅游CSS网页模板

旅游公司CSS网页模板

热气球节网站CSS模板

旅游场景CSS网页模板

旅游航行CSS网页模板

旅游服务CSS网页模板

蓝色旅游公司网页模板

城市旅游网页模板下载

唯美度假村html网页模板

PSD旅游风景模板下载

情侣沙滩度假模板下载

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
       :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 = "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)

古迹景点旅游模板下载

旅游度假PSD模板

韩国自然风光PSD模板

韩国酒店模板

汽车服务网站模板

汽车公司网站模板

欧美汽车网站模板

欧美旅游模板

欧美汽车模板FLASH

汽车网站模板FLASH

国外汽车网站模板FLASH

韩国汽车模板

汽车网站模板下载

欧美汽车模板

国外汽车网站模板

欧美旅游网站模板

旅游公司模板

野外汽车网站模板

汽车企业模板

汽车服务模板下载

汽车配件网站模板

汽车零件网站模板

跑车公司网站模板

汽车品牌网站模板

交通工具网站模板

旅游公司网站模板

汽车销售网站模板

汽车企业网站模板

建筑事务所网站模板

TemplateMonster 摩托车模板

汽车模板HTML

汽车公司模板下载

TemplateMonster 旅游模板

汽车公司模板

Designload 汽车模板

FXstyle 车模板

FXstyle 旅游模板

FXstyle 航空模板

旅游网站模板

航空公司网站模板

高速列车公司模板

欧美汽车公司模板

海边俱乐部网站模板

欧美货车模板

轿车企业模板

汽车企业模板下载

航空公司模板

欧美汽车企业模板

便捷车公司模板

欧美卡车网站模板

欧美企业汽车模板

TemplateMonster 风光模板

汽车零件公司模板

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)

Helendesign 汽车模板

Helendesign 摩托车模板

Helendesign 赛车模板

InstantCoffee 汽车模板

templatespace 海上模板

templatespace 旅游模板

Boxedart 船舰模板

Boxedart 交通模板

Helendesign 旅游模板

Helendesign 交通模板

Designload 旅游模板

Aplustemplates 修车模板

Aplustemplates 交通模板

Aplustemplates 汽车模板

Aplustemplates 摩托车模板

Aplustemplates 游艇模板

最后送大家一首诗:

山高路远坑深,

大军纵横驰奔,

谁敢横刀立马?

惟有点赞加关注大军。

 

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