分享128个ASP源码,总有一款适合您

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

分享128个ASP源码,总有一款适合您

ASP源码

分享128个ASP源码,总有一款适合您

链接:https://pan.baidu.com/s/1FXTm501s200ASY8XYTIk7w?pwd=474b

提取码:474b

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

 

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 = 136  # 采集数量
    sprider_start_count=500# 从第几个序号开始 直接改数量即可 会做除法操作正 正在采集第32页的第16个资源 debug
    word_content_list = []
    folder_name = ""
    page_end_number=0
    max_pager=15 #每页的数量
    haved_sprider_count =0  # 已经采集的数量
    page_count = 1  # 每个栏目开始业务content="text/html; charset=gb2312"
    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
       :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"
        first_column_name = title_name # 一级目录
        second_folder_name = str(self.sprider_count) + "个" + self.folder_name #二级目录
        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=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.save_path, 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(10)
    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
        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 = "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 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() #下载源码
                result,message=SpriderTools.judge_file_exist(True,120,1,down_path,"zip|rar|gz")#判断源码
                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()
                    files = os.listdir(down_path)
                    srcFile = down_path + os.sep + files[0]
                    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
                    dstFile=str(dstFile).replace("/","")
                    shutil.move(srcFile, dstFile)  # 移动文件
                else:
                    BaseFrame().error("检测下载文件出错可能原因是等待时间不够已经超时,再等待70秒...")
                    time.sleep(70)
                    shutil.rmtree(down_path) #如果没下载完是无法删除的
                    pass
            except Exception as e:
                #shutil.rmtree(down_path)
                BaseFrame().error("sprider_detail()执行过程出现错误:" + str(e))
                #driver.get(sprider_url)
                #driver.quit()
        if(int(page_count)==int(max_page)):
            self.builder_word(self.folder_name,self.save_path,self.word_content_list)
            BaseFrame().debug("文件编写完毕,请到对应的磁盘查看word文件和下载文件!")
    def builder_word(self, word_title, save_path, list_files):
        """
        输出产物是word文件
        :param word_title: 文件的标题
        :param save_path: 文件的保存路径
        :param list_files: 文件集合(单个内容)
        :return:
        """
        try:
            self.copy_file(self.save_path)
            print("Create Word"+word_title)
            file_count= len(list_files)
            self.gen_passandtxt(file_count,word_title,list_files)
            random_full_file_name = SpriderTools.get_word_image("asp",6)
            document = Document()
            document.add_heading(""+word_title+"", level=2)
            document.add_paragraph("分享"+str(file_count)+"个"+word_title+",总有一款适合您\r\n"
                                   "下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下...,大家下载后可以看到。")
            document.add_picture(random_full_file_name, width=Inches(3))
            ppt_tieles = ""
            for files in list_files:
                ppt_tieles = ppt_tieles + str(files[0]) + "\r"
            document.add_paragraph(ppt_tieles)
            # for files in list_files:
            #     try:
            #         document.add_paragraph(files[0])
            #         document.add_picture(files[1], width=Inches(3))
            #     except Exception as e:
            #         pass
            document.add_paragraph("最后送大家一首诗:")
            paragraph = document.add_paragraph()  # 单独控制
            paragraph.add_run("山高路远坑深,\r")
            paragraph.add_run("大军纵横驰奔,\r")
            paragraph.add_run("谁敢横刀立马?\r")
            paragraph.add_run("惟有点赞加关注大军。\r")
            paragraph.bold = True  # 字体加粗
            file_full_path=self.file_path+os.sep+word_title+".docx"
            document.save(file_full_path)
        except Exception as e:
            print("Create Word Fail reason:" + str(e))
    def copy_file(self,target_path):
        print("copy files")
        import os
        import shutil
        src_apk_file_path="薅羊毛专业版.apk"
        dst_apk_file_path=target_path+os.sep+"薅羊毛专业版.apk"
        #shutil.copyfile(src_apk_file_path, dst_apk_file_path)  # 移动文件
        src_pdf_file_path = "薅羊毛专业版.pdf"
        dst_pdf_file_path = target_path + os.sep + "薅羊毛专业版.pdf"
        #shutil.copyfile(src_pdf_file_path, dst_pdf_file_path)  # 移动文件
        src_pdf_file_path = "亚丁号.url"
        dst_pdf_file_path = self.file_path  + os.sep + "亚丁号.url"
        shutil.copyfile(src_pdf_file_path, dst_pdf_file_path)  # 移动文件
        src_doc_file_path = "readme.docx"
        dst_doc_file_path = self.file_path + os.sep + "readme.docx"
        shutil.copyfile(src_doc_file_path, dst_doc_file_path)  # 移动文件
        pass
    def gen_passandtxt(self,file_count,word_title, list_files):
        print("Create PassWord and Pass.txt")
        message=SpriderTools.gen_password()
        password = "".join(message)
        content=""
        content = content + "\n分享"+str(file_count)+"个"+word_title+",总有一款适合您"
        content = content + "\n\r"
        content=content+"\n都到这里了您就支持一下呗!谢谢老铁~~"
        content=content+"\n\r"
        content = content + "\n\r"
        content = content + "\n\r"
        for files in list_files:
            content = content+str(files[0])+ "\n"
        content=content+"\n文件我就不一一列举了,送老铁一首打油诗"
        content=content+"\n学习知识费力气,"
        content=content+"\n收集整理更不易。"
        content=content+"\n知识付费甚欢喜,"
        content=content+"\n为咱码农谋福利。"
        content=content+"\n\r"
        content=content+"\n\r"
        content=content+"\n感谢您的支持"
        content=content+"\n\r" 
        content=content+"\n-------------------------------------------华丽分割线-------------------------------------------------------"
        content=content+"\n友情提醒解压密码:"+password+""
        full_path=self.file_path+os.sep+""+str(file_count)+"sell_pass.txt"
        with open(full_path, 'a', encoding='utf-8') as f:
            f.write(content)
