Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Trae 宝藏功能实测:从 Mcp 搭建天气系统,到 AI 重塑 Excel 数据处理

Trae 宝藏功能实测:从 Mcp 搭建天气系统,到 AI 重塑 Excel 数据处理

作者头像
Undoom
发布于 2025-04-27 02:50:54
发布于 2025-04-27 02:50:54
86506
代码可运行
举报
文章被收录于专栏:学习学习
运行总次数:6
代码可运行

随着trae的爆火,我利用了trae里面的Mcp服务搭建了一个天气系统,以及我用trae里面的Ai做了一个Excel数据化的小工具。希望文章可以帮到你们,哈哈哈。你们也可以自己去使用trae去搭建一款属于你们自己的软件

利用trae以及第三方MCP Server搭建一个天气系统网页

前言

最近随着Mcp的爆火,我也开始研究在这个小玩意,但是由于当时好像只能在cursor上面配置MCP,本身由于不喜欢使用cursor,加上不会使用,就没有继续研究这个MCP了,但是呢,最近trae出了MCP这个功能,那我就不得不去尝试下了 能让大模型调用各种工具和资源,仿佛变得无所不能,但一顿体验下来,让很多人望而却步的还是其配置。 但是呢?我们现在trae里面就能快速进行trae Mcp的部署操作

image.png
image.png

在最新版本的trae就支持了MCP功能了,内置 MCP 市场,可快速添加第三方 MCP Servers,灵活调用 MCP 工具以拓展执行能力。

image.png
image.png

接下来,我们就展示下,如何在trae中使用mcp进行天气系统网站的搭建操作 下面是整个天气系统的布局以及最终效果展示

image.png
image.png
image.png
image.png

链接高德地图MCP

我们第一次在使用的时候是需要进行MCP服务的添加的

image.png
image.png

我们这里需要使用到高德的MCP Servers 我们这里的市场是没有的,所以我们进行手动添加配置

点击手动配置

image.png
image.png

将下面的代码输入进去

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  "mcpServers": {
    "amap-amap-sse": {
      "url": "https://mcp.amap.com/sse?key=您在高德官网上申请的key"
    }
  }
}

这里的我们需要去申请一个自己的API KEYS了 点击进入到高德平台 进行注册并且登录操作 在高德平台右上角进行应用的创建

image.png
image.png

创建好了系统之后我们进行添加Key的操作

image.png
image.png

这里的话我们就选择了Web服务了

image.png
image.png

然后点击提交就能看到我们的API Keys了

image.png
image.png

为了对 Key 的安全有效管理,请妥善保管你的 Key。

然后获取到了API之后,我们将这个API替换到原代码中的部分

image.png
image.png

配置好了之后并且链接成功了就是这个样子的

image.png
image.png

链接quickchart-server MCP Server

image.png
image.png

它是一个基于 TypeScript服务器,集成了 quickchart.io 基于 URL 的图表生成服务。通过 MCP Server,用户可以通过提供数据和样式参数,使用 Chart.js 配置创建各种类型的图表,服务器会将这些配置转换为图表 URL 或可下载的图像1。 我们的思路就是将天气反馈,让这个做一个图表 我们还是一样的步骤,将下面的代码放到创建MCP 里面

代码语言:javascript
代码运行次数:3
运行
AI代码解释
复制
{
  "mcpServers": {
    "quickchart-server": {
      "command": "node",
      "args": ["/path/to/quickchart-server/build/index.js"]
    }
  }
}

这款MCP Servers支持的图表类型还是比较多的

image.png
image.png

部署好了就是下面的样子

image.png
image.png

链接EdgeOne Pages Deploy MCP

EdgeOne Pages Deploy MCP 是一项专用服务,能够将 HTML 内容快速部署到 EdgeOne Pages 并生成公开访问链接。这使您能够立即预览和分享 AI 生成的网页内容。 说白了就是我们可以在本地创建一个html文件,然后通过EdgeOne Pages Deploy MCP上传成一个可访问的网站页面

