分享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 游艇模板

最后送大家一首诗:

山高路远坑深,

大军纵横驰奔,

谁敢横刀立马?

惟有点赞加关注大军。

 

目录
相关文章
|
16天前
|
前端开发 安全 Java
响应式企业网站源码JavaL/PHP带后台管理​:Bootstrap HTML5模板
本指南深度解析基于Java/PHP双引擎与Bootstrap HTML5的响应式企业官网开发全流程,涵盖架构设计、后台管理、数据库规范、安全加固及云原生部署,助力企业实现品牌展示、业务转化与运营闭环,推动数字化转型。
|
4月前
|
前端开发
个人征信PDF无痕修改软件,个人征信模板可编辑,个人征信报告p图神器【js+html+css仅供学习用途】
这是一款信用知识学习系统,旨在帮助用户了解征信基本概念、信用评分计算原理及信用行为影响。系统通过模拟数据生成信用报告,涵盖还款记录
|
9月前
html5+svg太空人404动画模板源码
html5+svg太空人404动画模板源码
102 17
|
11月前
|
定位技术
时尚的联系我们表单HTML模板(源码)
一款时尚的联系我们表单Html模板,带地图和所在位置,输入基本信息和信息发送,看起来很漂亮的联系我们页面。
302 1
时尚的联系我们表单HTML模板(源码)
|
缓存 Java 应用服务中间件
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
这篇文章详细介绍了在SpringMVC中创建JSP页面的全过程,包括项目的创建、配置、Tomcat的设置,以及如何实现页面跳转和配置模板解析器,最后还对比了JSP和HTML模板解析的差异。
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
404错误页面源码,简单实用的html错误页面模板
小编精心准备一款404错误页面源码,简单实用的html错误页面模板,简单大气的页面布局,可以使用到不同的网站中,相信大家一定会喜欢的
204 2
404错误页面源码,简单实用的html错误页面模板
|
前端开发 JavaScript Python
华视 CVR-100UC 身份证读取 html二次开发模板
华视 CVR-100UC 身份证读取 html二次开发模板
|
4月前
|
移动开发 前端开发 JavaScript
征信报告修改器,征信报告生成器,制作软件无痕修改软件【js+html+css】
本项目为信用评分模拟器教学工具,采用HTML5实现,仅供学习参考。核心功能通过JavaScript构建,包含虚拟数据生成、权重分配及信用因素分析(如还款记录、信用使用率等)。
|
4月前
|
存储 自然语言处理 前端开发
抖音快手小红书虚拟评论截图生成器,模拟对话制作工具,html+js+css
这是一款纯前端实现的多平台虚拟评论生成器,支持抖音、快手、小红书风格,适用于产品演示与UI设计。采用Vanilla JS与Flexbox布局,利用IndexedDB存储数据,CSS Variables切换主题。
|
4月前
|
前端开发 JavaScript
个人征信电子版无痕修改, 个人信用报告pdf修改,js+html+css即可实现【仅供学习用途】
本代码展示了一个信用知识学习系统的前端实现,包含评分计算、因素分析和建议生成功能。所有数据均为模拟生成

热门文章

最新文章