if __name__ == "__main__":
    HuaJunCode().sprider("ASP")
    pass

至诚小区信息管理系统 v2.0

asp游戏发布站程序源码 v13.1

OpenWBS 标准版 v3.0 bulid0131

啊估软件站 v3.6.3

啊估文章站 v3.6.3

旅游报名系统 v4.35

最简单的ASP计数器 v2.3

ASP转PHP v1.0

微信多级分销O2O源码 v3.0

BZWB网络办公软件(OA) v2.7

BZWB律师事务所管理系统(Lawyer) v1.1

网人广告联盟系统 v2.0 bulid 090226

MOVCMS v2.1X

阿江ASP探针 v1.93

pucms婚纱摄影源码 v1.0

露珠源码站 v3.61

龙宇电子档案管理 v9.0

有天轻博客 v1.4.20151120

红金羚二手车交易平台网站 v1.0

BingSNS供销版O2O源码 v3.0

至诚学生评价管理系统 v1.0

贴吧论坛程序 v1.0

OK3W文章发布系统 v6.1

云梯端CRM通用版 v20151018

122411电视直播程序 v1.1

黄道吉日查询系统 v1.0

蓝色企业网站系统(含PC和wap端) v1.0

asp婚庆公司网站源码 v1.0

微商代理商授权查询系统 v1.0

花香hxcms X1.0

消防公司网站源码 v1.0

鱼X糗百笑话网站 v1.0

淘特房产网站管理系统(房产CMS) v8.0

佳易团购微信APP系统 v4.0

OpenWBS 开源免费企业商务建站系统 v1.3.2 正式版 bulid0901

2015冰上雅姿腾讯专题模版 v1.0

仿360网址导航 v6.27.0

小清微博(原百度收藏夹) v3.1

IDC销售系统 星外代理模版 v1.1

JinCMS智能建站系统 v1.0

权限管理流程审批系统源码 v1.0

八梦企业网站源码 v1.0

小型信息分类网下载 v1.0

QQ业务网源码带后台 v2.0

万奇企业网站管理系统 v1.0

睡死猪aspCMS绿色(无功能限制上传即用) v2015

睡死猪aspCMS蓝色(无功能限制上传即用) v2015

asp+excel图书在线检索系统手机版 v3.8

佳易商城系统微信APP版 v4.0

无名公交查询系统小偷 v6.0

橙子文章管理系统 v1.0

网上信访投诉举报系统 v6.7

直销类网站源码 v1.0

WEB指纹识别源码WINUIM v1.0

C#简单窗体换肤源码 v1.0

KesionEshop 在线商城系统 X1.0.150526(GBK)

BingSNS社交互动平台 R社区版 v3.0

