@ 碱夏/谷歌-趋势-js
这是一个TypeScript库,已经更新,以纳入谷歌趋势API端点的最新修改. 这个软件包为在程序上访问Google趋势数据提供了简单而安全的方式.
这个API是基于有一些添加和修改的功能的@shaivpidadi/trends-js来开发的.
现作如下修改和补充:
- Daily Trends : 添加了相关的关键词和活化时间.
- 趋势文章:检索与趋势关键词相关的文章信息.
- 利息超越时间:为趋势关键词检索时间序列利息数据.
安装
npm install @alkalisummer/google-trends-js
特征
- 获得日常趋势话题
- 获取实时趋势话题
- 获取有关趋势话题的文章
- 获取自动补全建议
- 探索趋势数据
- 按区域数据获取兴趣
- 随时间( 时间线) 获取关键字的兴趣
- 类型脚本支持
- 基于承诺的API
使用量
导入
import GoogleTrendsApi from '@alkalisummer/google-trends-js';
每日趋势
获取特定区域的日常趋势话题:
const result = await GoogleTrendsApi.dailyTrends({
geo: 'US', // Default: 'US'
hl: 'en', // Default: 'en'
});
// Result structure:
// {
// data?: Array<{
// keyword: string;
// traffic: number;
// trafficGrowthRate: number;
// activeTime: Date;
// relatedKeywords: string[];
// articleKeys: ArticleKey[];
// }>,
// error?: GoogleTrendsError
// }
//
趋势文章
获取特定文章密钥的趋势文章
您可以在每日Trends方法返回的回复中从文章Keys字段中取回文章Keys.
const result = await GoogleTrendsApi.trendingArticles({
articleKeys: [[1, hl, geo]], // Array of article keys
articleCount: 5, // Number of articles to get
});
// Result structure:
// {
// data?: Array<{
// title: string;
// link: string;
// mediaCompany: string;
// pressDate: number[];
// image: string;
// }>,
// error?: GoogleTrendsError
// }
利息随时间演变
获取特定关键字时间数据的兴趣:
const result = await GoogleTrendsApi.interestOverTime({
keyword: 'bitcoin', // or an array of keywords
geo: 'US', //Default: 'US'
period: 'now 7-d', // Default: 'now 1-d'
hl: 'en-US', // Default: 'en-US'
});
// Result structure:
// {
// data?: {
// keyword: string | string[];
// dates: Date[];
// values: number[][]; // one series per keyword (for single keyword: a single inner array)
// },
// error?: GoogleTrendsError
// }
多个关键字示例 :
const result = await GoogleTrendsApi.interestOverTime({
keyword: ['bitcoin', 'ethereum'],
geo: 'US',
period: 'today 12-m',
});
if (result.data) {
// result.data.values is number[][] where
// values[i] corresponds to the i-th sorted date in result.data.dates
}
实时趋势
获取实时趋势话题 :
const result = await GoogleTrendsApi.realTimeTrends({
geo: 'US', // Default: 'US'
trendingHours: 4, // Default: 4
});
// Result structure (wrapped):
// {
// data?: Array<{
// keyword: string;
// traffic: number;
// trafficGrowthRate: number;
// activeTime: Date;
// relatedKeywords: string[];
// articleKeys: ArticleKey[];
// }>,
// error?: GoogleTrendsError
// }
自动完成
获取关键字搜索建议 :
const suggestions = await GoogleTrendsApi.autocomplete(
'bitcoin', // Keyword to get suggestions for
'en-US', // Language (default: 'en-US')
);
if (suggestions.data) {
// suggestions.data is string[]
}
探索
获取关键字的部件数据 :
const result = await GoogleTrendsApi.explore({
keyword: 'bitcoin',
geo: 'US', // Default: 'US'
time: '2025-06-30 2025-07-01', // Default: 'now 1-d'
category: 0, // Default: 0
property: '', // Default: ''
hl: 'en-US', // Default: 'en-US'
});
// Result structure:
// {
// widgets: Array<{
// id: string,
// request: {...},
// token: string
// }>
// }
按区域分列的利息
按区域获取兴趣数据 :
const result = await GoogleTrendsApi.interestByRegion({
keyword: 'Stock Market', // Required - string or string[]
startTime: new Date('2024-01-01'), // Optional - defaults: yesterday
endTime: new Date(), // Optional - defaults to current date
geo: 'US', // Optional - string or string[] - defaults to 'US'
resolution: 'REGION', // Optional - 'COUNTRY' | 'REGION' | 'CITY' | 'DMA'
hl: 'en-US', // Optional - defaults to 'en-US'
timezone: -240, // Optional - defaults to local timezone
category: 0, // Optional - defaults to 0
});
// Result structure:
// {
// default: {
// geoMapData: Array<{
// geoCode: string,
// geoName: string,
// value: number[],
// formattedValue: string[],
// maxValueIndex: number,
// hasData: boolean[],
// coordinates?: {
// lat: number,
// lng: number
// }
// }>
// }
// }
有多个关键词和区域的示例:
const result = await GoogleTrendsApi.interestByRegion({
keyword: ['wine', 'peanuts'],
geo: ['US-CA', 'US-VA'],
startTime: new Date('2024-01-01'),
endTime: new Date(),
resolution: 'CITY',
});
API 参考
DailyTrendingTops 选项
interface DailyTrendingTopicsOptions {
geo?: string; // Default: 'US'
hl?: string; // Default: 'en'
}
实时趋势选项
interface RealTimeTrendsOptions {
geo: string;
trendingHours?: number; // Default: 4
}
探索选项
interface ExploreOptions {
keyword: string | string[];
geo?: string; // Default: 'US'
time?: string; // Default: 'now 1-d'
category?: number; // Default: 0
property?: string; // Default: ''
hl?: string; // Default: 'en-US'
}
利息账户选项
interface InterestByRegionOptions {
keyword: string | string[]; // Required - search term(s)
startTime?: Date; // Optional - start date
endTime?: Date; // Optional - end date
geo?: string | string[]; // Optional - geocode(s)
resolution?: 'COUNTRY' | 'REGION' | 'CITY' | 'DMA'; // Optional
hl?: string; // Optional - language code
timezone?: number; // Optional - timezone offset
category?: number; // Optional - category number
}
趋势条款选项
interface TrendingArticlesOptions {
articleKeys: ArticleKey[]; // Required - array of article keys
articleCount: number; // Required - number of articles to get
}
type ArticleKey = [number, string, string]; // [index, lang, geo]
超时利息备选方案
interface InterestOverTimeOptions {
keyword: string | string[]; // Required - search term(s)
geo?: string; // Optional - geocode (default: 'US')
period?: 'now 1-H' | 'now 4-H' | 'now 1-d' | 'now 7-d' | 'now 1-m' | 'today 3-m' | 'today 12-m' | 'today 5-y'; // Optional - time period (default: 'now 1-d')
hl?: string; // Optional - language (default: 'en-US')
}
发展
大楼