跳到正文
cccskills
免费在 GitHub 公开

rental-scraper-mcp

MCP server for scraping Italian rental/sale property listings from multiple real estate portals (Immobiliare.it, Casa.it, and extensible to others) using Camoufox (anti-detection browser) and BeautifulSoup. Plugin architecture — each site is a self-contained adapter with its own URL templates, query param mappings, and CSS selector chains. Use this skill whenever the user wants to search for apartments, houses, or properties in Italy, scrape real estate listings, compare rental prices across Italian cities, or extract property data from Italian portals. Triggers on mentions of immobiliare, casa.it, Italian rentals, affitto, vendita, apartment hunting in Italy, or property scraping.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(128)

  • SKILL.md2.5 KB
  • .env.example2.8 KB
  • .gitignore543 B
  • .planning/codebase/ARCHITECTURE.md8.0 KB
  • .planning/codebase/CONCERNS.md15.8 KB
  • .planning/codebase/CONVENTIONS.md8.4 KB
  • .planning/codebase/INTEGRATIONS.md5.3 KB
  • .planning/codebase/STACK.md4.1 KB
  • .planning/codebase/STRUCTURE.md12.3 KB
  • .planning/codebase/TESTING.md10.1 KB
  • .planning/config.json310 B
  • .planning/phases/01-browser-reliability/01-01-PLAN.md6.1 KB
  • .planning/phases/01-browser-reliability/01-01-SUMMARY.md1.2 KB
  • .planning/phases/01-browser-reliability/01-01-VERIFICATION.md2.8 KB
  • .planning/phases/01-browser-reliability/01-RESEARCH.md6.4 KB
  • .planning/phases/01-browser-reliability/01-VALIDATION.md1.9 KB
  • .planning/phases/02-job-runner-reliability/02-01-PLAN.md11.8 KB
  • .planning/phases/02-job-runner-reliability/02-01-SUMMARY.md3.2 KB
  • .planning/phases/02-job-runner-reliability/02-RESEARCH.md16.7 KB
  • .planning/phases/02-job-runner-reliability/02-VALIDATION.md2.1 KB
  • .planning/phases/02-job-runner-reliability/02-VERIFICATION.md5.0 KB
  • .planning/phases/03-llm-scoring-observability/03-01-PLAN.md22.2 KB
  • .planning/phases/03-llm-scoring-observability/03-01-SUMMARY.md6.0 KB
  • .planning/phases/03-llm-scoring-observability/03-RESEARCH.md23.8 KB
  • .planning/phases/03-llm-scoring-observability/03-VALIDATION.md2.5 KB
  • .planning/phases/04-notion-fail-fast/04-01-PLAN.md14.0 KB
  • .planning/phases/04-notion-fail-fast/04-CONTEXT.md3.5 KB
  • .planning/phases/04-notion-fail-fast/04-RESEARCH.md14.3 KB
  • .planning/phases/04-notion-fail-fast/04-VALIDATION.md1.9 KB
  • .planning/PROJECT.md3.8 KB
  • .planning/quick/1-env-var-check/PLAN.md659 B
  • .planning/quick/1-env-var-check/SUMMARY.md639 B
  • .planning/REQUIREMENTS.md3.5 KB
  • .planning/ROADMAP.md4.7 KB
  • .planning/STATE.md3.1 KB
  • config/default_areas_casa.txt204 B
  • config/default_areas_idealista.txt298 B
  • config/default_areas_immobiliare.txt245 B
  • config/default_areas.txt337 B
  • data/.gitkeep0 B
  • data/app.db-journal0 B
  • docker-compose.yml665 B
  • docs/2026-03-14-dashboard-improvements-implementation.md3.6 KB
  • docs/running-locally.md6.4 KB
  • docs/screenshots/.gitkeep0 B
  • docs/screenshots/listings.png516.2 KB
  • docs/screenshots/monitor.png259.5 KB
  • docs/screenshots/search-configs.png240.7 KB
  • docs/screenshots/site-settings.png332.7 KB
  • docs/screenshots/stats.png255.7 KB
  • docs/superpowers/handoff/2026-03-14-streamlit-docker-handoff.md31.8 KB
  • docs/superpowers/plans/2026-03-14-dashboard-improvements.md20.8 KB
  • docs/superpowers/plans/2026-03-14-langgraph-analysis-notion-push.md43.7 KB
  • docs/superpowers/plans/2026-03-14-readme-docs-update.md25.8 KB
  • docs/superpowers/plans/2026-03-14-streamlit-docker-platform.md60.0 KB
  • docs/superpowers/plans/2026-03-15-notion-push-on-demand.md19.2 KB
  • docs/superpowers/plans/2026-03-16-uv-migration.md17.9 KB
  • docs/superpowers/specs/2026-03-14-dashboard-improvements-design.md11.3 KB
  • docs/superpowers/specs/2026-03-14-langgraph-analysis-notion-push-design.md12.1 KB
  • docs/superpowers/specs/2026-03-14-readme-docs-update-design.md6.9 KB
  • docs/superpowers/specs/2026-03-14-streamlit-docker-frontend-design.md13.6 KB
  • docs/superpowers/specs/2026-03-15-notion-push-on-demand-design.md5.8 KB
  • docs/superpowers/specs/2026-03-16-uv-migration-design.md3.4 KB
  • LICENSE1.0 KB
  • mcp_config_example.json174 B
  • preferences.txt562 B
  • pyproject.toml1.0 KB
  • pytest.ini46 B
  • README.md15.3 KB
  • scrape_multiple_areas_casa.sh5.0 KB
  • scrape_multiple_areas_idealista.sh4.1 KB
  • scrape_multiple_areas.sh5.0 KB
  • scripts/process_listings.py4.7 KB
  • src/apt_scrape/__init__.py218 B
  • src/apt_scrape/analysis.py15.2 KB
  • src/apt_scrape/cli.py18.8 KB
  • src/apt_scrape/devctl.py6.1 KB
  • src/apt_scrape/enrichment.py8.9 KB
  • src/apt_scrape/export.py3.1 KB
  • src/apt_scrape/notion_push.py14.5 KB
  • src/apt_scrape/server.py35.4 KB
  • src/apt_scrape/sites/__init__.py5.1 KB
  • src/apt_scrape/sites/base.py30.7 KB
  • src/apt_scrape/sites/casa.py3.6 KB
  • src/apt_scrape/sites/configs/casa.yaml3.5 KB
  • src/apt_scrape/sites/configs/idealista.yaml4.0 KB
  • src/apt_scrape/sites/configs/immobiliare.yaml3.5 KB
  • src/apt_scrape/sites/idealista.py9.8 KB
  • src/apt_scrape/sites/immobiliare.py10.9 KB
  • src/backend/__init__.py0 B
  • src/backend/db.py5.9 KB
  • src/backend/Dockerfile834 B
  • src/backend/main.py1.2 KB
  • src/backend/routers/__init__.py0 B
  • src/backend/routers/configs.py4.1 KB
  • src/backend/routers/jobs.py4.4 KB
  • src/backend/routers/listings.py4.4 KB
  • src/backend/routers/preferences.py957 B
  • src/backend/routers/sites.py5.9 KB
  • src/backend/runner.py12.5 KB
  • src/backend/scheduler.py3.6 KB
  • src/frontend/api.py1.9 KB
  • src/frontend/app.py2.2 KB
  • src/frontend/Dockerfile385 B
  • src/frontend/pages/1_Search_Configs.py11.4 KB
  • src/frontend/pages/2_Monitor.py5.9 KB
  • src/frontend/pages/3_Preferences.py1.1 KB
  • src/frontend/pages/4_Listings.py6.7 KB
  • src/frontend/pages/5_Site_Settings.py7.4 KB
  • src/frontend/pages/6_Stats.py5.0 KB
  • templates/new_site_adapter.py5.2 KB
  • tests/__init__.py0 B
  • tests/backend/__init__.py0 B
  • tests/backend/test_configs.py2.9 KB
  • tests/backend/test_db.py2.9 KB
  • tests/backend/test_jobs.py1.6 KB
  • tests/backend/test_listings.py5.4 KB
  • tests/backend/test_main.py304 B
  • tests/backend/test_preferences.py1021 B
  • tests/backend/test_runner.py3.9 KB
  • tests/backend/test_scheduler.py2.1 KB
  • tests/backend/test_server.py4.3 KB
  • tests/backend/test_sites.py2.5 KB
  • tests/test_analysis.py7.1 KB
  • tests/test_cli_push.py3.7 KB
  • tests/test_immobiliare.py15.0 KB
  • tests/test_notion_push.py8.5 KB
  • uv.lock780.3 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Rental Scraper MCP Server

