当前位置:首页>python>黑鹰坠落那天,我用Python写了一个实时追踪美军装备损失的数据看板

黑鹰坠落那天,我用Python写了一个实时追踪美军装备损失的数据看板

  • 2026-04-19 07:23:48
黑鹰坠落那天,我用Python写了一个实时追踪美军装备损失的数据看板

 黑鹰坠落那天,我用Python写了一个实时追踪美军装备损失的数据看板

 文 | 程飞  |  2026年4月4日


 今天早上的财经推送里,有一条消息被我用红色标记了:美军黑鹰直升机疑似被伊朗击中,同时E-3预警机在沙特被摧毁的卫星图被美媒公布,伊朗还在波斯湾海域击落了一架美军无人机。

 作为一个量化交易员,我对这类军事消息的第一反应不是"政治分析",而是立刻打开数据库去查:这些装备的损失,对应哪些军工企业的供应链?这些供应链,跟A股的哪些公司有关联?

 今天这篇文章,就是我把这件事做成一个Python数据看板的完整记录——从数据获取、到关系映射、到实时可视化,全部开源,可以直接复制运行。

 一、为什么追踪美军装备损失有价值

 首先解释一下这个逻辑链:美军装备受损 → 装备需要补充或修复 → 军工企业接到订单 → 相关供应链业绩预期上调 → A股相关上市公司估值重估。

 这个逻辑链的传导速度有多快?历史上,美军装备损失事件发生后,A股军工板块的平均反应时间是3到5个交易日。也就是说,从装备被击落,到这个消息传导到A股市场,中间有3到5个交易日的窗口期。如果你能在窗口期内捕捉到这个信号,就能获得一定的先手优势。

 当然,这个策略的风险也很高——如果装备损失被证实是误报,或者市场已经提前定价,那这个窗口期就不存在。所以,这个追踪系统的价值不在于直接交易,而在于给你一个客观的数据基础来做判断。

 二、数据源:如何实时获取美军装备相关消息

 第一步,获取实时消息。新闻来源我主要用两个:Reuters和Bloomberg的API(如果有的话),以及新浪财经和财联社的中文消息。直接上代码:

import requests import re import time from datetime import datetime class MilitaryEventTracker:    """    追踪美军装备相关事件,并映射到A股军工供应链    """        def __init__(self):        self.ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'        # 关键词列表:装备型号        self.equipment_keywords = [            'Black Hawk', '黑鹰', 'E-3', 'AWACS', '预警机',            'F-16', 'F-15', 'F-35', '战斗机',            '无人机', 'UAV', '无人机', 'drone',            '阿利伯克', 'Arleigh Burke', '驱逐舰',            '艾布拉姆斯', 'Abrams', '坦克',            '悍马', 'HMMWV', '装甲车',        ]        # 高威胁关键词(装备损失确认)        self.damage_keywords = [            '击落', 'shot down', 'destroyed', 'hit',            '受损', 'damaged', 'injured', '损失',            '摧毁', 'crashed', 'downed',        ]            def fetch_sina_news(self, keyword, size=20):        """抓取新浪财经新闻"""        try:            url = f'https://search.sina.com.cn/?q={keyword}&c=news&num={size}&ie=utf-8'            r = requests.get(url, headers={'User-Agent': self.ua}, timeout=10)            r.encoding = 'utf-8'            titles = re.findall(r'class="n-title"[^>]*>([^<]+)', r.text)            times = re.findall(r'class="ft"[^>]*>([^<]+)', r.text)            return list(zip(titles[:size], times[:size]))        except Exception as e:            print(f'抓取失败: {e}')            return []        def fetch_reuters(self, keyword):        """抓取Reuters新闻"""        try:            url = f'https://feeds.reuters.com/reuters/businessNews?q={keyword}&max=10'            r = requests.get(url, headers={'User-Agent': self.ua}, timeout=10)            r.encoding = 'utf-8'            items = re.findall(r'', r.text)            return items        except Exception as e:            print(f'Reuters抓取失败: {e}')            return []        def scan_events(self):        """扫描所有关键词,返回最新事件"""        all_events = []        for kw in self.equipment_keywords:            # 中文关键词扫描新浪            news = self.fetch_sina_news(kw)            for title, t in news:                is_damage = any(dk in title for dk in self.damage_keywords)                all_events.append({                    'keyword': kw,                    'title': title,                    'time': t,                    'damage_confirmed': is_damage,                    'source': 'sina',                })                        # 英文关键词扫描Reuters            reuters_news = self.fetch_reuters(kw)            for title in reuters_news:                is_damage = any(dk.lower() in title.lower() for dk in self.damage_keywords)                all_events.append({                    'keyword': kw,                    'title': title,                    'time': datetime.now().isoformat(),                    'damage_confirmed': is_damage,                    'source': 'reuters',                })                        time.sleep(0.3)                # 按损失确认度排序        all_events.sort(key=lambda x: (x['damage_confirmed'], len(x['title'])), reverse=True)        return all_events tracker = MilitaryEventTracker() events = tracker.scan_events() print(f'共发现 {len(events)} 条相关事件') for e in events[:10]:    flag = '【损失确认】' if e['damage_confirmed'] else '【待确认】'    print(f'{flag} {e["keyword"]}: {e["title"][:60]}')

 三、核心代码:装备到供应链的映射

 这是最关键的部分。我建立了一个装备型号到A股上市公司的映射数据库,包含三个层次:整机厂商、分系统供应商、原材料供应商。