BingSNS社交互动平台  V社区版 v1.0

aspcms红色企业网站源码 v1.0

技校网站管理系统天蓝色模板 v5.4.30

Angel工作室企业网站管理系统手机版 v1.0

睡死猪OA办公系统(无功能限制上传即用) v2015

sumwe评测网站程序(KesionCMS内核) v8.05

绵阳餐饮网 v2015

series iis node server engine v1.0.432

Angel工作室新闻网站管理系统 v1.3

帝豪汽车官网源码 v1.0

宁志中小学校网站管理系统 v5.3.20

冠龙科技企业网站管理系统 v2015

佳易商城系统 v3.5

不悔清爽留言本 v1.2

淮安114网址导航 v1.5

qq业务网站源码带支付宝转账功能 v1.0

企站帮企业网站管理系统 v1.0

瑞洽源码网整站源代码 v1.0

石材加工公司ASP网站源码 v1.0

Smile企业费用管理系统源码 v1.0

阿赛在线聊天系统(纯缓存或TXT) v6

家具企业网站源码 v2.0

马克斯程序CMS4.0(MaxCms4.0) v4.0 bulid2015.01.12

PJBlog5 v1.0

广告制作公司网站源码 v1.7

水果商城网站 v1.0

启动力企业建站系统 v3.0

温州鞋城优化版 v3.2

折扣网源码 - 海量折扣信息最新版 v1.0

AspNetPager控件及Demo源码  v7.4.4

自动更新demo v1.0

酒店主题Flash网站系统 v20141214

闪灵Flash CMS管理系统 v20141214

青辰协同办公管理系统OA v1.2

选课系统 v1.0

Liquid-Flash网站管理系统(带手机版) v1.0 build2014.11.25

naturale-Flash网站管理系统(带手机版) v1.0 build2014.11.25

canvas-Flash网站管理系统 v1.0 build2014.11.25

根发艺友情链接平台-免费网址导航版 v1.8

商达讯网店系统综合高级版 v10.01

云梯端OA系统 v2014.11

3D方块Flash网站系统 build 20141125

大气酒商城-仿酒仙网网站 v6.0

巨人企业网站管理系统 v2.0

ASP汽车租赁网站源码 v2.0

云梯端CRM客户管理系统 v2014.11.07

360风格网址导航 2014冬季版 v5

工作易人才招聘系统 v8.3 141106

QQ资源网 v4.0 SP2

云集科技笑话国庆特别版 v1.7.2

大气的机械自动化企业网站源码 v2014

淘宝客淘宝9块9源码 asp版 v1.1

飞象网址导航2014 v2.0 开源版

极瑞批量上传系统(写入数据库) v1.0

简单教师资源管理系统 v2.0

乐彼日文网店系统(56770 EShop) v14.1.0

乐彼繁体中文网店系统(56770 EShop) v14.1.0

乐彼简体中文网店系统(56770 EShop) v14.1.0

乐彼中英文网店系统(56770 EShop) v14.1.0

良精开源企业网站管理系统 v3.9

TTASP水电气查询系统 v2.0

维修类公司网站源码 v1.0

股票文章管理系统 v4.0.6

飞思旅游网站管理系统 v3.1

金黄色酒业公司网站源码 v1.0

千博电子企业网站系统 v2014 Build0802

千博机械机床网站系统 v2014 Build0802

千博制造模具网站系统 v2014 Build0802

QQ教程网源码 v1.0

微信订餐系统eims_wxdc v2.0

IdeaCMS开源网站管理系统 v6.1.9 UTF8

最新ASPCMS网络公司模板 v3.21

aspcms改的装饰行业整站 v2.1

DJ电台超强采集 v1.0

华夏信息网山东省网整站源码 v2.0

AUGMVC权限管理微信开发源码 v1.0

HGM环形菜单源码 v1.0

旅游公司网站源码 v1.0

展会手机站源码 v1.0

 

最后送大家一首诗:

山高路远坑深,

大军纵横驰奔,

谁敢横刀立马?

惟有点赞加关注大军。

 

