分享149个PHP源码,总有一款适合您

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 分享149个PHP源码,总有一款适合您

PHP源码

分享149个PHP源码,总有一款适合您


下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下...,

149个PHP源码下载链接:https://pan.baidu.com/s/1RKnEbbhpfUndnMrxG8rSIQ?pwd=0nqp

提取码:0nqp

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

xeobook v0.937 多国语言版

ABB Portal v1.00 正式版

CTB v1.63 简体中文正式版

Ofstar Board v1.3 正式版

MyChinaren校友录单班级新炫版

木翼下载系统 v1.5

Green Chat v1.0 正式版

蓝色海岸FTB论坛IP查询插件(更新)

EditWorks Professional v5.1.0

ArticleShow v1.2.1 正式版

丫丫留言板(YaYa MessageBoard ) v1.3

vbb v2.3.0 转Discuz! v2.0程序

NEHK GUESTBOOK 第二版

Another Bulletin Board(ABB) v1.0.0 beta

FlashBBS 超闪论坛 v2.0 多国语言版

Diesel Pay v1.55

Diesel Pay Plus v1.0

IPB(Invision Power Board) v1.3 简体中文语言包

IPB(Invision Power Board) v1.3 正式版

雨秋故事站内新闻系统

cWhois v1.52

cWhois Domain Cart v1.83

冰蓝播放列表管理系统

inso留言本 v1.2

Bookmark4U v2.0.0 汉化版

Inso Express邮件特快专递

I-Poll(简单的投票程序)

韩国IK-diary v2.5 汉化版(inso汉化)

base_url =  "https://down.chinaz.com" # 采集的网址
    save_path = "D:\\Freedom\\Sprider\\ChinaZ\\"
    sprider_count = 149 # 采集数量
    sprider_start_count=6866 #
    word_content_list = []
    folder_name = ""
    page_end_number=0
    max_pager=15 #每页的数量
    haved_sprider_count =0  # 已经采集的数量
    page_count = 1  # 每个栏目开始业务content="text/html; charset=gb2312"
    filter_down_file=[]

 

ExoBUD MP(II) v4.1tc+ 网站媒体播放程式

差鸟文章管理系统 v0.90 beta 3

PHP初学者联盟留言本 v0.2 测试版

帝国论坛(EBB) v1.3

蓝芳PHP探针 v1.0.1

007网址大全

BOOM超级团队成员系统 v1.5

vBulletin v2.3.2 繁体汉化标准版(CNVBB)

中文PHP论坛

凌云新闻LyNews v1.0

星辰音乐 & DJ 系统 v1.01 最终版

蓝色海岸在线统计

flash+php+mysql留言本

sogua小偷 v1.0 修改版

articleshow v1.0 完全版

Rgboard v3.0.12 汉化版

驿林高速论坛 ELB v1.40 build 03101620

鸿天全站系统RCPHPfs v2.0 免费版

驿林mysql数据转换器ELin Data Convertor v1.0

Buymall网上商城系统 v2.30

W8C 文件管理器 v1.9a

自助建站-商城(一站通) v1.0

ArticleShow v1.0 正式版

小林在线涂鸦板

XPlus网站内容管理系统 v3.3 免费版

自助建站系统首页在线编辑器源码 v1.0

IPB(Invision Power Board) v1.2 正式版

IPB(Invision Power Board) v1.2 简繁中文语言包