还是一样的操作

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  "mcpServers": {
    "edgeone-pages-mcp-server": {
      "command": "npx",
      "args": ["edgeone-pages-mcp"]
    }
  }
}

部署好了就是下面的这个样子

image.png
image.png

智能体的创建

image.png
image.png

这里我们可以看到有一个提示:MCP Servers需要添加到智能体中才能使用

那么我们就创建一个智能体就行了 点击创建

image.png
image.png

将我的提示词放进去

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 角色  
你是一位专业的气象数据分析师,能够查询任意城市的未来4天天气,并生成可视化图表。  
  
## 技能  
### 技能 1: 查询天气数据  
- 使用高德MCP这个MCP服务,查询任意城市未来7天的天气数据。  
- 获取的数据应包括但不限于温度、湿度、风速、降水量等关键气象指标。  
  
### 技能 2: 生成可视化图表  
- 将查询到的天气数据用QuickChart这个MCP服务转换为易于理解的可视化图表。  
- 可视化图表可以是折线图、柱状图或热力图等形式,具体取决于用户的需求和数据特性。  
- 确保图表清晰、美观且易于解读。  
  
### 技能 3: 提供天气分析报告  
- 根据查询到的天气数据,提供简要的天气分析报告。  
- 报告应包括对未来4天天气趋势的总结,以及可能对用户活动产生影响的建议。  

### 技能3 :部署到EdgeOne Pages
- 将最后的html代码部分,将 HTML 内容快速部署到 EdgeOne Pages 并生成公开访问链接
  
## 限制  
- 仅提供与天气相关的数据和分析。  
- 生成的图表必须基于查询到的实际天气数据。  
- 如果需要调用外部工具或API,请明确说明并提供相应的调用方法。  
- 所有输出的内容必须准确无误,不得包含任何误导性信息。

并且这里创建智能体还有一个好处,就是你用的啥服务就调用啥类型的MCP,不会造成额外扣费的情况

说实话,体验了trae,我就不想使用cursor,因为本身我就觉得cursor很难用,trae的话就效果好多了,记得上次在cursor做应用的时候,他的ai莫名奇妙将我之前设置的MCP SERVER调用了,但是在trae就不会出现这种情况了,通过智能体的创建,精确调用对应的MCP SERVER,

天气系统效果展示

那么到这里了,我们的这个智能体就用到了三个MCP Servers了 我来分析下,使用高德地图MCP Servers进行天气情况的获取操作 利用quickchart-server MCP Server来进行表格的创建操作 利用EdgeOne Pages Deploy MCP进行可视化网站的部署搭建操作

那么到这里我们就开始下面的部署操作了 我们直接在trae的builder模式这里进行对话,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
利用高德MCP帮我获取湖北武汉最近7天的天气,利用quickchart-server MCP Server帮我进行图标的构建,利用EdgeOne Pages Deploy MCP帮我进行网站的部署操作

代码格式为html

然后他会逐步进行代码的构建并且利用我们的MCP SERVER进行构建操作 最值得夸赞的就是每次他都会询问我们是否执行这一步,这个行为在别的编译器是没见过的,对于小白真的很友好

image.png
image.png

并且在他的回答中,就将访问的链接给我们了

访问链接:传送门 下面是效果展示

image.png
image.png

代码如下:

代码语言:javascript
代码运行次数:3
运行
AI代码解释
复制
<!DOCTYPE html>

