当前位置: 首页 > news >正文

怎么做网络乞丐网站在putty上怎样安装wordpress

怎么做网络乞丐网站,在putty上怎样安装wordpress,广州做网站要多少钱,宿州网站建设公司目录 🚀 安装和设置1. 克隆项目2. 创建虚拟环境3. 安装依赖 完整代码代码解释📦 导入模块🔧 初始化和配置🌐 网络请求函数🛠 主要工具函数 🔍 调试和测试📝 注意事项💡 使用场景示例…

目录

    • 🚀 安装和设置
      • 1. 克隆项目
      • 2. 创建虚拟环境
      • 3. 安装依赖
    • 完整代码
    • 代码解释
      • 📦 导入模块
      • 🔧 初始化和配置
      • 🌐 网络请求函数
      • 🛠 主要工具函数
    • 🔍 调试和测试
    • 📝 注意事项
    • 💡 使用场景示例

🚀 安装和设置

1. 克隆项目

git clone https://github.com/xspadex/bilibili-mcp.git
cd bilibili-mcp

在这里插入图片描述

2. 创建虚拟环境

uv venv
source .venv/bin/activate  # Linux/Mac
# 或者在 Windows 上:
.venv\Scripts\activate

在这里插入图片描述

3. 安装依赖

uv pip install -e .

完整代码

bilibili_mcp.py

from typing import Any
import httpx
from mcp.server.fastmcp import FastMCP# Initialize FastMCP server for Bilibili popular list
mcp = FastMCP("blbl")# API endpoint for B 站热榜
BILIBILI_POPULAR_URL = "https://api.bilibili.com/x/web-interface/popular"
USER_AGENT = "blbl-mcp/1.0"headers = {"User-Agent": "qwq"
}async def make_request(url: str, top_k: int = 3) -> dict[str, Any] | None:async with httpx.AsyncClient(http2=False) as client:try:response = await client.get(url, headers=headers, params={"ps": top_k, "pn": 1})response.raise_for_status()return response.json()except Exception as e:print(e)return None@mcp.tool()
async def get_popular(top_k: int = 3) -> dict[str, Any] | str:"""Fetch the current Bilibili popular videos list.Returns the raw JSON from Bilibili’s popular interface,or an error message if the fetch fails."""top_k = min(top_k, 10)data = await make_request(BILIBILI_POPULAR_URL, top_k)if data is None:return "Unable to fetch Bilibili popular list."data_list = data['data']['list']result = []for item in data_list:title = item['title']link = item['short_link_v2']desc = item['desc']view = item['stat']['view']like = item['stat']['like']result.append({'title': title,'link': link,'desc': desc,'view': view,'like': like})if len(result) >= top_k:breakreturn resultif __name__ == "__main__":# Run the MCP server over stdiomcp.run(transport='stdio')

代码解释

📦 导入模块

from typing import Any
import httpx
from mcp.server.fastmcp import FastMCP
  • typing.Any:用于类型注解,表示任意类型
  • httpx:现代异步 HTTP 客户端库,用于发送网络请求
  • FastMCP:MCP(Model Context Protocol)的快速实现框架

🔧 初始化和配置

# Initialize FastMCP server for Bilibili popular list
mcp = FastMCP("blbl")# API endpoint for B 站热榜
BILIBILI_POPULAR_URL = "https://api.bilibili.com/x/web-interface/popular"
USER_AGENT = "blbl-mcp/1.0"headers = {"User-Agent": "qwq"
}
  • 创建名为 “blbl” 的 FastMCP 服务器实例
  • 定义 B 站热榜 API 的 URL 端点
  • 设置请求头,包含 User-Agent 信息(注意:代码中实际使用的是 “qwq”)

🌐 网络请求函数

async def make_request(url: str, top_k: int = 3) -> dict[str, Any] | None:async with httpx.AsyncClient(http2=False) as client:try:response = await client.get(url, headers=headers, params={"ps": top_k, "pn": 1})response.raise_for_status()return response.json()except Exception as e:print(e)return None

功能说明:

  • 异步函数,用于发送 HTTP GET 请求
  • 使用 httpx.AsyncClient 创建异步客户端(禁用 HTTP/2)
  • 请求参数:
    • ps:每页数量(page size)
    • pn:页码(page number),固定为 1
  • 错误处理:捕获异常并返回 None
  • 成功时返回 JSON 响应数据

