分享107个HTML电子商务模板,总有一款适合您

文章介绍了使用Python和Selenium库进行HTML电子商务模板的自动化采集过程,包括不同类型的模板如商务、电子、婚纱等,并提供了下载链接。程序会根据指定的类别进行网页内容抓取,同时包含了对采集结果的管理和处理,如删除空文件夹和特定格式的文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分享107个HTML电子商务模板,总有一款适合您

 

107个HTML电子商务模板下载链接:https://pan.baidu.com/s/1VW67Wjso1BRpH7O3IlbZwg?pwd=0d4s 
提取码:0d4s

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

Aplustemplates 购物模板

ASA 商务模板

AVS电子商务模板

Boxedart 商务模板

Boxedart 游戏玩具模板

Boxedart 电子模板

Boxedart 银行模板

DG 商品模板

Esens 产品模板

Freshtemplates 电子模板

Helendesign 会员模板

Helendesign 商务模板

Helendesign 电子模板

Helendesign 银行模板

Helendesign 鞋子模板

InstantCoffee 信息模板

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 =118 # 正在采集第14页的第23个资源,共27页资源 debug
    sprider_start_count=117

    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"

InstantCoffee 商务模板

InstantCoffee 电子模板

InstantCoffee 电缆模板

InstantCoffee 银行模板

Liquid2d 琴

Liquid2d 眼镜

Liquid2d 购物模板

Templatefiles 化妆品模板

Templatefiles 家具模板

Templatefiles 房屋出售模板

Templatefiles 手机模板

Templatefiles 珠宝模板

Templatefiles 药品模板

Templatefiles 购物模板

Templatefiles 酒水模板

Templatefiles 鞋类模板

TemplateMonster 帽子模板

TemplateMonster 货币模板

Templatesupply 家电模板

Templatesupply 电子产品模板

Templatesupply 电脑模板

ThemeGallery 公司模板

ThemeGallery 房屋出售

ThemeGallery 房屋出售模板


    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
       :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 = "HunShaMoBan"
        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("本次采集参数: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)

ThemeGallery 珠宝模板

TM 商务模板FLASH

TM 花店模板FLASH

中小型企业商务模板

书籍封面模板

产品商务模板

产品展示模板

企业交流模板

企业商务模板

企业商务网站模板

企业沙发模板

企业礼物模板

企业科技商务模板

先进电脑商务模板

公司企业商务模板

公司商务模板

公司礼物模板

创意公司商务模板

动物出售模板下载

商业公司模板

商务主题模板

商务公司产品模板

商务手机模板

商务科技模板

商务科技模板下载

商务金融模板

圣诞礼物模板

大型企业商务模板

大气企业商务模板

家居商务模板

建筑房产模板

房屋销售模板下载

手机商务模板

数码相机模板

服装商店模板

服装销售模板下载

杂志网站模板

欧美企业商务模板

欧美商务模板

欧美家居商店模板

欧美电子商务模板

汽车销售模板

珠宝首饰模板

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、付费专栏及课程。

余额充值