分享68个ASP江湖论坛源码,总有一款适合您
68个ASP江湖论坛源码下载链接:https://pan.baidu.com/s/1q3qMIqPH1QOxKPp52wPjmQ?pwd=qkf5
提取码:qkf5
Python采集代码下载链接:采集代码.zip - 蓝奏云
sprider_name = "ASP江湖论坛源码" class CNSourceCoder: base_url = "http://www.downcode.com" base_path = "D:\\Freedom\\Sprider\\CNSource" sprider_count = 68 sprider_start_count = 390 first_folder_name = "ASP" max_pager = 10 # 每页的数量 影响再次采集的起始位置. word_image_count = 5 # word插入图片数量 同时也是明细采集图片和描述的数量 page_end_number = 0 word_content_list = [] haved_sprider_count = 0 # 已经采集的数量 sprider_detail_index = 0 # 明细方法采集的数量 累加 def sprider(self,sprider_name): """ ASP留言日记源码 http://www.downcode.com/sort/j_1_2_1.shtml :param sprider_name: :return: """ if sprider_name == "ASP聊天室源码": self.first_column_name = "sort" self.second_column_name = "j_1_1" elif sprider_name=="ASP留言日记源码": self.first_column_name = "sort" self.second_column_name = "j_1_2" elif sprider_name == "ASP江湖论坛源码": self.first_column_name = "sort" self.second_column_name = "j_1_3" elif sprider_name == "ASP新闻文章源码": self.first_column_name = "sort" self.second_column_name = "j_1_4" BaseFrame().debug("开始采集" + self.first_folder_name + "...") BaseFrame().right("本次采集参数:日志路径=" + str(BaseFrame().LOG_PATH) + "") BaseFrame().right("本次采集参数:sprider_count=" + str(self.sprider_count) + "") BaseFrame().right("本次采集参数:sprider_name=" + sprider_name + "") sprider_url = self.base_url + "/{0}/{1}_1.shtml".format(self.first_column_name, self.second_column_name)# 根据栏目构建URL BaseFrame().debug("本次采集参数:sprider_url=:" + sprider_url) self.second_folder_name = str(self.sprider_count) + "个" + sprider_name # 二级目录也是wordTitle self.merchant = int(self.sprider_start_count) // int(self.max_pager) + 1 # 起始页码用于效率采集 self.file_path = self.base_path + os.sep + self.first_folder_name + os.sep + self.second_folder_name BaseFrame().right("本次采集参数:file_path=" + self.file_path + "") # 浏览器的下载路径 self.down_path = self.base_path + os.sep + self.first_folder_name+ os.sep + self.second_folder_name+ "\\Temp\\" BaseFrame().right("本次采集参数:down_path=" + self.down_path + "") # First/PPT/88个动态PPT模板/动态PPT模板 self.save_path = self.base_path + os.sep + self.first_folder_name + os.sep + self.second_folder_name + os.sep + sprider_name BaseFrame().right("本次采集参数:save_path=" + self.save_path + "") if os.path.exists(self.down_path) is True: shutil.rmtree(self.down_path) if os.path.exists(self.down_path) is False: os.makedirs(self.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(self.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 driver.get(sprider_url) element_list = driver.find_elements(By.CLASS_NAME, "j_text_sort_a") # element_list = element_ul.find_elements(By.TAG_NAME, "h2") # page_end_number = 1 page_end_url = "" a_elments = driver.find_elements(By.TAG_NAME, "a") for a in a_elments: page_end_title = a.get_attribute("title") if page_end_title == "最后页": page_end_url = a.get_attribute("href") print(page_end_url) break if page_end_url is None or page_end_url == "": page_end_number = 1 else: page_end_number = (page_end_url.split(".shtml")[0].split("_")[3]) 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, page_end_number) pass else: if self.haved_sprider_count == self.sprider_count: BaseFrame().debug("采集到达数量采集停止...") BaseFrame().debug("开始写文章...") SpriderTools.builder_word(self.second_folder_name, self.word_content_list, self.file_path, self.word_image_count, self.first_folder_name ) SpriderTools.copy_file(self.word_content_list, self.save_path, self.second_folder_name, self.file_path) SpriderTools.gen_passandtxt(self.second_folder_name, self.word_content_list, self.file_path) BaseFrame().debug("文件编写完毕,请到对应的磁盘查看word文件和下载文件!") break next_url = self.base_url + "/{0}/{1}_{2}.shtml".format(self.first_column_name, self.second_column_name, self.page_count) driver.get(next_url) element_list = driver.find_elements(By.CLASS_NAME, "j_text_sort_a") self.sprider_detail(driver, element_list, page_end_number) pass self.page_count = self.page_count + 1 # 页码增加1 except Exception as e: print("sprider()执行过程出现错误:" + str(e))
学生社团网络管理平台
友盟论坛JoinBoard BBS V2.0.2
Bussoft CSK V1.10
水漫三D社区 V2.1
『五彩之城』社区论坛美化插件版2004
尚园美地音乐Bbs,Dvbbs完美插件版
酷仔工作室美化论坛 V1.0 (Dvbbs 7.0 Sp2修改版)
今晚在线论坛GVBBS V5.0 Build 0929
恋恋南昌友情版2004
过路虫社区Wayworm V1.0
雪人论坛程序V2.0 For Access (免费版)
PaintBlue BBS V2.0 Final2 简体中文版
PaintBlue BBS V2.0 Final2 繁体中文版
LeadBBS黑色蜕变版
梦缘设计论坛
温柔儿黑/白双色留言本
无需注册即可发帖的单版面论坛
最新在线杀毒无广告版For All Dvbbs
BBSxp 5.00.SP2 繁体中文化版
伪装者论坛 V1.13
休闲江湖2.0版
★第五季度★ Bulid 8.0.0
網聯動網7.02SP2美化版
幸福城市论坛Http://Www.Licn.Net
娱乐先锋论坛KQJBBS V4.9
恩雨虚拟城市V3.0 无错版
天空论坛V2.0
魔铃设计SP2
娱乐江湖 V2.2
传奇江湖
简易网上论坛 V1.0
乐都虚拟城市
世纪江湖7.1
Edron 网络整站+动网7。0SP2系统2004美化版
LEADBBS本色时代美化修改版
武缘江湖花下望月江湖1.0
Roman--Louyl工作室设计论坛1.22版发布
Leadbbs3.14和Discuz!整合版
家族部落
灵剑江湖0301完整版
青春诺曼底(中国枫业)社区
博爱论坛 V3.21
凌风幽月(家园版)
网站114论坛
Newbbs1.0论坛
中国软件网论坛程序 V1.8.0 License Date
潇湘设计论坛
心灵网园社区
武大创协超小论坛 V1.0
浙江网站联盟
大唐社区 V3.0完美版
网中情社区V2.0美化版
LeadBBS V3.14 来生缘社区美化版
虹网江湖2003
兖矿虚拟城市
IDC网友社区 V1.2 Plus
DV_7.0sp2美丽心情DIY完善美化版
LeadBBS V3.14美化插件版(带演示)
精灵坊BBS V2.0
云龙论坛 V4.1
6KbbsSU V3.0 美化版
梦想农庄(动网论坛7.0SP2美化) V1.0
你我他网络论坛-动网SP2
天外天江湖8.0完美版
6K 论坛 V3.0 Sp1简体中文版(SU版)
阳光网络城市Ver2.51
中国蓝星网大型社区
阿男世纪江湖 V7.0 Access版
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)
最后送大家一首诗:
山高路远坑深,
大军纵横驰奔,
谁敢横刀立马?
惟有点赞加关注大军。