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

  • Post author:
  • Post category:php



PHP源码

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


链接:

https://pan.baidu.com/s/1nhh024WW6ja63DOM9L-q8w?pwd=08nj


提取码:08nj

下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下…,大家下载后可以看到。

import os
from time import sleep

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

from framework.access.sprider.SpriderAccess import SpriderAccess
from framework.base.BaseFrame import BaseFrame
from framework.pulgin.Tools import Tools
from sprider.business.DownLoad import DownLoad
from sprider.model.SpriderEntity import SpriderEntity
from sprider.business.SpriderTools import SpriderTools
from sprider.business.UserAgent import UserAgent

class ChinaZCode:
    page_count = 1  # 每个栏目开始业务content="text/html; charset=gb2312"
    base_url = "https://down.chinaz.com"  # 采集的网址  https://sc.chinaz.com/tag_ppt/zhongguofeng.html
    save_path = "D:\\Freedom\\Sprider\\ChinaZ\\"
    sprider_count = 99 # 采集数量正在采集第73页的第5个资源共138页资源

    word_content_list = []
    folder_name = ""
    first_column_name = "NET"
    sprider_start_count=999 #正在采集第73页的第5个资源共138页资源

    max_pager=16 #每页的数量
    haved_sprider_count = 0  #

    # 如果解压提升密码错误 ,烦请去掉空格。如果还是不行烦请下载WinRAR
    # https: // www.yadinghao.com / file / 393740984E6754
    # D18635BF2DF0749D87.html
    # 此压缩文件采用WinRAR压缩。
    # 此WinRAR是破解版。

    def __init__(self):
        #A5AndroidCoder().sprider("android", "youxi", 895)  #
        pass

    def sprider(self, title_name="Go"):
        """
        采集 https://down.chinaz.com/class/572_5_1.htm
        NET https://down.chinaz.com/class/572_4_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"
        first_column_name=title_name

        merchant = int(self.sprider_start_count) // int(self.max_pager) + 1

        second_folder_name = str(self.sprider_count) + "个" + self.folder_name
        self.save_path = self.save_path+ os.sep + "Code" + os.sep+first_column_name+os.sep +  second_folder_name
        print("开始采集ChinaZCode"+self.folder_name+"...")
        sprider_url = (self.base_url + "/class/{0}_1.htm".format(self.second_column_name))
        #print(sprider_url)
        #sprider_url = (self.base_url + "/" +  self.first_column_name + "/" + second_column_name + ".html")
        response = requests.get(sprider_url, timeout=10, headers=UserAgent().get_random_header(self.base_url))
        response.encoding = 'UTF-8'
        soup = BeautifulSoup(response.text, "html5lib")
        #print(soup)
        div_list =soup.find('div', attrs={"class": 'main'})
        div_list=div_list.find_all('div', attrs={"class": 'item'})
        #print(div_list)
        laster_pager_ul = soup.find('ul', attrs={"class": 'el-pager'})
        laster_pager_li = laster_pager_ul.find_all('li', attrs={"class": 'number'})
        laster_pager_url = laster_pager_li[len(laster_pager_li)-1]

        #<a href="zhongguofeng_89.html"><b>89</b></a>

        page_end_number = int(laster_pager_url.string)
        #print(page_end_number)
        self.page_count = merchant

        while self.page_count <= int(page_end_number):  # 翻完停止
            try:
                if self.page_count == 1:
                    self.sprider_detail(div_list,self.page_count,page_end_number)
                else:
                    if self.haved_sprider_count == self.sprider_count:
                        BaseFrame().debug("采集到达数量采集停止...")
                        BaseFrame().debug("开始写文章...")
                        self.builder_word(self.folder_name, self.save_path, self.word_content_list)
                        BaseFrame().debug("文件编写完毕,请到对应的磁盘查看word文件和下载文件!")
                        break
                    next_url =self.base_url + "/class/{0}_{1}.htm".format(self.second_column_name,self.page_count )
                    response = requests.get(next_url, timeout=10, headers=UserAgent().get_random_header(self.base_url))
                    response.encoding = 'UTF-8'
                    soup = BeautifulSoup(response.text, "html5lib")
                    div_list = soup.find('div', attrs={"class": 'main'})
                    div_list = div_list.find_all('div', attrs={"class": 'item'})

                    self.sprider_detail(div_list, self.page_count,page_end_number)
                    pass
            except Exception as e:
                print("sprider()执行过程出现错误" + str(e))
                pass
            self.page_count = self.page_count + 1  # 页码增加1

    def sprider_detail(self, element_list, page_count,max_page):
        try:
            element_length = len(element_list)

            self.sprider_start_index = int(self.sprider_start_count) % int(self.max_pager)
            index = self.sprider_start_index

            while index < element_length:
                a=element_list[index]
                if self.haved_sprider_count == self.sprider_count:
                    BaseFrame().debug("采集到达数量采集停止...")
                    break
                index = index + 1
                sprider_info = "正在采集第" + str(page_count) + "页的第" + str(index) + "个资源共"+str(max_page)+"页资源"
                print(sprider_info)

                #title_image_obj = a.find('img', attrs={"class": 'lazy'})
                url_A_obj=a.find('a', attrs={"class": 'name-text'})
                next_url = self.base_url+url_A_obj.get("href")
                coder_title = url_A_obj.get("title")

                response = requests.get(next_url, timeout=10, headers=UserAgent().get_random_header(self.base_url))
                response.encoding = 'UTF-8'
                soup = BeautifulSoup(response.text, "html5lib")
                #print(soup)
                down_load_file_div = soup.find('div', attrs={"class": 'download-list'})
                if down_load_file_div is None:
                    BaseFrame().debug("应该是多版本的暂时不下载因此跳过哦....")
                    continue

                down_load_file_url =self.base_url+down_load_file_div.find('a').get("href")

                #image_obj = soup.find('img', attrs={"class": "el-image__inner"})
                #image_src =self.base_url+image_obj.get("src")
                #print(image_src)

                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 = "code"
                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 (DownLoad(self.save_path).down_load_file__(down_load_file_url, coder_title, self.folder_name)):
                    #DownLoad(self.save_path).down_cover_image__(image_src, coder_title)  # 资源的 封面
                    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) + "个")
            if (int(page_count) == int(max_page)):
                self.builder_word(self.folder_name, self.save_path, self.word_content_list)
                BaseFrame().debug("文件编写完毕,请到对应的磁盘查看word文件和下载文件!")
        except Exception as e:
            print("sprider_detail:" + str(e))
            pass

MyProber PHP探针 0.26

口福科技网上订餐系统连锁版 v1.1

阿里云存储PHP文件上传系统 v1.0

网上订餐网站CMS系统 v1.0

威客 v3.1 试用版

SugarCRM 客户关系管理系统 v6.4.3

WindFramework v1.0

php压缩文件类 v1.0

PHP简单留言系统 v1.0

如家快捷酒店预订源码 for php v1.0

SMF论坛 Simple Machines Forum v1.1.16

php在线人数统计程序 v1.0

IIS日志检测程序 v1.0

initApp基于InitPHP开发框架的通用后台 v1.0

新艺点音乐工作室php源码 v1.0

PHP通用分页类 v1.0

PHPMaos小说采集系统 v1.7

大佬北京论坛小偷系统 v1.1

DirCMS地方门户系统 v5.0

顶踩程序无数据库版 v1.0

在线解压压缩PHP脚本 v1.0

易想团购系统 v1.4 开源版

Discuz X2.5 table DIY 文件 v1.0

CmsTop 内容管理系统大众版 v1.0.0.800 Final

记事狗高仿云边轻博 v3.0

全国区号查询系统 v3.2

Php 115自动上传类 v1.0

杰奇小说系统百度地图生成插件 v1.0

Discuz! X2.0 仿19楼完整模板

短网址还原(UnShortUrl) v1.9

军锋真人CS野战在线预订系统 v2.0

PicCMS 图片管理系统 v1.1

17房产网 v1.0

MISOFT客户关系管理系统(crm) v1.0

CF图片上传程序 TIGER修改版 v1.0.2

Hait-windows 2.0

常用汉字笔顺查询 v1.0

尘烟博客 v1.0

magento(麦进斗) v1.6.2.0

FlatPress v1.0

ManyiX企业留言程序 v1.0

昆明中国国际旅行社 v2011

SOTESHOP v5.2.3

智宸公文签收系统政务版 v1.0

结婚祝福程序 v1.0

Discuz! X1.5.1 繁体BIG5 R20111221

Discuz! X1.5.1 简体UTF-8 R20111221

Discuz! X1.5.1 简体GBK R20111221

Discuz! X1.5 简体GBK R20111221

mfsou PHP扩展(中文分词) v0.2

PhpCMS2008  sp4 build 20111122 GBK

PhpCMS2008  sp4 build 20111122 UTF-8

EAgent 代理分销平台 v1.1

126cms网站内容管理系统 v1.0 GBK

magento汉化包

XMBForum v1.9.11.12

腾讯微博 for Discuz! 插件版

LHT蓝海豚团购导航 v4.0.4.110418 UTF-8

简单纯洁的php日历 v1.3

软件博客导航系统 v1.1

ABCMS新闻发布系统 v1.0

Nucleus CMS v3.6.4

AjaxQuickSearch快速显示搜索结果程序 v1.0

要哇手机导航网源码 v1.0

canphp框架(php框架) v1.5

8boy简单米表 v2.0

XpressEngine Core v1.4.5.10

Cotonti CMS v0.95

MyLittleForum  v2.3

DiY-Page 站群系统  v8.3

sitex  v0.8.0 beta

Scuttle  v0.9.0

优艾英汉互译翻译 v2.0

电影小偷伪静态版 v1.0

appRain 内容管理系统 v0.1.5

Gazelle CMS v1.0

企业建站系统XQCMS v4.0 beta

AdaptCMS 网站内容管理系统

ArticleSetup v1.1

OneCMS(游戏内容管理系统) v2.6.4

Dircms地方门户系统  v2011 Sp3 beta_20111012

Dircms地方门户系统(Lifecms) 20110427版 UTF-8

PWBuilder for phpwind v8.7

建站帮手智能建站系统 v2.1

XOOPS v2.5.3

天天家教网源码 v1.0

geeklog v1.8.1 正式版

KnProxy  v4.34

IDCZE商业导航系统 v3.0

漂亮的机械企业站 基于dedecms v5.7

齐鲁黄页系统 v1.0

浩天美图小偷 v8.0

KindEditor HTML在线编辑器 v3.5.6 简体中文

Hopesys网站管理系统 v1.0

枞阳网天气PHP预报程序 v2.0

littlephpcms图片系统 v1.0

PHPDisk网盘系统UTF8版(T-Core系列) v6.0.0  build 20110928

PHPDisk网盘系统GBK版(T-Core系列) v6.0.0 build 20110928

美玲患者就诊记录查询报表系统 v1.1

FFS快速文件分享系统 MYSQL版 v4.4

FFS快速文件分享系统 SQLite版 v4.3

littlephpcms 学校网 v1.0

EnableGo有奖知识问答活动管理系统 v1.10

PHP网络IP查询系统(无需MySQL支持) v4.1

快快游戏建站系统KKSite v1.0.9

游戏新手卡领号系统 v2.5

EasyCart开源网店系统 v2.0 Beta1

HtaccessAdmin子目录绑定管理平台 v3.0

littlephpcms二手网 v1.0

多彩贴吧PhpColor单贴吧版 v1.1

JD-GB 留言板程序 v2

buddypress v1.2.10

moa image gallery v1.2.6

Google搜索小偷 v1.0

PHP留言反馈 v1.1

小偷屋txt小说小偷 v1.0

搜搜问问小偷采集程序升级版 v1.3

phpscup企业建站系统 v1.8.2

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)

最后送大家一首诗:

山高路远坑深,

大军纵横驰奔,

谁敢横刀立马?

惟有点赞加关注大军。


链接:

https://pan.baidu.com/s/1nhh024WW6ja63DOM9L-q8w?pwd=08nj


提取码:08nj



版权声明:本文为zy0412326原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。