def sprider(self,title_name="NET"):
        """
       采集
       PHP https://down.chinaz.com/class/572_5_1.htm
       NET https://down.chinaz.com/class/572_4_1.htm
       ASP https://down.chinaz.com/class/572_3_1.htm
       Python https://down.chinaz.com/class/604_572_1.htm
            https://down.chinaz.com/class/608_572_1.htm
        微信 https://down.chinaz.com/class/610_572_1.htm
       Ruby   https://down.chinaz.com/class/622_572_1.htm
       NodeJs https://down.chinaz.com/class/626_572_1.htm
       C https://down.chinaz.com/class/594_572_1.htm
       :return:
       """
        if title_name == "PHP":
            self.folder_name = "PHP源码"
            self.second_column_name = "572_5"
        elif title_name == "Go":
            self.folder_name = "Go源码"
            self.second_column_name = "606_572"
        elif title_name == "NET":
            self.folder_name = "NET源码"
            self.second_column_name = "572_4"
        elif title_name == "ASP":
            self.folder_name = "ASP源码"
            self.second_column_name = "572_3"
        elif title_name == "Python":
            self.folder_name = "Python源码"
            self.second_column_name = "604_572"
        elif title_name == "JavaScript":
            self.folder_name = "JavaScript源码"
            self.second_column_name = "602_572"
        elif title_name == "Java":
            self.folder_name = "Java源码"
            self.second_column_name = "572_517"
        elif title_name == "HTML":
            self.folder_name = "HTML-CSS源码"
            self.second_column_name = "608_572"
        elif title_name == "TypeScript":
            self.folder_name = "TypeScript源码"
            self.second_column_name = "772_572"
        elif title_name == "微信小程序":
            self.folder_name = "微信小程序源码"
            self.second_column_name = "610_572"
        elif title_name == "Ruby":
            self.folder_name = "Ruby源码"
            self.second_column_name = "622_572"
        elif title_name == "NodeJs":
            self.folder_name = "NodeJs源码"
            self.second_column_name = "626_572"
        elif title_name == "C++":
            self.folder_name = "C++源码"
            self.second_column_name = "596_572"
        elif title_name == "C":
            self.folder_name = "C源码"
            self.second_column_name = "594_572"
        #https://down.chinaz.com/class/594_572_1.htm
        first_column_name = title_name # 一级目录
        self.sprider_category = title_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 + "Code" + os.sep + first_column_name + os.sep + second_folder_name
        self.save_path = self.save_path+ os.sep + "Code" + os.sep+first_column_name+os.sep + second_folder_name+ os.sep + self.folder_name
        BaseFrame().debug("开始采集ChinaZCode"+self.folder_name+"...")
        sprider_url = (self.base_url + "/class/{0}_1.htm".format(self.second_column_name))
        down_path="D:\\Freedom\\Sprider\\ChinaZ\\Code\\"+first_column_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
        # driver.get方法将定位在给定的URL的网页,get接受url可以是任何网址,此处以百度为例
        driver.get(sprider_url)
        # content = driver.page_source
        # print(content)
        div_elem = driver.find_element(By.CLASS_NAME, "main")  # 列表页面 核心内容
        element_list = div_elem.find_elements(By.CLASS_NAME, 'item')
        laster_pager_ul = driver.find_element(By.CLASS_NAME, "el-pager")
        laster_pager_li =laster_pager_ul.find_elements(By.CLASS_NAME, 'number')
        laster_pager_url = laster_pager_li[len(laster_pager_li) - 1]
        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/
                    next_url = self.base_url + "/class/{0}_{1}.htm".format(self.second_column_name, self.page_count)
                    driver.get(next_url)
                    div_elem = driver.find_element(By.CLASS_NAME, "main")  # 列表页面 核心内容
                    element_list = div_elem.find_elements(By.CLASS_NAME, 'item')
                    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)

Tbook v1.3

PHPBB2 Plus v1.3 简体中文版

旅行风事画馆多用户相册美化版

zeroboard v4.1 pl 4 汉化版

S8Forum v2.3.1 阿江汉化版

QMWDB 论坛 v4.1

你好音乐网(php+mysql)含数据库

IPB中文HyPER版[X]030813(IPB v1.2 正式版修改)

ReleaseEasy2 安全升级包(R2HE) v1.0

9om dict v2.0(英汉双解字典)

自由的Linux(LinuxOpe.com)整站程序

Kim's GB 迷你留言本 v0.60 Beta

小巧的树状论坛

季风留言板 v1.2

MYFM站点文件管理器 v1.0

多用户网络收藏夹

季风留言板 v1.0

C1G留言本 v3.0 Build 0907

FLASH 聊天条

BOOM计数器 v1.0(图片/文字双模式显示)

Kevin GuestBookSystem v1.0

F-GuestBook 留言簿 v1.0

华酷论坛MX v1.2 Build 0808(IBF论坛中文版)

FLASHSHOW v1.4 正式版

希普留言板

思诺影视系统 v6.0 免费版

C1G留言本 v2.0 Build 0823

Discuz! v2.0 0820修正简体版

Discuz! v2.0 0820修正繁体版&nbsp;

exBook v1.0

IPB中文HyPER版[N]030813(IPB v1.2 正式版修改)