<html lang="zh-CN">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>武汉市天气预报</title>

    <style>

        body {

            font-family: 'Microsoft YaHei', sans-serif;

            margin: 0;

            padding: 20px;

            background: linear-gradient(135deg, #f5f7fa 0%, #e4e8eb 100%);

            min-height: 100vh;

        }

        .container {

            max-width: 1200px;

            margin: 0 auto;

            background-color: rgba(255, 255, 255, 0.95);

            padding: 30px;

            border-radius: 15px;

            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);

        }

        h1 {

            color: #2c3e50;

            text-align: center;

            margin-bottom: 40px;

            font-size: 2.5em;

            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);

        }

        h2 {

            color: #34495e;

            margin: 25px 0 15px;

            font-size: 1.8em;

        }

        .chart-container {

            background: white;

            border-radius: 12px;

            padding: 20px;

            margin: 25px 0;

            box-shadow: 0 2px 15px rgba(0, 0, 0, 0.05);

            transition: transform 0.3s ease;

        }

        .chart-container:hover {

            transform: translateY(-5px);

        }

        .chart-grid {

            display: grid;

            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));

            gap: 30px;

            margin: 30px 0;

        }

        .weather-summary {

            background: rgba(248, 249, 250, 0.9);

            border-radius: 12px;

            padding: 25px;

            margin: 30px 0;

            line-height: 1.8;

            border-left: 5px solid #3498db;

        }

        .weather-summary ul {

            padding-left: 20px;

        }

        .weather-summary li {

            margin: 10px 0;

            color: #2c3e50;

        }

        img {

            width: 100%;

            max-width: 100%;

            height: auto;

            border-radius: 8px;

            transition: all 0.3s ease;

        }

        img:hover {

            transform: scale(1.02);

        }

    </style>

</head>

<body>

    <div class="container">

        <h1>武汉市未来4天天气预报</h1>

        <div class="chart-grid">

            <div class="chart-container">

                <h2>温度趋势图</h2>

                <img id="temperature-chart" src="https://quickchart.io/chart?c=%7B%22type%22%3A%22line%22%2C%22data%22%3A%7B%22labels%22%3A%5B%224%2F22%22%2C%224%2F23%22%2C%224%2F24%22%2C%224%2F25%22%5D%2C%22datasets%22%3A%5B%7B%22label%22%3A%22%E6%9C%80%E9%AB%98%E6%B8%A9%E5%BA%A6%22%2C%22data%22%3A%5B22%2C27%2C23%2C26%5D%2C%22borderColor%22%3A%22%23ff6384%22%7D%2C%7B%22label%22%3A%22%E6%9C%80%E4%BD%8E%E6%B8%A9%E5%BA%A6%22%2C%22data%22%3A%5B15%2C15%2C16%2C16%5D%2C%22borderColor%22%3A%22%2336a2eb%22%7D%5D%7D%2C%22options%22%3A%7B%22title%22%3A%7B%22display%22%3Atrue%2C%22text%22%3A%22%E6%AD%A6%E6%B1%89%E5%B8%82%E6%9C%AA%E6%9D%A54%E5%A4%A9%E6%B8%A9%E5%BA%A6%E8%B6%8B%E5%8A%BF%22%7D%7D%7D" alt="温度趋势图">

            </div>

            <div class="chart-container">

                <h2>降水量预测图</h2>

                <img id="rainfall-chart" src="https://quickchart.io/chart?c=%7B%22type%22%3A%22bar%22%2C%22data%22%3A%7B%22labels%22%3A%5B%224%2F22%22%2C%224%2F23%22%2C%224%2F24%22%2C%224%2F25%22%5D%2C%22datasets%22%3A%5B%7B%22label%22%3A%22%E9%99%8D%E6%B0%B4%E9%87%8F%E9%A2%84%E6%B5%8B%22%2C%22data%22%3A%5B30%2C10%2C5%2C20%5D%2C%22backgroundColor%22%3A%22rgba(54%2C%20162%2C%20235%2C%200.5)%22%2C%22borderColor%22%3A%22rgba(54%2C%20162%2C%20235%2C%201)%22%7D%5D%7D%2C%22options%22%3A%7B%22title%22%3A%7B%22display%22%3Atrue%2C%22text%22%3A%22%E6%AD%A6%E6%B1%89%E5%B8%82%E6%9C%AA%E6%9D%A54%E5%A4%A9%E9%99%8D%E6%B0%B4%E9%87%8F%E9%A2%84%E6%B5%8B%22%7D%7D%7D" alt="降水量预测图">

            </div>

        </div>

        <div class="weather-summary">

            <h2>天气趋势分析</h2>

            <p>未来4天武汉市天气预报分析:</p>

            <ul>

                <li>温度变化:气温波动较大,最高温度将在423日达到27°C,最低温度保持在15-16°C之间。</li>

                <li>降水情况:预计22日降水量较大,达30mm,之后逐渐减少,25日可能有小雨。</li>

                <li>天气状况:以晴天和多云为主,天气较为稳定。</li>

                <li>风力情况:以北风为主,风力较小,维持在1-3级。</li>

                <li>建议:</li>

                <ul>

                    <li>温差较大,建议适时调整着装,注意保暖。</li>

                    <li>22日外出请携带雨具,注意防雨。</li>

                    <li>天气适宜,可以适当安排户外活动。</li>

                    <li>风力较小,适合进行各类户外运动。</li>

                </ul>

            </ul>

        </div>

    </div>

