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

简介: 分享96个PHP源码,总有一款适合您

PHP源码

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


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

96个PHP源码下载链接:https://pan.baidu.com/s/1B-tNZlbfjT_D3n_Y6ZwfDw?pwd=uq19

提取码:uq19

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

def __init__(self):
        pass
    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)

企业进销存PHP管理系统

PCS流量统计分析系统 v1.12 GBK

友人网社区论坛程序(仿)

网站不良信息检查系统

MediPro网上手机店系统 v5.1.5

PHP 在线替换网页文本内容

PHPStat 多用户网站流量统计 v1.0 简体中文开源版

网窝修改版分类信息发布 SP3

小蜜蜂商务网站门户系统 v2.1 Build 0828

HUGESKY CMS v7.1.1

PHP房产程序[BBWPS] v2.1 Build 070826

IP138查询网站程序全部本地数据

贺喜多途径支付接口 v2.3(PHP)

ExpLog v1.1.1 PL1

Soutz网址导航

开源php企业网站程序PHP无错版

PHPStat网站决策支持系统 v1.2 GBK简体中文版

凌风多用户PHP统计系统 v1.01

NEATPIC图片程序(php直读游客上传版)汉化版

华夏黑色留言本 v1.0

Discuz论坛自动注册

SSx分类信息程序

上海交通大学校友会网站管理系统

金星session购物车实例

b2evolution v1.10.2 多国语言版

Simple PHPBlog v0.5.0.1 多国语言版

WebCalendar v1.1.3

MC.IMSS v1.9.0

base_url =  "https://down.chinaz.com" # 采集的网址
    save_path = "D:\\Freedom\\Sprider\\ChinaZ\\"
    sprider_count = 139  # 采集数量
    sprider_start_count=5839#
    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=[]

织梦内容管理系统Dedecms v4.0 Rc1 clinch修改版(for Tags)

monket cal(在线日历) v0.9.1

PHPCMS 文件管理器 v4.03

Zomplog v3.8.1 多国语言版

kanlog博客程序 v1.0 (PHP版)

MediPro律师网站系统 v5.1.5

MediPro网上书店系统 v5.1.5

MediPro网上鲜花礼品店系统 v5.1.5

MediPro综合网店系统 v5.1.5

MediPro医院网站系统 v5.1

MediPro学校网站系统 v5.1

MediPro城市美食门户网站系统 v5.1

MediPro企业网站管理系统 v5.1

MediPro商贸信息网站系统 v5.1

MediPro内容网站管理系统 v5.1

站长爱好者留言本

动网论坛PHP版 v1.0.4 Build 20070521

Tiny Tiny RSS v1.2.13 多国语言版(RSS聚合程序)

神牛flash小游戏程序div+css生html

弈飞CMS(VSFLYCMS) 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")
            driver.get(next_url) # 请求明细页面
            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
                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,"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("/", "") #去掉windows不识别的字符
                    files = os.listdir(down_path)
                    file_name = files[0] #获取默认值
                    if len(self.filter_down_file)>0:
                        for file in files:
                            for filter_file in self.filter_down_file:
                                if str(file) in str(filter_file):
                                    BaseFrame().error(filter_file + "文件被过滤...")
                                    pass
                                else:
                                    file_name = file
                    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文件和下载文件!")

维博内容管理系统WECMS v3.0.1

简单的会员注册管理程序

dede的电影模块(免费+开源)

SQLSwitch 数据库转换器 v1.2

Advanced Poll v2.08 多国语言版

Achims Guestbook v2.53 多国语言版

『幻γ野D风』PHP文件上传 v1.0

PHP域名代管系统

LxShop多用户商城系统 v2.0

WBB(WoltLab Burning Board) v3.0

PBLang v4.67.16.a 多国语言版

PowerPhlogger v2.2.5多国语言版

DreamNews(百度RSS新闻采集程序) v1.0(Mysql)

pivot v1.40.3 多国语言版

LOVESTUdio多校园交易系统 v4.2(整合Discuz!论坛)

