跳到主要内容
feedback
feedback

互联网搜索接口

基本介绍

模力方舟的互联网搜索接口能够从近百亿网页和生态内容源中搜索高质量世界知识,包括新闻、图片、百科、文库等多种类型的内容。

该接口提供统一的搜索入口,一次请求即可获取网页、图片、视频等多种类型的搜索结果,为您的应用提供全面的信息检索能力。

功能特点

  • 海量内容源:从近百亿网页和生态内容中检索高质量信息
  • 多媒体搜索:同时返回网页、图片、视频等多种类型的搜索结果
  • 智能摘要:可选择性生成搜索结果的文本摘要,快速了解内容要点
  • 时间筛选:支持按天、周、月、年等时间范围精准筛选搜索结果
  • 丰富元数据:提供网站图标、发布时间、收录时间等详细信息

使用方法

POST https://api.moark.com/v1/web-search

在API调用时指定搜索关键词和相关参数,即可获取综合搜索结果。

认证方式

请参考 模力方舟 API 认证方式

请求参数

参数类型必填说明
querystring搜索关键字或语句
countinteger返回的搜索结果数量,范围1-50,默认为10
summaryboolean是否在搜索结果中包含摘要,默认为false
freshnessstring搜索指定时间范围内的网页,可选值:"noLimit"(默认)、"oneDay"、"oneWeek"、"oneMonth"、"oneYear"

freshness 参数说明

说明
noLimit不限时间范围(默认)
oneDay最近一天
oneWeek最近一周
oneMonth最近一个月
oneYear最近一年

响应内容

响应字段说明

webPages(网页搜索结果)

字段类型说明
webSearchUrlstring网页搜索的完整URL
totalEstimatedMatchesinteger搜索匹配的网页总数估算值
valuearray网页搜索结果数组
value[].namestring网页标题
value[].urlstring网页URL
value[].snippetstring网页内容简短描述
value[].summarystring网页内容摘要(需开启summary参数)
value[].siteNamestring网站名称
value[].siteIconstring网站图标URL
value[].datePublishedstring网页发布时间
value[].dateLastCrawledstring网页收录/抓取时间

images(图片搜索结果)

字段类型说明
valuearray图片搜索结果数组
value[].namestring图片名称
value[].thumbnailUrlstring缩略图URL
value[].contentUrlstring原图URL
value[].hostPageUrlstring图片所在网页URL
value[].widthinteger图片宽度(像素)
value[].heightinteger图片高度(像素)

videos(视频搜索结果)

字段类型说明
valuearray视频搜索结果数组
value[].namestring视频标题
value[].descriptionstring视频描述
value[].thumbnailUrlstring视频缩略图URL
value[].contentUrlstring视频内容URL
value[].durationstring视频时长(ISO 8601格式)
value[].viewCountinteger观看次数

示例代码

python
import requests
import json

API_URL = "https://api.moark.com/v1/web-search"
API_TOKEN = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" # 请替换为您的令牌
headers = {
"Authorization": f"Bearer {API_TOKEN}",
"Content-Type": "application/json"
}

def web_search(query, count=10, summary=True, freshness="noLimit"):
"""
执行互联网搜索

Args:
query: 搜索关键字或语句
count: 返回结果数量(1-50)
summary: 是否包含摘要
freshness: 时间范围(noLimit/oneDay/oneWeek/oneMonth/oneYear)

Returns:
搜索结果字典,包含网页、图片、视频等多种类型
"""
payload = {
"query": query,
"count": count,
"summary": summary,
"freshness": freshness
}

try:
response = requests.post(API_URL, headers=headers, json=payload, timeout=30)
response.raise_for_status()
result = response.json()
return result
except requests.exceptions.RequestException as e:
print(f"请求失败: {e}")
return None
except json.JSONDecodeError as e:
print(f"解析响应失败: {e}")
return None

def display_search_results(search_result):
"""显示搜索结果"""
if not search_result or search_result.get("code") != 200:
print("搜索请求未成功。")
return

data = search_result.get("data", {})