FTB v2.0(无虚拟形象)

FTB v2.0(虚拟形象)

寻梦二手市场 v1.0

稻草图书管理系统

FlashBBS 超闪论坛 v1.1a

Bytemonsoon v2.0 tracker RC1 中文版

流星留言本 最终版

LueHo! Guestbook v2.1

WIS 文章管理系统 v0.10 dev

FTB安装版 v1.3(无虚拟形象)

FTB安装版 v1.3(虚拟形象)

鹤云亭江湖 v1.0

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)
        for element in element_list:
            url_A_obj = element.find_element(By.CLASS_NAME,  'name-text')
            next_url = url_A_obj.get_attribute("href")
            coder_title = url_A_obj.get_attribute("title")
            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]
            # next_url = element.find_element(By.TAG_NAME, 'a').get_attribute("href")
            # coder_title =element.find_element(By.TAG_NAME, 'img').get_attribute("title")
            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(next_url, str(index)) is None:
                    SpriderAccess().save_sprider(codeEntity)
                else:
                    BaseFrame().debug(coder_title+next_url + "数据采集过因此跳过")
                    continue
                driver.get(next_url)  # 请求明细页面1
                if SeleniumTools.judeg_element_isexist(driver, "CLASS_NAME", "download-item") == 3:
                    driver.back()
                    BaseFrame().debug(coder_title+"不存在源码是soft因此跳过哦....")
                    continue
                print("准备点击下载按钮...")
                driver.find_element(By.CLASS_NAME, "download-item").click() #下载源码
                sleep(1)
                result,message=SpriderTools.judge_file_exist(True,240,1,down_path,self.filter_down_file,"zip|rar|gz|tgz")#判断源码
                if result is True:
                    sprider_content = [coder_title, self.save_path + os.sep +"image"+ os.sep + coder_title + ".jpg"]  # 采集成功的记录
                    self.word_content_list.append(sprider_content)  # 增加到最终的数组
                    self.haved_sprider_count = self.haved_sprider_count + 1
                    BaseFrame().debug("已经采集完成第" + str(self.haved_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)  # 移动文件
                else:
                    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:
                        # 使用数组append记录文件名字 移动的时候过滤
                        self.builder_filter_file(files)
                    pass
            except Exception as e:
                BaseFrame().error("sprider_detail()执行过程出现错误:" + str(e))
                BaseFrame().error("sprider_detail()记录下载的文件名")
                # 使用数组append记录文件名字 移动的时候过滤
                files = os.listdir(down_path)  # 读取目录下所有文件
                self.builder_filter_file(files)
        if(int(page_count)==int(max_page)):
            self.builder_word(self.folder_name,self.word_content_list)
            BaseFrame().debug("文件编写完毕,请到对应的磁盘查看word文件和下载文件!")
    def builder_filter_file(self,files):
        """
        :param files:
        :return:
        """
        for file in files:
            if len(self.filter_down_file)==0:
                self.filter_down_file.append(str(file))
            for filter_file in self.filter_down_file:
                if str(file) in str(filter_file):
                    BaseFrame().error(filter_file + "文件存在...")
                    pass
                else:
                    self.filter_down_file.append(str(file))

LueHo! Studio GuestBook v2.0(flash+php+mysql留言薄)

Gbook v1.0.0805

舒特儿同学录 v0.2(0811更新)

n@board v3.1.8 简体中文版

思诺购物系统 v1.0

思诺新闻信息管理系统 v1.0

天空软件站(skycn)小偷

希普办公网络( SiPuWorknet-SPW) v2.0

希普办公网络W-N v1.1

Shop4u v1.0

星空闪酷留言板(flash版) v1.0

EV Portal v1.0

韩国IK-diary v2.5 汉化版

IP属地显示 v1.0

鸿天在线人数显示 ONLine v1.0

TrueGalerie 汉化版(0722更新)

pMachine v2.3 汉化版

Zarticle v2.4 Beta1 0708补丁

冰冰音乐下载系统(蓝湖1900修改版)

Zarticle v2.4 Beta1

小林在线留言簿(php+mysql)

AzDGDatingLite v2.1.1 中文语言包

猫儿夏日清爽留言簿多用户版 v1.0

ymGuestBook(夜猫留言簿) v1.0


 

WDB=冷雨飘香修改版

ReleaseEasy2 个人简体中文正式版(R2HE)

9om News Search(新闻搜索引擎) v1.0

MyRecover v0.05(超大数据库文件恢复系统)

Ultimate Bulletin Board Threads v6.3.0.0

9om PHP Dict(英汉双解字典) v1.0 特别版

9om PHP Dict(英汉双解字典) v1.0 zend版

7y2 X-Pad v1.0 留言板

飘在北京虚拟形象 v2.20

仙境Serv-U Genius v1.0.0 beta

PHP Excel Parser Pro v3.0

ic域名系统 v1.00(正式版)

IPB(Invision Power Board) v1.1.2 汉化版(酷闪)

伊风下载系统(iwind) v1.3.5 修正版

小林在线留言簿(php+txt)

9om PHP 周公解梦 v1.0

9om SiteSearch v1.0 html全文站内搜索引擎

iwas v1.0.0

vBulletin v2.30 汉化加强版(北飘联盟)

5mp3网站推荐系统

9om Search II v1.0 zend

思同代码网流量统计系统

沁芳留言簿 v4.2

LMGuestBook v1.4.5 正式版

LMGuestBook v2.0 gamma

9om Search 专网搜索引擎 v5.0

import os
# 查找指定文件夹下所有相同名称的文件
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)

