mcp-server-weibo
Version:
Model Context Protocol服务器,用于抓取微博用户信息、动态和搜索等功能
70 lines (69 loc) • 2.38 kB
TypeScript
import { SearchResult, HotSearchItem, ContentSearchResult } from './types';
/**
* 微博爬虫类,用于从微博提取数据
* 提供获取用户资料、动态和搜索用户的功能
*/
export declare class WeiboCrawler {
/**
* 从微博提取用户资料信息
*
* @param uid 微博用户的唯一标识符
* @returns 用户资料信息,如果提取失败则返回空对象
*/
extractWeiboProfile(uid: number): Promise<Record<string, any>>;
/**
* 提取用户的微博动态,支持分页
*
* @param uid 微博用户的唯一标识符
* @param limit 最大提取的动态数量
* @returns 用户微博动态列表
*/
extractWeiboFeeds(uid: number, limit: number): Promise<Record<string, any>[]>;
/**
* 根据关键词搜索微博用户
*
* @param keyword 查找用户的搜索词
* @param limit 返回的最大用户数量
* @returns 包含用户信息的SearchResult对象列表
*/
searchWeiboUsers(keyword: string, limit: number): Promise<SearchResult[]>;
/**
* 将原始用户数据转换为SearchResult对象
*
* @param user 来自微博API的原始用户数据
* @returns 格式化的用户信息
*/
private toSearchResult;
/**
* 获取用户微博动态的容器ID
*
* @param uid 微博用户的唯一标识符
* @returns 用户动态的容器ID,如果提取失败则返回null
*/
private getContainerId;
/**
* 提取用户的单页微博动态
*
* @param uid 微博用户的唯一标识符
* @param containerId 用户动态的容器ID
* @param sinceId 分页信息,上一页最后一条动态的ID
* @returns 包含动态和下一页since_id的PagedFeeds对象
*/
private extractFeeds;
/**
* 获取微博热搜榜
*
* @param limit 返回的最大热搜条目数量
* @returns 热搜条目列表
*/
getHotSearchList(limit: number): Promise<HotSearchItem[]>;
/**
* 根据关键词搜索微博内容
*
* @param keyword 搜索关键词
* @param limit 返回的最大微博条目数量
* @param page 起始页码(默认为1)
* @returns 微博内容列表
*/
searchWeiboContent(keyword: string, limit: number, page?: number): Promise<ContentSearchResult[]>;
}