360 Secure SkillHub
360 安全技能中心

Web Search

基于 Python 脚本的通用网络搜索技能,支持百度、必应、DuckDuckGo 多引擎自动回退,可执行普通搜索、深度搜索与网页抓取,返回带标题、链接和摘要的结构化结果;依赖 requests、baidusearch、crawl4ai、playwright,首次运行需下载 Chromium。

yejinlei
yejinlei
热度 97.41
最近更新 2026-05-11 17:29:56
分类:搜索依赖:代码执行 / 联网浏览搜索 / 第三方 API应用场景:研究

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add web-search-ex-skill
Metadata
name
web-search
description
通用网络搜索技能,支持多引擎搜索(百度、必应、DuckDuckGo),无需API密钥即可获取实时信息
version
1.3.0
author
yejinlei
license
MIT
tags
["search","web","internet","baidu","bing"]

Web Search Skill

A powerful web search skill supporting multiple search engines without requiring API keys.

Features

  • 🔍 Multi-Engine Support: Baidu (Playwright), Bing, DuckDuckGo
  • 🌐 No API Key Required: Uses browser automation and web scraping
  • 🔄 Smart Fallback: Automatically switches engines when one fails
  • 📊 Structured Results: Returns clean search results with title, URL, and snippet
  • 🚀 High Performance: Async support with Playwright browser automation

Usage

Basic Search

result = main({
    "action": "search",
    "query": "Python tutorial",
    "num_results": 5
})

Deep Search

result = main({
    "action": "deep_search",
    "query": "machine learning latest research",
    "num_results": 5
})

Web Page Crawling

result = main({
    "action": "crawl",
    "url": "https://example.com"
})

Input Parameters

Parameter Type Required Description
action string Yes Operation type: "search", "deep_search", or "crawl"
query string Conditional Search query (required for search/deep_search)
url string Conditional Target URL (required for crawl)
num_results int No Number of results, default 5, max 20
region string No Region code, default 'cn-zh'

Output Format

Search Result

{
    "success": True,
    "query": "search query",
    "engine": "baidu+playwright",
    "num_results": 5,
    "results": [
        {
            "title": "Result title",
            "href": "https://...",
            "body": "Snippet content"
        }
    ],
    "message": "Search completed"
}

Deep Search Result

{
    "success": True,
    "query": "search query",
    "search_results": [...],
    "detailed_info": {
        "extracted_content": "..."
    },
    "message": "Deep search completed"
}

Execution

type: script script_path: scripts/web_search.py entry_point: main dependencies:

  • uv>=0.1.0
  • requests>=2.28.0
  • baidusearch>=1.0.3
  • crawl4ai>=0.8.0
  • playwright>=1.40.0

Search Strategy

  1. Primary: baidusearch library (fastest, no browser)
  2. Secondary: Playwright + Baidu (most reliable, bypasses anti-bot)
  3. Tertiary: DuckDuckGo (privacy-focused)
  4. Fallback: Bing (international)

Notes

  1. First Run: Playwright will download Chromium browser on first use (~100MB)
  2. Rate Limiting: Be mindful of search frequency to avoid temporary blocks
  3. Network: Requires internet connection
  4. Results: May vary based on search engine algorithms and location

Error Handling

  • Returns {"success": False, "message": "..."} on errors
  • Automatically retries with fallback engines
  • Graceful degradation when optional dependencies are missing