最后送大家一首诗:

山高路远坑深,

大军纵横驰奔,

谁敢横刀立马?

惟有点赞加关注大军。

 

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
安全 关系型数据库 MySQL
PHP手术麻醉临床信息管理系统源码 术前、术中、术后全流程管理
麻醉文书是用于管理患者手术全过程的文书。 麻醉同意:医院麻醉知情同意书的填写和编辑; 病案查询:可以通过搜索框搜索患者查询病案; 申请手术:手术申请单的填写和打印; 风险评估:医院手术风险评估表的书写和编辑。
43 0
|
2月前
|
安全 前端开发 JavaScript
PHP医院信息化B/S手麻系统源码
开发语言:PHP、 js 技术架构:mysql+laravel+vue2 开发工具:oh-storm 前端框架:vue2 element 后端框架:laravel 数 据 库:mysql 8.0
25 0
PHP医院信息化B/S手麻系统源码
|
3月前
|
关系型数据库 MySQL PHP
分享151个PHP源码,总有一款适合您
分享151个PHP源码,总有一款适合您
35 0
|
1月前
|
SQL 存储 监控
基于PHP的英语四六级在线模拟考试平台(论文+源码)_kaic
基于PHP的英语四六级在线模拟考试平台(论文+源码)_kaic
|
1月前
|
存储 PHP Apache
使用CFimagehost源码搭建无需数据库支持的PHP免费图片托管私人图床
使用CFimagehost源码搭建无需数据库支持的PHP免费图片托管私人图床
|
3月前
|
监控 安全 前端开发
PHP医院安全不良事件报告管理系统项目源码
不良事件上报系统,对患者安全(不良)事件实施全过程追踪管理,包括数据上报、流转审批、数据统计、原因分析、措施制定、效果追踪等环节,管理过程设置权限分级,相关人员职责明确,通过闭环管理使不良事件得到有效解决。 包含10大类医疗安全(不良)事件,即医疗事件、药品事件、护理事件、医学技术检查事件、输血事件、医院感染事件、医疗器械事件、安全管理与意外伤害事件,进一步又细分为60余类二级事件,全面覆盖医院所有临床科室、辅助科室及职能部门,从而消灭医疗安全(不良)事件管理的“盲区”。
33 1
|
3月前
|
开发框架 前端开发 小程序
分享47个PHP框架源码,总有一款适合您
分享47个PHP框架源码,总有一款适合您
67 0
|
3月前
|
关系型数据库 MySQL PHP
分享121个PHP源码,总有一款适合您
分享121个PHP源码,总有一款适合您
43 1
分享121个PHP源码,总有一款适合您
|
3月前
|
搜索推荐 关系型数据库 MySQL
分享150个PHP源码,总有一款适合您
分享150个PHP源码,总有一款适合您
63 0
分享150个PHP源码,总有一款适合您
|
7月前
|
关系型数据库 MySQL PHP
PHP 原生操作 Mysql
PHP 原生操作 Mysql
81 0