A local MCP server (stdio transport) that scrapes Italian real estate listings using Camoufox for anti-bot evasion and BeautifulSoup for HTML parsing.

Architecture

rental-scraper-mcp/
├── server.py              # Thin MCP shell — tools + browser manager
├── cli.py                 # Standalone CLI (search, detail, dump, sites)
├── sites/
│   ├── __init__.py        # Adapter registry (auto-discovery, lookup)
│   ├── base.py            # Abstract SiteAdapter + SiteConfig + SelectorGroup
│   ├── immobiliare.py     # Immobiliare.it adapter
│   ├── casa.py            # Casa.it adapter
│   └── _template.py       # Copy this to add a new site
├── requirements.txt
└── mcp_config_example.json

Plugin System

Each site is a SiteAdapter subclass with a SiteConfig dataclass. The config holds:

  • URL template + query param mappings (how filters become URL parameters)
  • CSS selector chains with fallbacks (how HTML becomes structured data)
  • Property type / operation slug mappings
  • Wait selectors for the stealth browser

To add a new site: copy sites/_template.py, fill in the config, register in sites/__init__.py.

Tools

ToolDescription
rental_search_listingsSearch with filters → structured listing summaries
rental_get_listing_detailFetch one listing URL → full detail extraction
rental_list_sitesShow all registered site adapters
rental_dump_pageDump raw HTML for debugging selectors

Setup

pip install -r requirements.txt
camoufox fetch

Claude Code

{
  "mcpServers": {
    "rental-scraper": {
      "command": "python",
      "args": ["server.py"],
      "cwd": "/path/to/rental-scraper-mcp"
    }
  }
}

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

报告此技能的问题