LOVESTUdio多校园网络店铺 v3.2(整合Discuz!论坛)

Xaraya v0.9.9 多国语言版

UseBB v1.0.7 简体中文版

BMForum 2007 v5.6 多国语言版

Taskfreak v0.6.1 多国语言版

PHP生成中文汉字图片验证码

泉州招工网(开源)

思维CMSware v2.8 RC2 utf8简体中文全功能试用版(php5)

思维CMSware v2.8 gbk简体中文全功能试用版(php5)

思维CMSware v2.8 RC2 gb2312简体中文版(php4)

思维CMSware v2.8 RC2 utf8简体中文版(php4)

简单图片上传系统 中文版

明灯(Moodle)在线教学平台 v1.8.2 中文版

E学分类程序

瓜瓜在线考试系统 v1.0 loachlee

DreamNews(百度RSS新闻采集程序) v1.0

菩提bt tracker v1.44 思维CMSware简繁体汉化版

Discuz资料片:燃烧远征

DiY-Page自定制门户系统 v4.0 简体中文版(GB2312)

DiY-Page自定制门户系统 v4.0 简体中文版(UTF-8)

DiY-Page自定制门户系统 v4.0 繁体中文版(UTF-8)

DiY-Page自定制门户系统 v4.0 繁体中文版(BIG5)

MolyX Board v2.7 beta 2

MolyX Board v2.6.1 Build 20070523

互动维客系统(HoodongWIKI) v2.0(UTF-8)

i-Stats v1.2 多国语言版

镆铘内容管理系统(modxcms) v0.96

CMSware图片系统 v1.3

PHProxy v0.5 B2 汉化版

site2U网站管理系统 v1.1 Build 0621

争乐迷你版PHP+AJAX v1.0 Build 0618

phpcms网站管理系统 2007 Sp3 Build 0622 简体GBK免费版

phpcms网站管理系统 2007 Sp3 Build 0622 简体UTF-8免费版

phpcms网站管理系统 2007 Sp3 Build 0622 繁体UTF-8免费版

PHP HighSlide + 幻灯相册程序

XYBOG for PHP (个人日志)系统

帝国下载系统 v2.1 sp1

XYGBK 留言板 for PHP v1.0

PHP168整站 v4.0 SP 繁体版

Sungel CMS v1.0 Build 070602

WikyBlog v1.4.14 多国语言版

WebM@gik v1.3 RC2

WebM@gik v1.3 RC2 绿色集成版

帝国备份王 v2.0

Duoxun! v3.0 开源版

EditONE免提交式在线编辑器 v1.4 RC 简体中文版(PHP) Build 0516

MyTopix v1.30 简体中文版

ImpEx v1.81(vBulletin v3.5和v3.6)

秀影ShowinⅡ v2.0 Build 20070504(原PHPLand Showin)

serendipity 核心语言包第二版(含简、繁)

BTMaster BT发布索引系统 v1.0.4 GBK版

明科商互通(在线客服系统) v3.0 Build 0428(含客服管理软件)


KGOGOMALL v5.2

OKPHP政府/企业网站管理系统OCM v6.0

PHPWind v5.01 Build 20070406 GBK简体中文版

PHPWind v5.01 Build 20070406 UTF8简体中文版

PHP Web admin System v1.0

Kronolith v2.1.5

OKPHP Multiple Blogs (OMB) v4.2.1(原okphp BLOG)

SiteEngine(建站引擎) v5.2 专业版

SiteEngine(建站引擎) v5.2 高级版

SiteEngine(建站引擎) v5.2 标准版

nucleus v3.24 中文完全版

ImpEx v1.78 中文版

三雷网站内容管理系统单用户版 v5.0

phpXplorer v0.9.37

Duoxun! v3.0

F2blog v1.2(含插件)

alexa高速查询系统

TinaCMS v1.2+ MYSQL加强版

PHPWebFTP v4.0 多国语言版

情感进销存管理系统(qgESS) v3.0

Openads v2.3.31 alpha pr2

Openads v2.0.11 多国语言版