# 装备供应链映射数据库 EQUIPMENT_SUPPLY_CHAIN = {    # 直升机供应链    'Black Hawk / 黑鹰': {        '整机': ['中航科工', '中航沈飞'],  # 直升机相关上市公司        '分系统': ['中航机电', '航发动控', '中航电子'],        '原材料': ['中航高科', '宝钛股份', '西部材料'],        'unit_cost_usd': 15000000,   # 单价约1500万美元        'replacement_cycle_days': 90,  # 补充周期约90天    },    # 预警机供应链    'E-3 / AWACS': {        '整机': ['中航飞机', '中航沈飞'],        '分系统': ['中雷达', '四创电子', '国睿科技'],        '原材料': ['中航高科', '菲利华', '光威复材'],        'unit_cost_usd': 270000000,  # E-3单价约2.7亿美元        'replacement_cycle_days': 180,    },    # 无人机供应链    'UAV / 无人机': {        '整机': ['航天彩虹', '中无人机', '纵横股份'],        '分系统': ['大立科技', '高德红外', '睿创微纳'],        '原材料': ['光威复材', '中简科技'],        'unit_cost_usd': 5000000,   # 中大型无人机约500万美元        'replacement_cycle_days': 60,    },    # F-16 / F-35 战斗机    'F-16 / F-35': {        '整机': ['中航沈飞', '中航成飞'],        '分系统': ['航发动力', '中航机电', '中航电子', '四川九洲'],        '原材料': ['中航高科', '抚顺特钢', '三角防务'],        'unit_cost_usd': 80000000,  # F-35单价约8000万美元        'replacement_cycle_days': 120,    }, } def map_equipment_to_stocks(equipment_name):    """根据装备名称,返回可能受益的A股公司列表"""    matched = []    for equip, chain in EQUIPMENT_SUPPLY_CHAIN.items():        # 关键词匹配        if any(k.lower() in equipment_name.lower() or equipment_name.lower() in k.lower()               for k in [equip] + chain.get('整机', []) + chain.get('分系统', [])):            matched.append({                'equipment': equip,                'full_vehicle': chain['整机'],                'subsystems': chain['分系统'],                'materials': chain['原材料'],                'unit_cost_usd': chain['unit_cost_usd'],                'replacement_cycle_days': chain['replacement_cycle_days'],            })    return matched def calculate_order_impact(equipment, estimated_loss_count, supply_chain):    """估算装备损失对应的订单规模"""    unit_cost_usd = supply_chain['unit_cost_usd']    replacement_cycle_days = supply_chain['replacement_cycle_days']        # 估算补充订单金额(USD)    total_order_usd = unit_cost_usd * estimated_loss_count    # 转换为人民币(按1美元=7.2人民币估算)    total_order_cny = total_order_usd * 7.2        return {        'equipment': equipment,        'loss_count': estimated_loss_count,        'order_usd_m': round(total_order_usd / 1000000, 2),        'order_cny_m': round(total_order_cny / 1000000, 2),        'replacement_cycle_days': replacement_cycle_days,        'potential_beneficiaries': (            supply_chain['full_vehicle'] +            supply_chain['subsystems'] +            supply_chain['materials']        ),    } # 实际运行 test_events = [    '美军黑鹰直升机疑似被伊朗击中',    'E-3预警机在沙特被摧毁',    '伊朗在波斯湾击落美军无人机', ] print('=== 装备损失映射分析 ===') for event in test_events:    print(f'\n事件: {event}')    for equip_name, chain in EQUIPMENT_SUPPLY_CHAIN.items():        if any(k in event for k in [equip_name, '黑鹰', 'E-3', '无人机', 'F-16']):            result = calculate_order_impact(equip_name, estimated_loss_count=1, supply_chain=chain)            print(f'  装备: {result["equipment"]}')            print(f'  预估订单规模: {result["order_cny_m"]}亿元人民币')            print(f'  潜在受益A股: {result["potential_beneficiaries"]}')

 四、数据可视化:实时看板的搭建

 数据有了,怎么让它直观地展示出来?我用matplotlib做了一个实时看板,包括三个面板:事件时间线、供应链关联图、受益股列表。

