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修正繁体版
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)
最后送大家一首诗:
山高路远坑深,
大军纵横驰奔,
谁敢横刀立马?
惟有点赞加关注大军。