分享68个HTML动植食物模板,总有一款适合您

简介: 分享68个HTML动植食物模板,总有一款适合您

分享68个HTML动植食物模板,总有一款适合您


 

68个HTML动植食物模板下载链接:https://pan.baidu.com/s/1sQTwEz7PpKP6jjiHkcyzTQ?pwd=ajwq

提取码:ajwq

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

欧美食物网站模板

欧美食物网站模板 欧美模板 青绿模板 html模板 食物模板

 

猫与狗网站模板

猫与狗网站模板 猫与狗模板 黄色模板 html模板 动物模板

 

宠物食物网站模板

宠物食物网站模板 宠物模板 蓝紫模板 html模板 食物模板

 

自然植物网站模板

自然植物网站模板 自然模板 青绿模板 html模板 植物模板

 

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 = 116 # 正在采集第20页的第20个资源,共22页资源
    sprider_start_count = 569
    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"

鲜花公司网站模板

枫叶植物网站模板

植物企业模板

唯美鲜花模板下载

欧美酒吧模板

美食网站模板

草莓商店网站模板

点心公司企业模板

奶酪加工厂网站模板

奶酪食品模板

饮料模板下载

狗狗模板下载

DesignEmpire 咖啡模板

大自然公司网站模板

洋酒模板下载

食物模板下载

TemplateMonster 酒模板

TemplateMonster 狗模板

TemplateMonster 猫模板

Designload 面包模板

Designload 饼干模板

Designload 蛋糕模板

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
       娱乐休闲 https://sc.chinaz.com/moban/YuLeXiuXian.html
       艺术时尚 https://sc.chinaz.com/moban/YiShuShiShang.html
       建筑风光 https://sc.chinaz.com/moban/JianZhuFengGuang.html
       动植食物 https://sc.chinaz.com/moban/DongZhiShiWu.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 = "DongZhiShiWu"
        elif title_name == "建筑风光":
            self.first_column_name = "moban"
            self.folder_name = "HTML建筑风光模板"
            self.second_column_name = "JianZhuFengGuang"
        elif title_name == "艺术时尚":
            self.first_column_name = "moban"
            self.folder_name = "HTML艺术时尚模板"
            self.second_column_name = "YiShuShiShang"
        elif title_name == "娱乐休闲":
            self.first_column_name = "moban"
            self.folder_name = "HTML娱乐休闲模板"
            self.second_column_name = "YuLeXiuXian"
        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)

欧美食物公司模板

酒吧公司网站模板

美味面包模板

Helendesign 小猫模板

Helendesign 小狗模板

Helendesign 酒水模板

Helendesign 食物模板

Helendesign 蛋糕模板

InstantCoffee 食品模板

InstantCoffee 动物模板

InstantCoffee 花模板

InstantCoffee 植物模板

InstantCoffee 酒模板

Helendesign 咖啡模板

Helendesign 风景模板

Helendesign 生日蛋糕模板

Helendesign 水果模板

Helendesign 花

Helendesign 树木模板

Designload 花

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)

Aplustemplates 动物模板

Aplustemplates 酒水模板

ThemeGallery 花草模板

Templatesdd 食物模板

Templatesdd 水果模板

欧美植物网站模板

欧美动物网站模板

糖果之岛网站模板

植物网站模板

欧美昆虫网站模板

花草树林网站模板

植物蔬菜网站模板

割草机公司模板

酒吧企业模板

菜单网站模板

蛋糕公司模板

家禽网站模板

企鹅模板下载

餐馆食物模板

动物园网站模板

花草公司模板

鱼模板下载

最后送大家一首诗:

山高路远坑深,

大军纵横驰奔,

谁敢横刀立马?

惟有点赞加关注大军。

 

目录
相关文章
|
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
|
8天前
|
XML 前端开发 JavaScript
Html:CSS介绍
Html:CSS介绍
23 1
|
8天前
|
前端开发
Html:CSS的书写位置
Html:CSS的书写位置
18 0
|
3天前
|
前端开发 JavaScript 搜索推荐
打造个人博客网站:从零开始的HTML和CSS之旅
【9月更文挑战第32天】在这个数字化的时代,拥有一个个人博客不仅是展示自我的平台,也是技术交流的桥梁。本文将引导初学者理解并实现一个简单的个人博客网站的搭建,涵盖HTML的基础结构、CSS样式的美化技巧以及如何将两者结合来制作一个完整的网页。通过这篇文章,你将学会如何从零开始构建自己的网络空间,并在互联网世界留下你的足迹。
下一篇
无影云桌面