# Web Multi Search

> Search the web using multiple search engines simultaneously (Bing, Yahoo, Startpage, Aol, Ask) via async-search-scraper, iterating through result pages.

- Skill: `marucie/web-multi-search` (Agent Skill)
- Install (CLI): `npx skillmds@latest add marucie/web-multi-search`
- Raw SKILL.md: https://api.skillmd.com/api/skills/marucie/web-multi-search/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Research & Search
- Author: MARUCIE (https://skillmd.com/u/marucie)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/marucie/web-multi-search

---


## 是什么

把 Bing / Yahoo / Startpage / Aol / Ask 五个还能正常抓取的搜索引擎并起来跑分页检索，帮你在做 OSINT 调研、跨引擎信源比对、市场扫描时一次拿到 5 路 × 多页的原始结果集，而不是一个引擎一个引擎手动翻。

## 怎么用

1. 先安装好依赖（pip 不可用时走 apt 系统包），库必须从 GitHub URL 装 `--no-deps`，PyPI 那个包名是错的。
2. 用 `python3 web_multi_search.py "查询词"` 起一次默认 3 页 × 5 引擎的搜集。
3. 按需要剪裁引擎和页数：`--engines bing,yahoo --pages 5` 拿更深，`--proxy` 走代理穿透限速。
4. 输出格式按下游选：写脚本就 `--output json`，存表格就 `csv`，看就 `text`；要去重加 `--unique-urls` 或 `--unique-domains`。
5. 拿到 JSON 后用 Python 一行解析出 link + title + snippet，下一步交给摘要、抓正文或人工筛选。

## 架构图

```mermaid
flowchart LR
  A[查询词 + 参数] --> B[并行启动 5 引擎]
  B --> C[Bing / Yahoo / Startpage / Aol / Ask]
  C --> D[多页抓取]
  D --> E[结果汇总 + 去重]
  E --> F[JSON / CSV / text 输出]
```

# Web Multi-Search

Search the web across **multiple search engines at once** using [async-search-scraper](https://github.com/soxoj/async-search-scraper). Collects results from Bing, Yahoo, Startpage, Aol, and Ask, iterating through multiple result pages.

## Setup

```bash
cd skills/web-multi-search
python3 -m pip install -r requirements.txt
python3 -m pip install git+https://github.com/soxoj/async-search-scraper.git --no-deps
```

> **Note:** The library must be installed from the GitHub URL, not PyPI. The `--no-deps` flag is required because the library pins `bs4` (wrong package name); the real dependencies are already in `requirements.txt`.

### Linux (apt) fallback
If `pip` isn't available, install the system packages:

```bash
sudo apt-get update
sudo apt-get install -y python3-requests python3-aiohttp python3-aiohttp-socks python3-bs4
```


## Usage

Run the search script with a query:

```bash
python3 web_multi_search.py "your search query"
```

### Options

| Flag | Default | Description |
|------|---------|-------------|
| `--pages` | `3` | Number of result pages per engine |
| `--engines` | all working | Comma-separated list: `bing,yahoo,startpage,aol,ask` |
| `--proxy` | none | HTTP/SOCKS proxy URL |
| `--timeout` | `10` | HTTP timeout in seconds |
| `--output` | `json` | Output format: `json`, `csv`, `text` |
| `--unique-urls` | off | Deduplicate results by URL |
| `--unique-domains` | off | Deduplicate results by domain |

### Examples

```bash
# Basic search, 3 pages per engine, JSON output
python3 web_multi_search.py "python async tutorial"

# Search only Bing and Yahoo, 5 pages each
python3 web_multi_search.py "machine learning" --engines bing,yahoo --pages 5

# Unique URLs only, CSV output
python3 web_multi_search.py "OpenClaw skills" --unique-urls --output csv

# Use a proxy
python3 web_multi_search.py "privacy tools" --proxy socks5://127.0.0.1:9050
```

### Output format

JSON output (default) returns an array of result objects:

```json
[
  {
    "engine": "Bing",
    "host": "example.com",
    "link": "https://example.com/page",
    "title": "Page Title",
    "text": "Snippet of the page content..."
  }
]
```

### How the agent should use this

When you need to search the web for information:

1. Run the script with the user's query.
2. Parse the JSON output to extract relevant links and snippets.
3. Use the results to answer the user or to fetch specific pages for deeper reading.

```bash
# Quick search and capture output
RESULTS=$(python3 /path/to/skills/web-multi-search/web_multi_search.py "query here" 2>/dev/null)
echo "$RESULTS" | python3 -c "import json,sys; data=json.load(sys.stdin); [print(r['link'], r['title']) for r in data[:10]]"
```

## Available search engines

| Engine | Status |
|--------|--------|
| Bing | Working |
| Yahoo | Working |
| Startpage | Working |
| Aol | Working |
| Ask | Working |
| Google | Not working (requires JS) |
| DuckDuckGo | Not working (CAPTCHA) |
| Dogpile | Not working (HTTP 403) |
| Mojeek | Not working (HTTP 403) |
| Qwant | Not working (HTTP 403) |
| Torch | Requires TOR proxy |

## Troubleshooting

- **Import errors**: Make sure you installed the library from the GitHub URL with `--no-deps`.
- **Empty results / bans**: Search engines may rate-limit. Increase delay or use fewer pages.
- **Torch engine**: Only works with a running TOR proxy at `socks5://127.0.0.1:9050`.