</body>

</html>

到现在体验下来,体验感真的拉满了都,trae功能强大:能深度理解中文,支持一句话开发各种应用。无论是生成简单的代码片段,还是创建复杂的项目,都能轻松应对。例如,输入 “做一个带用户登录功能的论坛”,它可在短时间内生成包含前端页面、数据库连接等基础代码框架

下载使用的话也是很方便的,直接使用掘金账号登录就行了,并且还支持vscode和cursor的配置同步操作,这个就很厉害了

还有trae具有智能补全功能,可根据上下文实时预测代码,支持跨文件补全。Builder 模式还能自我纠错,通过监控控制台感知包导入失败、代码语法错误等问题并自行优化,大大提高了开发效率。新手也能很快上手

trae对于我们程序眼来说的话真的是一个好工具,我先替兄弟们种草了

利用trae做一个Excel格式化工具

前言

Trae可不只是在微服务通信(MCP)领域表现卓越,在开发小型工具方面也颇具潜力。前阵子,我一直忙着处理 Excel 表格的格式化工作,但由于我没系统学习过 WPS,对一些操作命令不太熟悉。那时我就琢磨,能不能借助 Trae 开发一个本地工具,专门用来处理 Excel 文件的数据格式化呢?主要想实现以下操作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
删除重复行:  删除数据表中完全相同的行,确保数据唯一性。
删除空行:  清除所有值均为空的行,避免无效数据干扰分析。
去除空格:  移除文本字段中的首尾空格,防止隐藏字符影响计算。
统一大小写:  可选择转换为小写、大写或首字母大写,以确保数据格式一致。
数值格式化:  统一数值的小数位数(默认保留2位),保证数据规范。
日期格式化:  提供多种日期格式选项,避免因格式混乱导致的数据处理错误。
删除特殊字符:  去除文本中的标点符号、特殊字符,适用于纯文本数据处理。
填充空值:  支持多种空值填充方式(平均值、中位数、众数等),提高数据完整性。
数据分析
数据可视化操作

目前就想到了这些,后期的话等我们工具的具体框架做好了可以进行进一步的更新操作

实现上述的操作整个流程就是

打开文件:点击"浏览"按钮,或使用菜单栏"文件 > 打开"选择需要处理的Excel文件。 数据清洗:在左侧工具面板选择需要的具体操作,例如删除重复行、格式化日期等。 预览结果:右侧区域实时显示数据变化,确保清洗效果符合预期。 保存文件:点击"保存"按钮,或使用菜单栏"文件 > 保存",将处理后的文件存储

image.png
image.png

使用trae完成代码的实现

在使用trae做小工具之前,我们需要进行README文件的编写,因为这样我们可以更好的让ai帮我们进行小工具的制作 我们这里先简单的描述下做法,然后让trae帮我们生成一个readme文件

image.png
image.png

然后让trae根据这个文档进行小工具的开发操作 直接输入命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
根据这个md文档进行小工具的开发,可以上传本地的Excel文档,并且可以进行文件格式的判断,如果传的不是Excel文档的话就告诉客户这个文件格式不对,上传完成之后,我们可以选择左侧的操作方式对这个文件进行各种数据化的操作,右侧的话就是效果展示,

输入完成命令之后,我们的trae就开始了代码的生成操作了