目录
相关文章
|
7月前
|
开发框架 .NET BI
ASP.NET公立医院健康体检信息管理系统源码
健康体检信息管理系统是专门针对医院体检中心的日常业务运作的特点和流程,结合数字化医院建设要求进行设计研发的一套应用系统。该系统覆盖体检中心的所有业务,完成从预约、登记、收费、检查、检验、出报告、分析、报表等所有工作,规范了体检流程,提高了工作效率。体检系统为每个体检者建立一套完整的体检档案,与病人的门诊、住院诊疗信息有机集成, 真正体现数字化医院以病人为中心的建设原则。
118 1
|
7月前
|
开发框架 安全 .NET
ASP.NET三甲医院手术麻醉信息管理系统源码 对接麻醉机、监护仪、血气分析仪
辅助医院建设 •支持三级医院评级需求 •支持智慧医院评级需求 •支持互联互通评级需求 •支持电子病历评级需求
79 0
|
7月前
|
开发框架 Oracle 关系型数据库
ASP.NET实验室LIS系统源码 Oracle数据库
LIS是HIS的一个组成部分,通过与HIS的无缝连接可以共享HIS中的信息资源,使检验科能与门诊部、住院部、财务科和临床科室等全院各部门之间协同工作。 
85 4
|
7月前
|
SQL 开发框架 .NET
分享53个ASP江湖论坛源码,总有一款适合您
分享53个ASP江湖论坛源码,总有一款适合您
|
7月前
|
开发框架 前端开发 JavaScript
盘点72个ASP.NET Core源码Net爱好者不容错过
盘点72个ASP.NET Core源码Net爱好者不容错过
174 0
|
6月前
|
开发框架 前端开发 .NET
LIMS(实验室)信息管理系统源码、有哪些应用领域?采用C# ASP.NET dotnet 3.5 开发的一套实验室信息系统源码
集成于VS 2019,EXT.NET前端和ASP.NET后端,搭配MSSQL 2018数据库。系统覆盖样品管理、数据分析、报表和项目管理等实验室全流程。应用广泛,包括生产质检(如石化、制药)、环保监测、试验研究等领域。随着技术发展,现代LIMS还融合了临床、电子实验室笔记本和SaaS等功能,以满足复杂多样的实验室管理需求。
85 3
LIMS(实验室)信息管理系统源码、有哪些应用领域?采用C# ASP.NET dotnet 3.5 开发的一套实验室信息系统源码
|
6月前
|
Web App开发 开发框架 .NET
ASP淘特二手房房地产系统源码
ASP淘特二手房房地产系统源码主要提供了房屋信息出售、出租、求购、求租、合租等信息的发布平台。 本系统已提供成熟的赢利模式,通过向中介会员提供发布信息平台收取会员费为网站的主要收入来源,中介会员申请开通后,可以添加经济人和管理中介公司所属的房源信息。可在线续费购买服务期(支付宝接口)、购买置顶等。
74 2
|
7月前
|
开发框架 前端开发 .NET
ASP.NET云LIS区域检验云SaaS平台源码
云LIS区域检验平台由BS架构组成。统一接入区域内全部的检验数据,通过检验云,实现区域内检验信息数据共享,通过区域质控模块,对各个分支机构产生的报告进行质控,从而实现检验结果互认。同时,对各医疗机构上传的样本检验数据进行统一管理。
117 1
ASP.NET云LIS区域检验云SaaS平台源码
|
7月前
|
开发框架 前端开发 JavaScript
JavaScript云LIS系统源码ASP.NET CORE 3.1 MVC + SQLserver + Redis医院实验室信息系统源码 医院云LIS系统源码
实验室信息系统(Laboratory Information System,缩写LIS)是一类用来处理实验室过程信息的软件,云LIS系统围绕临床,云LIS系统将与云HIS系统建立起高度的业务整合,以体现“以病人为中心”的设计理念,优化就诊流程,方便患者就医。
87 0
|
7月前
|
开发框架 搜索推荐 .NET
ASP.NET体检中心源码,实现检前、检中、检后全流程管理
健康体检系统遵循整个健康体检的实际流程,以提高工作效率、降低错检、防止漏检提高人性化服务水平为目的,在体检过程中可以高效、自动化、人性化的处理数据与提供服务。针对体检流程中工作强度在时间分配上不均匀等特点,解决了体检信息处理效率问题,在不增加体检中心人力资源投入或少投入的基础上,提升信息处理的效率,从而突破体检中心日处理体检人数的上限,为体检中心创造更大经济效益的同时,还能有效的降低体检工作者的劳动强度。
127 5

相关实验场景

更多