Skip to main content

ChinaCrawl ? The Firecrawl alternative that works in China. 11-in-1 web data engine: scrape, search, crawl, monitor, download, extract. Zero external API cost.

Project description

AGPLv3 Python 3.10+ Alpha

ChinaCrawl

The Firecrawl alternative that works in China. 11-in-1 web data engine — zero external API cost.

中国版 Firecrawl。11 合 1 Web 数据引擎 — 零外部付费依赖。


Why ChinaCrawl?

Firecrawl is the best web scraping engine from Silicon Valley. But it's blocked in China and has no Chinese search optimization. ChinaCrawl fills this gap.

Firecrawl ChinaCrawl
Works in China No (blocked + no Chinese search) Yes (Alibaba Cloud / self-hosted)
Chinese search Google only Baidu / Sogou / SearXNG configurable
LLM extraction Credits-based (OpenAI API) Local Ollama — zero marginal cost
Cost Paid API Free (AGPL)

Capabilities (11-in-1)

# Capability Firecrawl Equivalent Usage
1 scrape /scrape scrape("https://example.com")
2 search /search search_web("keyword")
3 map /map map_site("https://example.com")
4 crawl /crawl crawl_site("https://example.com")
5 download download_site("url", "output/")
6 monitor /monitor monitor_page("url")
7 monitor-ai monitor_page_ai("url")
8 extract /extract extract_structured("url", schema)
9 extract-llm /extract (credits) extract_llm("url", schema)
10 interact /interact browser_interact("url", actions)
11 session browser_session_save/load("name")

extract-llm uses local Ollama (qwen2.5:7b) for semantic extraction. Zero API cost, unlimited calls.


Quick Start

Install

# Basic (scrape / search / map / crawl / download / monitor)
pip install chinacrawl

# Full (includes Playwright for browser interaction)
pip install chinacrawl[full]

# LLM extraction (optional, requires Ollama)
ollama pull qwen2.5:7b

3 Lines to Start

from chinacrawl import scrape, search_web, extract_llm

# Any URL -> Markdown
result = scrape("https://example.com")
print(result.content[:200])

# Web search
results = search_web("Python web scraping", max_results=5)
for r in results:
    print(f"{r.title}: {r.url}")

# LLM-powered structured extraction (zero cost!)
data = extract_llm("https://news.ycombinator.com", {
    "top_story": "h1",
    "all_headlines": "a.storylink"
})
print(data.data)

CLI

python chinacrawl.py  # Run built-in 11-capability test suite

Architecture

ChinaCrawl
├── Scrape:   jina.ai + trafilatura  ->  Markdown
├── Search:   SearXNG (self-hosted or public)
├── Map:      trafilatura link discovery
├── Crawl:    BFS recursive extraction
├── Download: Map + Scrape -> local {url}.md files
├── Monitor:  Hash + AI Judge (noise-stripped)
├── Extract:  CSS selector + Ollama qwen (semantic)
└── Interact: Playwright browser automation

Use Cases

  • Financial data — batch scrape central bank / SEC announcements
  • E-commerce intel — monitor competitor pricing on JD / Tmall
  • Legal compliance — archive government regulations with version diff
  • Bid monitoring — real-time government procurement alerts (AI de-noised)
  • RAG pipelines — any website -> offline markdown -> Dify / LangChain

Disclaimer

ChinaCrawl is a data extraction tool, NOT an AI service.

IMPORTANT: Users assume all legal responsibility. ChinaCrawl provides general-purpose data collection capabilities. Users must:

  • Respect target websites' robots.txt and terms of service
  • Comply with applicable laws (including China's Cybersecurity Law, Data Security Law, Personal Information Protection Law)
  • Obtain necessary permissions and consent
  • Not use this tool for any illegal purpose

ChinaCrawl authors and contributors bear no legal liability for users' actions.

The extract-llm feature depends on user-installed Ollama models. Users must ensure their chosen model's license (Apache 2.0, MIT, Llama Community, etc.) permits their intended use. ChinaCrawl defaults to qwen2.5:7b (Apache 2.0, no restrictions).

Respect robots.txt and terms of service. For legitimate use only.


License

GNU Affero General Public License v3.0 — Free to use, modify, and distribute. Modified versions served over a network must disclose source code.


Roadmap

  • 11-in-1 core capabilities
  • SearXNG search integration
  • AI Judge noise filtering
  • Chinese search engine config (Baidu / Sogou)
  • PyPI release
  • Docker one-click deployment
  • Managed API (chinacrawl.cloud)

Built by Xiao Hei · ChinaCrawl · 2026

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chinacrawl-0.1.0.tar.gz (50.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chinacrawl-0.1.0-py3-none-any.whl (36.7 kB view details)

Uploaded Python 3

File details

Details for the file chinacrawl-0.1.0.tar.gz.

File metadata

  • Download URL: chinacrawl-0.1.0.tar.gz
  • Upload date:
  • Size: 50.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for chinacrawl-0.1.0.tar.gz
Algorithm Hash digest
SHA256 329aeddbc52319b04c60b5a8fee137bf1d89baaeb7d88c05265a06ffff0a1df4
MD5 95a5f01ca4ef89eb889288e1a400295f
BLAKE2b-256 aca2297947a17db1f6926c4024f3ebb11bdc651414c8097ef9b456c339a3ec26

See more details on using hashes here.

File details

Details for the file chinacrawl-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: chinacrawl-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 36.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for chinacrawl-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 15d473e89bc7787c01d322a008ed3c333c6cb2d4999820c24487a6770413d10e
MD5 001428ec949ffe73cac577959689707a
BLAKE2b-256 ffe68da11f9a15d0ab044f8c334716b8bcddeb6c49535097fd785883d8047607

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page