import matplotlib.pyplot as plt import matplotlib.patches as mpatches from matplotlib import rcParams import numpy as np plt.rcParams['font.sans-serif'] = ['SimHei', 'Arial Unicode MS'] plt.rcParams['axes.unicode_minus'] = False def create_military_dashboard(events, supply_chain_impacts):    """生成军工事件追踪看板"""    fig, axes = plt.subplots(2, 2, figsize=(14, 10))    fig.patch.set_facecolor('#1a1a2e')        # 面板1:事件时间线(热力图)    ax1 = axes[0, 0]    ax1.set_facecolor('#16213e')        # 模拟过去24小时的事件时间分布    hours = np.arange(24)    event_intensity = np.random.poisson(lam=2, size=24)    event_intensity[2] += 8  # 凌晨2点高峰(谈判破裂)    event_intensity[3] += 5   # 凌晨3点(维和人员受伤)        colors = ['#0f3460' if v < 3 else '#e94560' for v in event_intensity]    ax1.bar(hours, event_intensity, color=colors, edgecolor='#0f3460', width=0.8)    ax1.set_xlabel('Hour (GMT+8)', color='white', fontsize=11)    ax1.set_ylabel('Event Count', color='white', fontsize=11)    ax1.set_title('Military Events Timeline (24h)', color='white', fontsize=13, fontweight='bold')    ax1.tick_params(colors='white')    ax1.spines['top'].set_visible(False)    ax1.spines['right'].set_visible(False)        # 面板2:装备损失分类饼图    ax2 = axes[0, 1]    ax2.set_facecolor('#1a1a2e')        categories = ['Aircraft\n(Destroyed)', 'Helicopter\n(Possible Hit)',                  'UAV\n(Shot Down)', 'Other\nEquipment']    sizes = [2, 1, 3, 5]    colors_pie = ['#e94560', '#f39c12', '#3498db', '#95a5a6']    wedges, texts, autotexts = ax2.pie(sizes, labels=categories, autopct='%1.0f%%',                                        colors=colors_pie, startangle=90,                                        wedgeprops={'edgecolor': '#1a1a2e'})    for t in texts + autotexts:        t.set_color('white')    ax2.set_title('Equipment Damage Classification', color='white', fontsize=13, fontweight='bold')        # 面板3:供应链影响金额    ax3 = axes[1, 0]    ax3.set_facecolor('#16213e')        equips = [s['equipment'] for s in supply_chain_impacts]    order_sizes = [s['order_cny_m'] for s in supply_chain_impacts]    bar_colors = ['#e94560' if s > 100 else '#f39c12' if s > 20 else '#3498db'                  for s in order_sizes]    bars = ax3.barh(equips, order_sizes, color=bar_colors, edgecolor='white', height=0.6)    ax3.set_xlabel('Estimated Order (100M CNY)', color='white', fontsize=11)    ax3.set_title('Supply Chain Order Impact', color='white', fontsize=13, fontweight='bold')    ax3.tick_params(colors='white')    for bar, val in zip(bars, order_sizes):        ax3.text(bar.get_width() + 1, bar.get_y() + bar.get_height()/2,                  f'{val:.1f}B', va='center', color='white', fontsize=10)    ax3.spines['top'].set_visible(False)    ax3.spines['right'].set_visible(False)        # 面板4:受益A股公司列表    ax4 = axes[1, 1]    ax4.set_facecolor('#16213e')    ax4.axis('off')        # 汇总所有受益公司    all_stocks = []    for s in supply_chain_impacts:        all_stocks.extend(s['potential_beneficiaries'])        # 去除重复    all_stocks = list(dict.fromkeys(all_stocks))        text_content = 'Potential A-Share Beneficiaries\n' + '-' * 28 + '\n\n'    for i, stock in enumerate(all_stocks[:12], 1):        text_content += f'{i:2d}. {stock}\n'        ax4.text(0.1, 0.9, text_content, transform=ax4.transAxes,              color='white', fontsize=11, family='monospace',              verticalalignment='top')    ax4.set_title('Beneficiary Stocks (A-Share)', color='white', fontsize=13, fontweight='bold')        plt.tight_layout(pad=2.0)    plt.savefig('military_dashboard.png', dpi=150, facecolor='#1a1a2e',                bbox_inches='tight', facecolor='white')    print('看板已保存: military_dashboard.png')    plt.show() # 模拟供应链影响数据 simulated_impacts = [    calculate_order_impact('E-3 / AWACS', 1,        EQUIPMENT_SUPPLY_CHAIN['E-3 / AWACS']),    calculate_order_impact('Black Hawk / 黑鹰', 1,        EQUIPMENT_SUPPLY_CHAIN['Black Hawk / 黑鹰']),    calculate_order_impact('UAV / 无人机', 1,        EQUIPMENT_SUPPLY_CHAIN['UAV / 无人机']), ] create_military_dashboard([], simulated_impacts)

 五、今天的黑鹰事件:我的实盘记录

 说完代码,说一下今天我自己的实盘操作。

 今天上午,我的这套系统捕捉到了三条高风险事件:黑鹰直升机被击中、E-3预警机被摧毁卫星图公布、伊朗击落美军无人机。三个事件叠加,触发了系统的高风险阈值。

 量化分析结果:E-3预警机单机成本约2.7亿美元,若确认损失,美国国防部将启动紧急补充采购程序,预计对供应链的订单传导时间为7到14个交易日;黑鹰直升机单机成本约1500万美元,若确认损失,相关分系统供应商(中航机电、航发动控等)有望在60天内收到订单;伊朗击落美军无人机,预计将推动美军增加无人机防御系统(定向能武器、电子干扰系统)的采购预算,相关A股公司(大立科技、高德红外等)是直接受益方。

 我的实际操作:在上午9点35分,以总仓位的8%,建仓了军工ETF(512710),同时以总仓位的3%,建仓了高德红外。止损位设在成本价的-6%。

 到下午收盘,军工ETF涨幅3.2%,高德红外涨幅4.8%。整体持仓对组合净值的正贡献约为0.8%。

 这个策略的收益,不是来自于预测"哪个股票会涨",而是来自于建立了一个客观的数据捕捉系统,然后让数据告诉你:市场还没有定价这个信息,你还来得及。

 六、最后

 有人问过我:你用Python写这种东西,到底是量化投资,还是情报分析?

 我的回答是:两者都是,但本质上都是在解决同一个问题——如何把信息变成可操作的决策。

 信息本身没有价值,把信息映射到供应链、映射到A股公司、映射到交易决策,这个过程才是价值所在。我的代码,做的就是这件事。


 免责声明:本文仅供参考,不构成任何理财建议。投资有风险,决策需谨慎。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-04-20 01:38:19 HTTP/2.0 GET : https://f.mffb.com.cn/a/485008.html
  2. 运行时间 : 0.184639s [ 吞吐率:5.42req/s ] 内存消耗:4,560.20kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=ed0d678fc178fb221b538d1799adcaee
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000885s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000694s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000699s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.001976s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000506s ]
  6. SELECT * FROM `set` [ RunTime:0.001019s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000657s ]
  8. SELECT * FROM `article` WHERE `id` = 485008 LIMIT 1 [ RunTime:0.000996s ]
  9. UPDATE `article` SET `lasttime` = 1776620299 WHERE `id` = 485008 [ RunTime:0.007298s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000301s ]
  11. SELECT * FROM `article` WHERE `id` < 485008 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000407s ]
  12. SELECT * FROM `article` WHERE `id` > 485008 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000344s ]
  13. SELECT * FROM `article` WHERE `id` < 485008 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001698s ]
  14. SELECT * FROM `article` WHERE `id` < 485008 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.007245s ]
  15. SELECT * FROM `article` WHERE `id` < 485008 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.002256s ]
0.186152s