# 显示网页搜索结果
web_pages = data.get("webPages", {})
if web_pages and "value" in web_pages:
print(f"\n=== 网页搜索结果(共约 {web_pages.get('totalEstimatedMatches', 0)} 条)===\n")
for idx, page in enumerate(web_pages["value"], 1):
print(f"{idx}. {page.get('name', '无标题')}")
print(f" URL: {page.get('url', 'N/A')}")
print(f" 网站: {page.get('siteName', 'N/A')}")
if page.get('summary'):
print(f" 摘要: {page.get('summary')}")
else:
print(f" 描述: {page.get('snippet', 'N/A')}")
if page.get('datePublished'):
print(f" 发布时间: {page.get('datePublished')}")
print()

# 显示图片搜索结果
images = data.get("images", {})
if images and "value" in images:
print(f"\n=== 图片搜索结果(共 {len(images['value'])} 张)===\n")
for idx, img in enumerate(images["value"][:5], 1): # 只显示前5张
print(f"{idx}. {img.get('name', '无标题')}")
print(f" 缩略图: {img.get('thumbnailUrl', 'N/A')}")
print(f" 原图: {img.get('contentUrl', 'N/A')}")
print(f" 尺寸: {img.get('width')}x{img.get('height')}")
print()

# 显示视频搜索结果
videos = data.get("videos", {})
if videos and "value" in videos:
print(f"\n=== 视频搜索结果(共 {len(videos['value'])} 个)===\n")
for idx, video in enumerate(videos["value"][:5], 1): # 只显示前5个
print(f"{idx}. {video.get('name', '无标题')}")
print(f" 描述: {video.get('description', 'N/A')}")
print(f" URL: {video.get('contentUrl', 'N/A')}")
if video.get('duration'):
print(f" 时长: {video.get('duration')}")
if video.get('viewCount'):
print(f" 观看次数: {video.get('viewCount')}")
print()

if __name__ == "__main__":
# 示例1:基本搜索
print("示例1:基本搜索")
result = web_search("人工智能最新进展", count=5, summary=True)
display_search_results(result)

# 示例2:时间范围搜索
print("\n" + "="*50)
print("示例2:搜索最近一周的内容")
result = web_search("ChatGPT", count=10, freshness="oneWeek", summary=True)
display_search_results(result)

# 示例3:不包含摘要的快速搜索
print("\n" + "="*50)
print("示例3:快速搜索(不含摘要)")
result = web_search("Python教程", count=3, summary=False)
display_search_results(result)

核心参数说明:

  • -H "Authorization: Bearer ...":用于身份验证,请将 您的访问令牌 替换为从模力方舟控制台获取的真实令牌。
  • "query":搜索关键字或完整的搜索语句,支持中英文及复杂查询。
  • "count":指定返回的搜索结果数量,范围为1-50,建议根据实际需求设置合理的值以平衡性能和成本。
  • "summary":设置为 true 时,搜索结果中会包含AI生成的文本摘要,帮助快速了解内容要点。
  • "freshness":时间范围筛选,例如 "oneWeek" 只返回最近一周的搜索结果。

更多示例代码您可参考 模力方舟示例代码仓库

定价

互联网搜索接口按调用次数计费:

接口完整路径价格 (人民币/次)
互联网搜索https://api.moark.com/v1/web-search¥0.04

说明:每次调用计为一次,无论返回结果数量多少。建议合理设置 count 参数以优化成本。

使用场景

智能问答与对话系统

为AI助手、聊天机器人提供实时互联网信息检索能力,让AI能够回答最新的问题和事件。

内容聚合平台

自动收集和整理特定主题的最新网页、图片、视频内容,构建综合性内容平台。

市场与竞品分析

快速获取行业动态、竞争对手信息、市场趋势等商业情报。

新闻监控与舆情分析

实时追踪特定关键词的新闻报道、社交媒体讨论,进行舆情监测。

知识库构建

从互联网上搜索和提取高质量内容,构建企业或个人知识库。

多媒体内容检索

同时搜索网页、图片、视频等多种类型的内容,满足多样化的信息需求。

注意事项

重要提示
  • 搜索接口会实时访问互联网,响应时间可能因网络状况和搜索复杂度而异
  • 建议设置合理的 count 参数以平衡性能和成本,通常10-20条结果即可满足大多数需求
  • 启用 summary 参数会增加响应时间,但能获得更有价值的内容摘要
  • 搜索结果的准确性和时效性取决于互联网上的可用信息和索引更新频率
  • 使用 freshness 参数筛选时间范围时,可能会减少返回的结果数量