Nucleus v3.24 多国语言版

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)

 

最后送大家一首诗:

山高路远坑深,

大军纵横驰奔,

谁敢横刀立马?

惟有点赞加关注大军。

 

目录
相关文章
|
1月前
|
PHP
PHP全自动采集在线高清壁纸网站源码
PHP全自动采集在线高清壁纸网站源码,PHP全自动采集在线高清壁纸网站源码,一款开源壁纸源码,无需安装。集合360壁纸,百度壁纸,必应壁纸,简单方便。每天自动采集,自动更新,非常不错,php源码 网站源码 免费源码 自动采集。
47 3
|
1月前
|
PHP 数据库
2024表白墙PHP网站源码
2024表白墙PHP网站源码
31 1
|
2月前
|
安全 BI PHP
php前后端分离,仓储模式r的医院不良事件上报系统源码
此医院安全不良事件管理系统采用前后端分离架构(PHP+Laravel8+Vue2+Element),实现事件上报至解决的全流程管理。系统支持结构化上报、数据自动引用、智能流程及预警,配备质控分析工具生成各类报表。通过PDCA闭环管理,确保事件得到有效处置并预防再发,同时提供便捷上报通道,优化上报效率。
php前后端分离,仓储模式r的医院不良事件上报系统源码
|
2月前
|
前端开发 关系型数据库 MySQL
最新黑名单查询录入系统PHP网站源码
最新黑名单查询录入系统PHP网站源码 前端html 后端layui 操作部分都采用API接口的方式实线 集结了layui表格的多数据操作,添加,批量删除,分页,单项删除 后台数据修改采用绑定参数的形式来进行修改可以很好的预防数据库注入,当然如果你想要测试这个防注入的你也可以尝试一下 PHP版本70+ 数据库Mysql 5.6 上传程序访问 http://你的域名/install 安装
60 0
|
3月前
|
数据库
基于PHP+MYSQL开发制作的趣味测试网站源码
基于PHP+MYSQL开发制作的趣味测试网站源码。可在后台提前设置好缘分, 自己手动在数据库里修改数据,数据库里有就会优先查询数据库的信息, 没设置的话第一次查询缘分都是非常好的 95-99,第二次查就比较差 , 所以如果要你女朋友查询你的名字觉得很好 那就得是她第一反应是查和你的缘分, 如果查的是别人,那不好意思,第二个可能是你。
53 3
|
3月前
|
小程序 PHP
全新UI自助图文打印系统小程序源码 PHP后端 附教程
全新UI自助图文打印系统小程序源码 PHP后端 附教程
231 2
|
3月前
|
移动开发 前端开发 应用服务中间件
挂售转卖竞拍商城系统源码/竞拍系统/转拍闪拍系统/后端PHP+前端UNiapp源码
挂售转卖竞拍商城系统源码/竞拍系统/转拍闪拍系统/后端PHP+前端UNiapp源码 亲测可用
87 1
|
4月前
|
PHP
PHP微信公众号投票活动系统源码
PHP微信公众号投票活动系统源码
155 11
|
4月前
|
存储 Linux PHP
PHP云盘网盘系统源码+快速对接多家云存储+全新一键安装版
快速对接多家云存储,支持七牛、又拍云、阿里云OSS、AWS S3、Onedrive、自建远程服务器,当然,还有本地存储。 自定义主题配色。 图片、音频、视频、文本、Markdown、Ofiice文档 在线预览。 移动端全站响应式布局。 文件、目录分享系统,可创建私有分享或公开分享链接。 用户个人主页,可查看用户所有分享。 多用户系统、用户组支持。 初步完善的后台,方便管理。 拖拽上传、分片上传、断点续传、下载限速(*实验性功能)。 多上传策略,可为不同用户组分配不同策略。 用户组基础权限设置、二步验证。 WebDAV协议支持。
106 2
|
3月前
|
前端开发 PHP 区块链
博客屋网址导航自适应主题php源码
自适应各终端博客屋网址导航源码是一个以PHP+MySQL进行开发的个人博客网站导航源码
53 0