分享66个PSD,总有一款适合您
66个PSD下载链接:https://pan.baidu.com/s/1PUoou8fJsbhbjs-hXZ4Osw?pwd=6q4v
提取码:6q4v
Python采集代码下载链接:采集代码.zip - 蓝奏云
春节放假通知宣传单模板
春节放假通知宣传单模板适用于放假公告海报设计
球类运动抽象个性海报模板
球类运动抽象个性海报模板适用于运动创意海报设计
粉色名片样机模板PSD
粉色名片样机模板PSD适用于名片样机设计
福兔迎春新年海报设计
福兔迎春新年海报设计适用于兔年海报设计
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 = 88 # 116+66+20 sprider_start_count = 0 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"
卡通独角兽生日派对横幅
春节放假通知宣传横幅
寒假放假通知海报设计
粉色玫瑰花装饰请柬模板
生日卡通插画横幅模板
2023新年贺卡源文件
情人节插画海报宣传单
日系文艺卡片模板设计
浪漫文艺婚礼卡片模板
现代时尚家居宣传单PS
2023卡通新年日历PSD模板
极简风个性名片模板
你好2023新年海报模板
2023乘风破浪年会海报
健康概念封面模板
韩国美容海报模板设计
2023新年日历源文件
宠物收养海报模板
销售折扣海报模板
2023兔年大吉广告海报
乘风破浪企业年会海报
植物装饰商务名片模板
2023跨年夜海报模板
韩国彩妆横幅广告
美妆唇釉时尚宣传海报
水彩艺术风邀请函模板
摩登家居广告横幅模板
幻彩音乐节海报模板设计
美丽生活护肤品促销横幅
2023新年贺卡样机模板
跨年晚会PSD海报幕布
情人节潮流插画宣传海报
情人节时尚派对插画海报
文艺手绘邀请函模板PS
2023手绘举杯庆祝横幅
2023中国新年海报模板
时尚家居广告横幅模板
情人节个性海报源文件
情人节卡通横幅模板PSD
def sprider_detail(self, driver, element_list, page_count, max_page, down_path): """ 采集明细页面 :param driver: :param element_list: :param page_count: :param max_page: :param down_path: :return: """ index = 0 element_array = [] element_length = len(element_list) print("当前页" + str(page_count) + "每页共" + str(element_length)) for element in element_list: div_element = element.find_element(By.TAG_NAME, 'div') a_elenent = div_element.find_element(By.TAG_NAME, 'a') next_url = a_elenent.get_attribute("href") coder_title = a_elenent.get_attribute("alt") e = coder_title + "$" + next_url element_array.append(e) pass if int(self.page_count) == int(self.merchant): self.sprider_start_index = int(self.sprider_start_count) % int(self.max_pager) index = self.sprider_start_index while index < element_length: if os.path.exists(down_path) is False: os.makedirs(down_path) if self.haved_sprider_count == self.sprider_count: BaseFrame().debug("采集到达数量采集停止...") break # element = element_list[index] element = element_array[index] time.sleep(1) index = index + 1 sprider_info = "正在采集第" + str(page_count) + "页的第" + str(index) + "个资源,共" + str(max_page) + "页资源" BaseFrame().debug(sprider_info) next_url = element.split("$")[1] coder_title = element.split("$")[0] try: codeEntity = SpriderEntity() # 下载过的资源不再下载 codeEntity.sprider_base_url = self.base_url codeEntity.create_datetime = SpriderTools.get_current_datetime() codeEntity.sprider_url = next_url codeEntity.sprider_pic_title = coder_title codeEntity.sprider_pic_index = str(index) codeEntity.sprider_pager_index = page_count codeEntity.sprider_type = self.sprider_type if SpriderAccess().query_sprider_entity_by_urlandindex(coder_title) is None: SpriderAccess().save_sprider(codeEntity) else: BaseFrame().debug(coder_title + next_url + "数据采集过因此跳过") continue driver.get(next_url) # 请求明细页面1 BaseFrame().debug("采集明细内容网址:" + next_url) sleep(0.5) # 延迟会 if SeleniumTools.judeg_element_isexist(driver, "CLASS_NAME", "dian") == 3: driver.back() BaseFrame().debug(coder_title + "下载按钮不存在,因此跳过哦....") continue print("准备点击下载按钮...") div_element_list = driver.find_elements(By.CLASS_NAME, "dian") # 下载源码.click() a_element = div_element_list[1].find_element(By.TAG_NAME, "a") a_element.click() sleep(0.5) result, message = SpriderTools.judge_file_exist(True, 240, 1, down_path, "zip|rar|gz|tgz") # 判断源码 if result is True: title_content = "" title_image = "" if self.sprider_detail_index <= self.word_image_count: # 下载图片 a_element_image = driver.find_element(By.CLASS_NAME, "image_gall") image_href = a_element_image.get_attribute("href") DownLoad(self.save_path).down_cover_image__(image_href, coder_title) # 资源的 封面 title_image = self.save_path + os.sep + "image" + os.sep + coder_title + ".jpg" # 采集描述 # 采集描述 try: if SeleniumTools.judeg_element_isexist(driver, "CLASS_NAME", "smr") == 3: pass else: div_element_list = driver.find_elements(By.CLASS_NAME, "smr") if len(div_element_list) == 1: div_element = div_element_list[0] else: div_element = div_element_list[1] title_content = div_element.text BaseFrame().right("采集模板简介成功") except Exception as e: BaseFrame().error("采集模板简介失败" + str(e)) pass sprider_content = [coder_title, title_image, title_content] # 采集成功的记录 self.word_content_list.append(sprider_content) # 增加到最终的数组 self.haved_sprider_count = self.haved_sprider_count + 1 BaseFrame().right( "已经采集完成第" + str(self.haved_sprider_count) + "个,共需要采集" + str(self.sprider_count) + "个") time.sleep(1) driver.back() coder_title = str(coder_title).replace("::", "").replace("/", "").strip() # 去掉windows不识别的字符 files = os.listdir(down_path) file_name = files[0] # 获取默认值 srcFile = down_path + os.sep + file_name file_ext = os.path.splitext(srcFile)[-1] dstFile = down_path + os.sep + coder_title + file_ext os.rename(srcFile, dstFile) srcFile = dstFile dstFile = self.save_path + os.sep + coder_title + file_ext shutil.move(srcFile, dstFile) # 移动文件 self.sprider_detail_index = self.sprider_detail_index + 1 else: print("result=" + str(result) + "" + message) files = os.listdir(down_path) # 读取目录下所有文件 coder_title = str(coder_title).replace("/", "") # 去掉windows不识别的字符 try: if str(message) == "0个文件认定是False": BaseFrame().error(coder_title + "文件不存在...") shutil.rmtree(down_path) # 如果没下载完是无法删除的 pass else: BaseFrame().error("检测下载文件出错可能原因是等待时间不够已经超时,再等待60秒...") time.sleep(60) shutil.rmtree(down_path) # 如果没下载完是无法删除的 # 清空数组 self.filter_down_file.clear() except Exception as e: print(e) # 使用数组append记录文件名字 移动的时候过滤 shutil.rmtree(down_path) # 如果没下载完是无法删除的 pass except Exception as e: BaseFrame().error("sprider_detail()执行过程出现错误:" + str(e)) BaseFrame().error("sprider_detail()记录下载的文件名") # 使用数组append记录文件名字 移动的时候过滤 files = os.listdir(down_path) # 读取目录下所有文件 shutil.rmtree(down_path) # 如果没下载完是无法删除的 if int(page_count) == int(max_page): self.builder_word(self.folder_name, self.word_content_list) BaseFrame().debug("文件编写完毕,请到对应的磁盘查看word文件和下载文件!")
2023元旦快乐全屏海报
腊八节PSD全屏海报
腊八新年PSD手机海报
2023福兔迎春新年日历PS
韩式餐厅菜单模板设计PSD
音乐节酷炫邀请海报模板
2023新年手绘插画PSD素材
2023瑞兔呈祥新年海报
2023新年横幅PSD
音乐秀艺术封面模板设计
韩国餐厅海报模板源文件
企业年会盛典背景展板PS
喜迎元旦放假通知海报
瑞兔呈祥2023新年日历PSD
CD包装样机模板设计
艺术风花卉邀请函模板
春节放假通知手机全屏海报
金兔贺岁2023新年日历
韩国餐厅手绘广告横幅
游戏活动促销横幅模板
美妆用具广告横幅模板
2023兔年新春日历PSD模板
情人节派对卡通海报模板
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)
最后送大家一首诗:
山高路远坑深,
大军纵横驰奔,
谁敢横刀立马?
惟有点赞加关注大军。