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

news2024/11/23 16:42:49

PHP源码

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

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

80个PHP源码下载链接:https://pan.baidu.com/s/1yJ1aR6vt2kDjiVyqj0gPuw?pwd=lfl9 
提取码:lfl9

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

 VD影子系统 v0.001
phpsqlitecms  v1.0 中文版
modx v0.9.6.3 简繁中文版
PHP仿安逸吧排行程序
phpSQLiteCMS v1.0
Phpcms网站管理系统  2007 SP6 build 081226 简体GBK
Phpcms网站管理系统  2007 SP6 build 081226 简体UTF-8
Phpcms网站管理系统  2007 SP6 build 081226 繁体UTF-8
WAP/WWW双栖文件管理器 v0.1
Xcomic  v0.8.3
proclanmanager v0.4.2
彩虹QQ显名字拼音 v3.0
FastMySQL
捌度出品之百度近日收录量查询系统 PHP版 build 20081223
phpcms2007到phpcms2008 升级 UTF8版
phpcms2007到phpcms2008 升级 GBK版
phpPgAdmin v4.2.2 多国语言版
MyBB v1.4.4 繁体中文版 bulid 081221
viewpoint 5  alpha  v1.5.8.0
UCenter1.5.0/UCenter Home1.5/Discuz! 7.0 集成 简体GBK
UCenter1.5.0/UCenter Home1.5/Discuz! 7.0 集成 简体UTF-8
UCenter1.5.0/UCenter Home1.5/Discuz! 7.0 集成 繁体UTF-8
UCenter1.5.0/UCenter Home1.5/Discuz! 7.0 集成 繁体BIG5

import os
import shutil
import time
from time import sleep

import requests
from bs4 import BeautifulSoup
from docx import Document
from docx.shared import Inches

from framework.base.BaseFrame import BaseFrame
from sprider.business.DownLoad import DownLoad
from sprider.business.SeleniumTools import SeleniumTools
from sprider.business.SpriderTools import SpriderTools

from selenium import webdriver
from selenium.webdriver.common.by import By
from sprider.model.SpriderEntity import SpriderEntity
from sprider.access.SpriderAccess import SpriderAccess


class HuaJunCode:
    base_url =  "https://down.chinaz.com" # 采集的网址
    save_path = "D:\\Freedom\\Sprider\\ChinaZ\\"
    sprider_count = 96  # 采集数量
    sprider_start_count=5200#



    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=[]

    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)


Atarone  v1.3
佳蓝迷你屋设计系统 v2.0 bulid 081216
QQ闪图自动生成系统 v2.0
佳蓝超级同学录 v3.0
Web机器人联盟网站管理系统 v1.0
123face头像、表情在线生成系统 v1.0
ezContents v2.0.3
Flash小游戏小偷伪静态版 v1.1
主机域名查询测试工具
php电影小偷 v1.0
UCenter Home v1.5 简体中文 GBK
UCenter Home  v1.5 简体中文 UTF-8
UCenter Home v1.5 繁体中文 UTF-8
UCenter Home  v1.5 繁体中文 BIG5
PHP海量批量给图片加水印
ECShop v2.6.1 bulid 081208 UTF-8 正式版
ECShop v2.6.1 bulid 081208 GBK 正式版
51shop 网上商城系统 v2.0
CSS吧(PHP+MYSQL)程序
问友友情链接插件 v2.0 FOR Discuz! 6.1
shopd1网店系统 v1.4
PHP美女写真 Cms v1.251 GBK版
PHP美女写真 Cms v1.251 utf-8 版
basic php cms
Menalto Gallery v1.5.10 多国语言版
红茶巴士(公交)查询系统 v3.0
腾讯留言板 v1.3
toolxp.cnalexa世界排名查询  php版
PHP模板类 KindTemplate  v1.0
项目管理程序 Collabtive v0.4.9 汉化版
XpressEngine(Zeroboard XE) v1.1.1 多国语言
Pdajoy ajax 手机号码归属地查询 mysql版 v1.1
FleaPHP v1.7.1524 (开源 PHP开发框架)
MM121美女图片网小偷 v1.0 Build 081125 PHP版
圣者文章管理系统 SWCms v3.0.2 开源版
MYPHP企业建站系统  v4.2 UTF-8 简繁英三语版
X-Space v4.0.1/SupeSite v6.0.1 简体中文版UTF-8
X-Space v4.0.1/SupeSite v6.0.1 简体中文版GBK
QiuWish AppleShow许愿树 v1.5 beta
MooPHP框架 v0.95.399 beta 核心版/完整版
zJL2doc在线简历系统 v1.0 beta
美女写真网图片小偷-PHP版 v1.0 build 081125
ECMall v1.1 正式版
印像订购系统 v3.0.c
清风123域名出售管理系统
EdisonMovie v1.0.0
X-Space v4.0.1/SupeSite v6.0.1 繁体中文版BIG5
X-Space v4.0.1/SupeSite v6.0.1 繁体中文版UTF-8

