Skip to main content

AGPLv3 Python 3.10+ Alpha

ChinaCrawl

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

中国版 Firecrawl。12 合 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 (12-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

Metadata

Release files for chinacrawl 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for chinacrawl 0.2.0
File Interpreter ABI Platform
chinacrawl-0.2.0-py3-none-any.whl Python 3 none any Details

Release files / chinacrawl-0.2.0-py3-none-any.whl

Download URL chinacrawl-0.2.0-py3-none-any.whl
Size 66.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5b60158cc8c6acf7ebee26a003d3164962711c57b48fe5b1d1588c4812ab50a5
BLAKE2b-256 checksum
How to use checksums
1aae34bbbd408ff865da8e3adaee4743df5aed23ad910dd65ffee147dd522475
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.11

Security for chinacrawl 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.2.0 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page