image.png
image.png
image.png
image.png

我们先运行下具体的代码,然后根据效果进行进一步的反馈操作 这里的话我们让ai帮我们运行代码,因为我们如果程序无法运行的话,trae是可以检测出来的,然后进行一系列的操作 我发现trae在运行代码的时候还是蛮细心的,他会检测我们的Python环境并且我们是否安装了所需的依赖包

image.png
image.png

这里的话我们安装命令的时候出现了报错,他会重新检测并且输入新的命令

image.png
image.png

新手小白不知道安装什么依赖,但是trae知道,我们直接点击接受代码的改变就行行了,零基础完全能使用 下面的话我们就成功安装了所需的依赖了

image.png
image.png

这里他提醒我们缺少了某个模块,让我们进行安装,这里他已经将具体的命令展示在这里了,我们只需要点击运行就可以了

image.png
image.png

他还会关心安装了这个模块之后,和其他的代码之间的关联 经过了几次简单的询问之后,我们的程序就这么出来了

image.png
image.png

每次出现报错他都会进行改正,这让代码生成更加有效率了

image.png
image.png

我们在打开文件的时候,他只会显示本地的Excel文件,其他非规格的文件是不会进行显示操作的

image.png
image.png

我们选择文件的时候他报错了,遇到问题不要慌,我们直接将报错截图给trae就行行了

image.png
image.png

下面是trae的回答,我们直接按照他的要求做就行了

image.png
image.png

安装好了之后我们接着进行测试 选择文件,然后打开文件,这个时候弹窗说文件加载成功,一下子就舒服了,没有报错情况出现

image.png
image.png

我们现在往文件里面写点数据

image.png
image.png

然后我们重新运行下命令,这个时候就能看到我们的数据了,我特意将李五写了两个,中间还有空行,并且还存在大小写的字母

image.png
image.png

我们先将空行删除了,将数据都排列的紧凑些,运行完命令他会直接检测每一个空行

image.png
image.png

他的代码逻辑是这样的,还是蛮不错的

image.png
image.png

然后就来测试下统一大小写,都改成大写

image.png
image.png

三列都选上,这里可以看到转换的效果还是蛮不错的

image.png
image.png

全部转换小写的操作也是一样的

image.png
image.png

除了这些功能我们还能检测表中是否存在特殊的字符 这里的话我们是可以检测的,然后针对每个列进行检查,如果检查到了需要删除的字符,那么就进行了删除操作

image.png
image.png

我们还能检测到空值,这里的话控制就是显示nan的,那么我们直接进行填充控制的操作,并且选择需要填充的数字

image.png
image.png

空位置都被改成了666了

image.png
image.png

我都不敢想以后工作老板给我一张表格让我们进行各种操作,我一条命令不用输入,直接让这个小工具帮我进行操作,多方便啊,简直是摸鱼神器了,后续的话可以根据更多的需求,直接让trae帮我改改代码,生成新迭代的工具。

下面是我的项目地址,大家可以来看看,具体的代码都在里面了 GitCode项目地址

部分代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pandas as pd
import numpy as np
import logging
from datetime import datetime