import random


class UserAgent:
    def __init__(self):
        self.headers = [
            "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36",
            "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36",
            "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0",
            "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/537.75.14",
            "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)",
            'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11',
            'Opera/9.25 (Windows NT 5.1; U; en)',
            'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)',
            'Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.5 (like Gecko) (Kubuntu)',
            'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070731 Ubuntu/dapper-security Firefox/1.5.0.12',
            'Lynx/2.8.5rel.1 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/1.2.9',
            "Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.7 (KHTML, like Gecko) Ubuntu/11.04 Chromium/16.0.912.77 Chrome/16.0.912.77 Safari/535.7",
            "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:10.0) Gecko/20100101 Firefox/10.0 "
        ]

    def get_random_agent(self):
        randdom_agent = random.choice(self.headers)
        return randdom_agent
        pass

    def get_random_header(self, header_url):
        headers = {"Referer": header_url,
                   'User-Agent': random.choice(self.headers)}
        return headers
        pass


 

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)


 

最后送大家一首诗:

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/169908.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深信服EDR任意用户登录与命令执行漏洞

深信服EDR任意用户登录与命令执行漏洞1.深信服EDR简介2.深信服EDR漏洞2.1.后台任意用户登录漏洞2.1.1.漏洞描述2.1.2.影响版本2.1.3.漏洞复现2.2.任意命令执行漏洞2.2.1.漏洞描述2.2.2.影响版本2.2.3.漏洞复现2.2.3.1.构建URL2.2.3.2.效果1.深信服EDR简介 终端检测响应平台&…

C生万物 | 使用宏将一个整数的二进制位的奇数位和偶数位交换

&#x1f451;作者主页&#xff1a;Fire_Cloud_1 &#x1f3e0;学习社区&#xff1a;烈火神盾 &#x1f517;专栏链接&#xff1a;万物之源——C 淋漓尽致——位运算✒题目分析 && 实现思路[位运算]1、获取这个整数的奇数位和偶数位2、使用移位运算使【奇变偶】【偶变奇…

如何通过限流算法防止系统过载

限流算法&#xff0c;顾名思义&#xff0c;就是指对流量进行控制的算法&#xff0c;因此也常被称为流控算法。 我们在日常生活中&#xff0c;就有很多限流的例子&#xff0c;比如地铁站在早高峰的时候&#xff0c;会利用围栏让乘客们有序排队&#xff0c;限制队伍行进的速度&am…

扫雷——“C”

各位uu们我又来啦&#xff0c;今天&#xff0c;小雅兰给大家介绍的又是一个小游戏&#xff0c;就是扫雷这款游戏&#xff0c;这个游戏和我昨天给大家介绍的三子棋游戏有异曲同工之妙&#xff0c;相信很多人都玩过&#xff0c;话不多说&#xff0c;我们进入正题吧. 《扫雷》是一…

【学习笔记】【Pytorch】十七、模型测试套路

【学习笔记】【Pytorch】十七、模型测试套路一、内容概述二、模型测试套路代码实现一、内容概述 利用已经训练好的模型&#xff0c;然后给它提供输入&#xff0c;判断输出是否正确&#xff0c;即模型的应用测试。 在模型测试也会有一些坑&#xff1a; 神经网络的输入一般是4…

【错误记录】Kotlin 代码编译时报错 ( Variable ‘name‘ must be initialized | 初始化块定义在所有属性之后 )

