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

60 篇文章 11 订阅
51 篇文章 14 订阅

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)

最后送大家一首诗:

山高路远坑深,
大军纵横驰奔,
谁敢横刀立马?
惟有点赞加关注大军。
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
微信内容分享平台CMS(内容管理系统)是使用PHP语言编写的源码,可以用于构建一个功能丰富的微信内容分享平台。通过该平台,用户可以分享微信公众号文章、朋友圈、小程序等的内容。 该CMS源码提供了许多功能和模块,包括用户管理、内容管理、分类标签、评论管理等。用户可以注册账号、登录平台,并可根据自己的兴趣爱好选择关注感兴趣的公众号或话题标签,获取相关的内容推荐。 在内容管理方面,该CMS源码支持对微信公众号、朋友圈等内容进行管理和发布。用户可以通过输入微信文章链接或者上传文章图片进行发布。平台会自动提取文章标题、摘要、封面图等信息,并根据用户的设定进行展示和推荐。 分类标签模块可以帮助用户根据不同的主题将内容进行分类,方便用户浏览和搜索感兴趣的内容。用户可以根据自己的喜好,浏览特定分类下的文章或者关注特定标签的内容更新。 另外,该CMS源码还支持用户之间的交互和评论功能。用户可以对文章进行评论和点赞,也可以关注其他用户的动态,以及回复和互动。这样能够增加用户之间的互动和分享,提升平台的活跃度。 总的来说,这个微信内容分享平台CMS php源码提供了一个完整的内容分享平台的基础架构,可以帮助开发者快速搭建一个功能完备的微信内容分享平台。无论是个人用户还是企业机构,都能够通过该平台实现个人或者品牌的宣传和推广。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亚丁号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值