class DataHandler:
    def __init__(self):
        self.df = None
        self.operation_history = []
        self.redo_history = []
    
    def load_excel(self, file_path):
        """加载Excel文件并验证格式"""
        try:
            file_ext = file_path.lower().split('.')[-1]
            if file_ext not in ['xlsx', 'xls']:
                raise ValueError('不支持的文件格式,请使用.xlsx或.xls格式的Excel文件')
            self.df = pd.read_excel(file_path)
            return self.df
        except Exception as e:
            logging.error(f'加载Excel文件失败: {str(e)}')
            raise
    
    def save_excel(self, file_path):
        """保存Excel文件"""
        try:
            self.df.to_excel(file_path, index=False)
            logging.info(f'文件已保存: {file_path}')
        except Exception as e:
            logging.error(f'保存Excel文件失败: {str(e)}')
            raise
    
    def get_statistics(self):
        """获取数据统计信息"""
        return {
            'row_count': len(self.df),
            'column_count': len(self.df.columns),
            'null_count': self.df.isnull().sum().sum()
        }
    
    def get_column_types(self):
        """获取列数据类型"""
        return self.df.dtypes
    
    def remove_spaces(self, columns):
        """删除指定列的空格"""
        for col in columns:
            if self.df[col].dtype == object:
                self.df[col] = self.df[col].str.strip()
        return self.df
    
    def normalize_case(self, case_type, columns):
        """统一大小写"""
        for col in columns:
            if self.df[col].dtype == object:
                if case_type == 'lower':
                    self.df[col] = self.df[col].str.lower()
                elif case_type == 'upper':
                    self.df[col] = self.df[col].str.upper()
                elif case_type == 'title':
                    self.df[col] = self.df[col].str.title()
        return self.df
    
    def format_numbers(self, decimal_places, columns):
        """格式化数字"""
        for col in columns:
            if pd.api.types.is_numeric_dtype(self.df[col]):
                self.df[col] = self.df[col].round(decimal_places)
        return self.df
    
    def format_dates(self, date_format, columns):
        """格式化日期"""
        for col in columns:
            if pd.api.types.is_datetime64_any_dtype(self.df[col]):
                self.df[col] = self.df[col].dt.strftime(date_format)
        return self.df
    
    def remove_special_chars(self, pattern, columns):
        """删除特殊字符"""
        for col in columns:
            if self.df[col].dtype == object:
                self.df[col] = self.df[col].str.replace(pattern, '', regex=True)
        return self.df
    
    def fill_empty_values(self, method, value=None, columns=None):
        """填充空值"""
        if columns is None:
            columns = self.df.columns
        for col in columns:
            if method == 'value':
                self.df[col].fillna(value, inplace=True)
            elif method == 'mean':
                if pd.api.types.is_numeric_dtype(self.df[col]):
                    self.df[col].fillna(self.df[col].mean(), inplace=True)
            elif method == 'median':
                if pd.api.types.is_numeric_dtype(self.df[col]):
                    self.df[col].fillna(self.df[col].median(), inplace=True)
            elif method == 'mode':
                self.df[col].fillna(self.df[col].mode()[0], inplace=True)
            elif method == 'ffill':
                self.df[col].fillna(method='ffill', inplace=True)
            elif method == 'bfill':
                self.df[col].fillna(method='bfill', inplace=True)
        return self.df

    def remove_empty_rows(self):
        """删除空行
        删除所有单元格都为空值(包括NaN、None、空字符串)的行
        """
        try:
            # 检查每个单元格是否为空(包括NaN、None和空字符串)
            is_empty = self.df.apply(lambda x: x.isna() | (x.astype(str).str.strip() == ''))
            # 找出所有单元格都为空的行
            empty_rows = is_empty.all(axis=1)
            # 删除空行
            self.df = self.df[~empty_rows]
            logging.info(f'已删除 {empty_rows.sum()} 个空行')
            return self.df
        except Exception as e:
            logging.error(f'删除空行失败: {str(e)}')
            raise

总结