文章目录一、报错信息二、问题分析三、解决方案 ( 初始化块定义在所有属性之后 )一、报错信息 在 Kotlin 中 , init 初始化块 要 定义在所有成员属性之后 ; 如果在 init 初始化块 中 , 使用到了 成员属性 , 有可能出现 编译时报错信息 ; 报错代码示例 : class Hello{init {va…

seata安装及配置

1.下载 下载地址&#xff1a;https://github.com/seata/seata/tags 本文选用seata-1.4.2版 2.解压 tar -zxvf seata-server-1.4.2.tar.gz 3. 初始化数据库 登录mysql&#xff0c;然后创建数据库和数据表&#xff1a; -- -------------------------------- The script used…

【Java】【系列篇】【Spring源码解析】【三】【体系】【Environment体系】

整体结构图 本篇文章仅作简单了解&#xff0c;详细还等到Springboot系列里面详解PropertyResolver 作用 用于针对任何基础源解析属性(Property)的接口 方法解析 // 查看规定指定的key是否有对应的value 对应key的值是null的话也算是不能解析 boolean containsProperty(Stri…

持续丰富营销玩法 东风标致408X引领品牌向上焕新

1月5日&#xff0c;东风标致408X首秀——XSHOW开演&#xff0c;标致全球战略车型408X正式在中国亮相&#xff0c;定位为“新法式无界座驾”&#xff0c;它是东风标致全面向电动化、智能化、网联化的发展的一款汽车&#xff0c;也是引领东风标致向上焕新的一款全新车型。作为东风…

十五天学会Autodesk Inventor,看完这一系列就够了(终章),答疑

众所周知&#xff0c;Autocad是一款用于二维绘图、详细绘制、设计文档和基本三维设计&#xff0c;现已经成为国际上广为流行的绘图工具。Autodesk Inventor软件也是美国AutoDesk公司推出的三维可视化实体模拟软件。因为很多人都熟悉Autocad&#xff0c;所以再学习Inventor&…

python SciPy 优化器

SciPy 优化器SciPy 的 optimize 模块提供了常用的最优化算法函数实现&#xff0c;我们可以直接调用这些函数完成我们的优化问题&#xff0c;比如查找函数的最小值或方程的根等。NumPy 能够找到多项式和线性方程的根&#xff0c;但它无法找到非线性方程的根&#xff0c;如下所示…

工具类库 Hutool介绍与使用(请记得收藏)

工具类库 Hutool介绍 Hutool是一个小而全的Java工具类库&#xff0c;通过静态方法封装&#xff0c;降低相关API的学习成本&#xff0c;提高工作效率&#xff0c;使Java拥有函数式语言般的优雅&#xff0c;让Java语言也可以“甜甜的”。Hutool中的工具方法来自于每个用户的精雕…

VMware vCenter上用OVF模板部署虚拟机

前言 在我们项目操作过程中&#xff0c;使用VMware vCenter系统&#xff0c;经常会出现使用原有部署环境来部署虚拟机&#xff0c;供项目组使用&#xff0c;此时我们克隆虚拟机就要用到OVF模板来克隆操作&#xff0c;这是一个非常实用的功能。 一、打开Vcenter&#xff0c;选定…

Redis学习笔记2_数据结构

Redis数据结构Redis数据结构二、数据结构2.1Redis核心对象2.2底层数据结构2.2.1 SDS-simple dynamic stringsds内存布局sds的操作为什么使用SDS&#xff0c;SDS的优势&#xff1f;2.2.2 listlist内存布局2.2.3 dictdict内存布局2.2.4 zskiplistzskiplist内存布局2.2.5 intsetin…

前端实现登录拼图验证

前言 不知各位朋友现在在 web 端进行登录的时候有没有注意一个变化&#xff0c;以前登录的时候是直接账号密码通过就可以直接登录&#xff0c;再后来图形验证码&#xff0c;数字结果运算验证&#xff0c;到现在的拼图验证。这一系列的转变都是为了防止机器操作&#xff0c;但对…

Python 第六章 函数

6.1函数的定义和调用6.1.1定义函数格式&#xff1a;def 函数名 ([参数列表]):["""文档字符串"""]函数体[return 语句]6.1.2函数调用格式&#xff1a;函数名([参数列表])python中函数可以嵌套定义例如&#xff1a;def add_modify(a,b):resultabpr…

Vue3响应式原理解析

前言 今年上半年开始&#xff0c;自己开始在新项目中使用 Vue3 进行开发&#xff0c;相比较于 Vue2 来说&#xff0c;最大的变化就是 composition Api 代替了之前的 options Api&#xff0c;更像是 React Hooks 函数式组件的编程方式。 Vue3相对于Vue2响应式原理也发生了变化…

vue日期组件el-date-picker中更改默认日期格式并且实时显示的方法

在项目中有一个需求是这样的,要求实时显示他的当前默认时间,并且不能修改 使用了默认:default-value"currentTime"属性之后,新增的时候会报错,前端与后端传递的数据不匹配 因为默认时间被new date() 解析之后返回的数据是默认时间形式的,格式不符 方法如下: 第一步&a…

Elasticsearch入门 - Mac上Elasticsearch和Kibana的安装运行与简单使用

文章目录一&#xff0c;Mac上Elasticsearch和Kibana的安装1.1 环境与下载1.2 安装与运行1.3 问题1.3.1 elasticsearch安装后其他机器不能访问1.3.2 kibana安装后其他机器不能访问二&#xff0c;Elasticsearch在Kibana的常见命令2.1 查看集群的健康状态2.2 索引2.2.1 查看所有索…

Scrum 敏捷开发

什么是敏捷开发 敏捷 开发是一个术语&#xff0c;用于描述迭代软件开发。 迭代软件开发通过在短增量完成工作&#xff08;通常称为 冲刺&#xff0c; Sprint&#xff09;来缩短 DevOps 生命周期。 冲刺通常长达一到四周。 敏捷开发通常与传统或瀑布式开发形成鲜明对比&#xff…