🛠 主要工具函数

@mcp.tool()
async def get_popular(top_k: int = 3) -> dict[str, Any] | str:"""Fetch the current Bilibili popular videos list.Returns the raw JSON from Bilibili's popular interface,or an error message if the fetch fails."""top_k = min(top_k, 10)data = await make_request(BILIBILI_POPULAR_URL, top_k)if data is None:return "Unable to fetch Bilibili popular list."data_list = data['data']['list']result = []for item in data_list:title = item['title']link = item['short_link_v2']desc = item['desc']view = item['stat']['view']like = item['stat']['like']result.append({'title': title,'link': link,'desc': desc,'view': view,'like': like})if len(result) >= top_k:breakreturn result

功能详解:

  1. 装饰器 @mcp.tool():将函数注册为 MCP 工具,可被外部调用

  2. 参数限制top_k = min(top_k, 10) 确保最多返回 10 个视频

  3. 数据获取:调用 make_request 函数获取 B 站 API 数据

  4. 数据解析:从 API 响应中提取关键信息:

    • title:视频标题
    • short_link_v2:短链接
    • desc:视频描述
    • stat.view:播放量
    • stat.like:点赞数
  5. 结果格式化:返回结构化的字典列表

🔍 调试和测试

使用 MCP Inspector 可以方便地测试工具:

  1. 启动 Inspector:npx @modelcontextprotocol/inspector
  2. 在浏览器中打开 http://127.0.0.1:6277
  3. 连接到您的 bilibili-mcp 服务器
  4. 测试 get_popular 工具的各种参数
    在这里插入图片描述
    在这里插入图片描述

📝 注意事项

  • 确保 Python 版本 ≥ 3.12
  • 避免过于频繁地调用 B 站 API
  • 工具返回的数据基于 B 站公开接口
  • 默认最多返回 10 个视频信息

💡 使用场景示例

  1. 获取热门内容灵感

    请帮我获取当前B站热榜前5个视频,我想了解最近的热门话题
    
  2. 分析热门趋势

    获取B站热榜数据,分析一下当前最受欢迎的内容类型
    
  3. 内容创作参考

    查看B站热榜,帮我分析哪些类型的视频容易获得高播放量
    
http://www.dtcms.com/a/546655.html

相关文章:

  • 无锡网站建设818gx家装室内设计
  • 网站建设需要洽谈什么在centos上搭建wordpress
  • 域名代理商网站西安优秀的集团门户网站建设公司
  • 宠物出售的网站怎么做网站扁平化设计风格
  • MySQL 复合查询全解析:从单表到多表的实战进阶
  • 从0开始学Java--day7--类与对象-初
  • 用c 可以做网站吗做资讯类网站
  • 庄行网站建设免费wordpress中文主题
  • 深圳网站设计 制作wordpress评论框插件
  • 深圳培训网站开发山东省建设厅网站地址
  • 江苏网站开发建设多少钱服装公司网站多少钱
  • 网站建设进度计划表优享揭阳网站建设
  • 标准化信息网站建设与应用网站做多长时间才会成功
  • matlab示例
  • 做文案的网站有些什么建设网站人员名单
  • 公司名称 网站域名 关联常州模板网站建设价位
  • 网站3d特效源码电子商务网站建设与维护代码
  • 学生制作个人网站湖南建设监理报名网站
  • 有免费的微网站是什么上海的网站设计公司
  • 工信部网站备案注销网站广告推广怎么做的
  • Linux小课堂: 系统救援模式操作指南:修复启动问题与重置Root密码
  • 利用不坑盒子在WPS中插入网页,放映的电脑无需安装插件,直接就能显示网页!
  • 济南网络建站企业网站推广的策略有哪些
  • 南昌建网站那家好乐享黔程是什么公司
  • Vue 中 <keep-alive> 功能介绍,使用场景,完整使用示例演示
  • 上海做网站最低价做网站赚钱一般做什么
  • 《openEuler2403 与 PostgreSQL17 组合实战:搭建个人本地数据库服务》
  • 网站首页导航栏网站需要怎么做的
  • 莆田网站开发公司免费制作视频相册
  • 后台网站下载做瞹瞹小视频网站