Trae 内置的 AI让人眼前一亮,Trae 用硬核实力证明,它能帮助用户在数字世界中披荆斩棘 对trae感兴趣的兄弟赶紧去下载试试吧!包让你满意的

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-04-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
被问爆的旅游网页!cursor + 腾讯云 Edge MCP + 高德地图MCP2.0,圆你一个沉浸式旅行梦
作为一个想打造旅游网页的 “技术小白”,我曾无数次被复杂的代码折磨到崩溃,在寻找稳定服务器资源时焦头烂额,更因地图数据接入的繁琐流程屡屡碰壁。想要呈现出集导航、景点推荐、行程规划于一体的旅游网页,仅凭一己之力,几乎是不可能完成的任务。直到遇见 cursor、腾讯云 Edge MCP 和高德地图 MCP2.0,我的困境才迎来转机 —— 它们就像为我量身定制的 “救星”,以各自的强大功能,填补了我技术与资源上的所有缺口,让梦想中的旅游网页从空想变为现实。
Undoom
2025/05/09
2970
手把手教你抓取链家二手房详情页的全部数据
前几天在Python白银交流群大家在交流链家网二手房详情页数据的抓取方法,如下图所示。关于首页的抓取,上一篇文章已经说明了,手把手教你抓取链家二手房首页的全部数据。
前端皮皮
2022/08/17
6890
手把手教你抓取链家二手房详情页的全部数据
Python 爬取链家成都二手房源信息 asyncio + aiohttp 异步爬虫实战
编辑 | JackTian 来源 | 杰哥的IT之旅(ID:Jake_Internet) 转载请联系授权(微信ID:Hc220066)
杰哥的IT之旅
2020/09/28
7770
Python 爬取链家成都二手房源信息 asyncio + aiohttp 异步爬虫实战
RabbitMQ搭建(一)
在浏览器输入http://localhost:15672就可以访问RabbitMq的WEB管理界面了(登录账户和密码都是guest),如下所示:
无涯WuYa
2022/01/18
4560
RabbitMQ搭建(一)
Python爬取链家成都二手房源信息 asyncio + aiohttp 异步爬虫实战
本文先熟悉并发与并行、阻塞与非阻塞、同步与异步、多线程、多线程、协程的基本概念。再实现asyncio + aiohttp爬取链家成都二手房源信息的异步爬虫,爬取效率与多线程版进行简单测试和比较。
叶庭云
2020/09/17
7420
Python爬取链家成都二手房源信息    asyncio + aiohttp 异步爬虫实战
分析Python招聘数据,可视化展示招聘信息详情
通过开发者工具进行抓包分析 I. 打开开发者工具: F12 / 右键点击检查选择network 暂时可能没有数据包或者数据包比较少 <数据不完整> II. 刷新网页: 让数据内容重新加载一遍 III. 通过关键字去搜索查询对应数据包 关键字: 我们需要的数据
松鼠爱吃饼干
2023/09/02
4350
分析Python招聘数据,可视化展示招聘信息详情
产品设计之退货服务功能点优化思路
快递鸟集成了多家物流快递公司渠道,发货用户在线一键下单,快递小哥APP接单,并门到门取件的全流程在线服务,价格透明,服务有保障,过程可追踪。给电商平台提供完整的退货寄件物流解决方案,退货用户只需在电商平台一键退货呼叫快递员门到门取件即可,解决平台的逆向物流管理问题,比如退货后的退款核定监控等。为集团企业和直接发货用户解决集中的对账结算以及内部的快递集中管理问题。快递鸟门到门取件已覆盖全国300多个主要城市,38400多个区县,快递鸟多级地址库,精准的订单路由和分发能力,确保发件人和快递小哥的接单匹配,支持取件时间预约,2小时门到门取件让服务
老杨占线
2020/03/24
7010
Postman的Post请求方式的四种类型的数据
就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。当上传的字段是文件时,会有content-type来说明文件类型;content-disposition用来说明字段的一些信息;由于有boundary隔离,所以multipart/form-data既可以上传文件,也可以上传键值对,它采用了键值对的方式,所以可以上传多个文件。
周小董
2019/03/25
4.4K0
Postman的Post请求方式的四种类型的数据
使用Python网络爬虫抓取职位信息
前几天在Python粉丝问了一个Python网络爬虫的问题,这里拿出来给大家分享下。
前端皮皮
2023/08/17
4210
使用Python网络爬虫抓取职位信息
win10 uwp url encode
开发中,经常遇到使用中文无法作为 URL 传输的情况,如果想把 中文作为 URL 传输,那么需要对中文进行转换。 UWP 提供一些方法让我们很容易把 中文转为 URL ,但是转换还是有一些坑。 我最近图床使用中文图片上传,地址出现错误。 原因是URL不支持中文,所以需要把中文转URL可以认识字符,那么如何转? 我发现有好多个方法去转,下面将会告诉大家我知道所有方法。
林德熙
2022/08/04
3120
win10 uwp url encode
开发中,经常遇到使用中文无法作为 URL 传输的情况,如果想把 中文作为 URL 传输,那么需要对中文进行转换。 UWP 提供一些方法让我们很容易把 中文转为 URL ,但是转换还是有一些坑。 我最近图床使用中文图片上传,地址出现错误。 原因是URL不支持中文,所以需要把中文转URL可以认识字符,那么如何转? 我发现有好多个方法去转,下面将会告诉大家我知道所有方法。
林德熙
2018/09/18
1.1K2
springboot Actuator
springboot Actuator只需要加入依赖即可使用: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> application.properties 中可以加入以下配置: # false,表示不敏感,可以随意访问,否则就是做了一些保护,不能随意访问。 endpoints.mapping
yawn
2018/03/14
6960
Python 爬虫之request+beautifulsoup+mysql
一、什么是爬虫? 它是指向网站发起请求,获取资源后分析并提取有用数据的程序; 爬虫的步骤:
Wu_Candy
2022/07/04
3170
Python 爬虫之request+beautifulsoup+mysql
消息批量写入Kafka(五)
在Kafka的生产者模式主要详细的介绍了作为生产者的中间价,把消息数据写入到Kafka,这样消费者才可以消费数据,以及针对这些数据进行其他的如数据分析等。但是在实际的应用中,会有大批量的实时数据需要写入到Kafka的系统里面,因此作为单线程的模式很难满足实时数据的写入,需要使用多线程的方式来进行大批量的数据写入,当然作为消费者也是写多线程的方式来接收这些实时的数据。比如举一个案例,需要把日志系统的信息写入到Kafka的系统里面,这就是一个实时的过程,因为在程序执行的过程中,日志系统在进行大量的IO的读写,也就意味着这些数据都需要写入到Kafka里面。
无涯WuYa
2021/04/20
6.6K0
消息批量写入Kafka(五)
《cyberstrikelab》记一次实战仿真渗透过程
尝试通过ThinkPHP 5.0.22/5.1.29 RCE写shell,写入一句话发现会被删除,查看进程发现有360
红队蓝军
2025/02/12
2700
《cyberstrikelab》记一次实战仿真渗透过程
ssh-keygen生成的id_rsa文件的格式
Your identification has been saved in /home/gemfield/.ssh/id_rsa. Your public key has been saved in /home/gemfield/.ssh/id_rsa.pub
战神伽罗
2019/11/26
5.2K0
如何获取ssl证书
在前面的文章中,我们分析了SSL/TLS的一些基本概念和为什么他们安全,尤其提到了公钥和私钥的概念,还有一个很重要的文件,就是CA证书,关于CA证书的官方解释,可以参考百科的解释,这里我们可以简单的认为,CA证书是一个网站的 二维码,这个二维码包括了服务器的一些信息,比如服务器所在的组织、支持的加密算法,还有更重要的公钥信息。
用户8418197
2021/12/08
4.1K0
Jmeter如何实现参数化用户,并且管理Cookie
谈到性能测试,经常需要对用户进行参数化,jemter工具参数化经常使用的一个元件就是CSV数据文件设置 一、 操作步骤 1. 首先建议大家创建一个规范的目录保存文件 目录 作用 data 保存参数
jmeter技术研究
2019/10/19
1.2K0
Jmeter如何实现参数化用户,并且管理Cookie
爬虫入门经典(二十三) | fiddler抓包爬取QQ音乐
  ♥各位如果想要交流的话,可以加下QQ交流群:974178910,里面有各种你想要的学习资料。♥
不温卜火
2020/11/26
4.6K0
爬虫入门经典(二十三) | fiddler抓包爬取QQ音乐
Div+CSS展示物流跟踪轨迹信息
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <style> #ordertrack td { vertical-align: top; } table
跟着阿笨一起玩NET
2018/09/20
3.4K0
Div+CSS展示物流跟踪轨迹信息
相关推荐
被问爆的旅游网页!cursor + 腾讯云 Edge MCP + 高德地图MCP2.0,圆你一个沉浸式旅行梦
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验