gitextract_lhg67gwc/ ├── .bandit.yml ├── .dockerignore ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── 01-bug_report.yml │ │ ├── 02-feature_request.yml │ │ ├── 03-other.yml │ │ ├── 04-docs_issue.yml │ │ └── config.yml │ ├── PULL_REQUEST_TEMPLATE.md │ └── workflows/ │ ├── code-quality.yml │ ├── docker-build.yml │ ├── release-and-publish.yml │ └── tests.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .readthedocs.yaml ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Dockerfile ├── LICENSE ├── MANIFEST.in ├── README.md ├── ROADMAP.md ├── agent-skill/ │ ├── README.md │ └── Scrapling-Skill/ │ ├── LICENSE.txt │ ├── SKILL.md │ ├── examples/ │ │ ├── 01_fetcher_session.py │ │ ├── 02_dynamic_session.py │ │ ├── 03_stealthy_session.py │ │ ├── 04_spider.py │ │ └── README.md │ └── references/ │ ├── fetching/ │ │ ├── choosing.md │ │ ├── dynamic.md │ │ ├── static.md │ │ └── stealthy.md │ ├── mcp-server.md │ ├── migrating_from_beautifulsoup.md │ ├── parsing/ │ │ ├── adaptive.md │ │ ├── main_classes.md │ │ └── selection.md │ └── spiders/ │ ├── advanced.md │ ├── architecture.md │ ├── getting-started.md │ ├── proxy-blocking.md │ ├── requests-responses.md │ └── sessions.md ├── benchmarks.py ├── cleanup.py ├── docs/ │ ├── README_AR.md │ ├── README_CN.md │ ├── README_DE.md │ ├── README_ES.md │ ├── README_FR.md │ ├── README_JP.md │ ├── README_KR.md │ ├── README_RU.md │ ├── ai/ │ │ └── mcp-server.md │ ├── api-reference/ │ │ ├── custom-types.md │ │ ├── fetchers.md │ │ ├── mcp-server.md │ │ ├── proxy-rotation.md │ │ ├── response.md │ │ ├── selector.md │ │ └── spiders.md │ ├── benchmarks.md │ ├── cli/ │ │ ├── extract-commands.md │ │ ├── interactive-shell.md │ │ └── overview.md │ ├── development/ │ │ ├── adaptive_storage_system.md │ │ └── scrapling_custom_types.md │ ├── donate.md │ ├── fetching/ │ │ ├── choosing.md │ │ ├── dynamic.md │ │ ├── static.md │ │ └── stealthy.md │ ├── index.md │ ├── overrides/ │ │ └── main.html │ ├── overview.md │ ├── parsing/ │ │ ├── adaptive.md │ │ ├── main_classes.md │ │ └── selection.md │ ├── requirements.txt │ ├── spiders/ │ │ ├── advanced.md │ │ ├── architecture.md │ │ ├── getting-started.md │ │ ├── proxy-blocking.md │ │ ├── requests-responses.md │ │ └── sessions.md │ ├── stylesheets/ │ │ └── extra.css │ └── tutorials/ │ ├── migrating_from_beautifulsoup.md │ └── replacing_ai.md ├── pyproject.toml ├── pytest.ini ├── ruff.toml ├── scrapling/ │ ├── __init__.py │ ├── cli.py │ ├── core/ │ │ ├── __init__.py │ │ ├── _shell_signatures.py │ │ ├── _types.py │ │ ├── ai.py │ │ ├── custom_types.py │ │ ├── mixins.py │ │ ├── shell.py │ │ ├── storage.py │ │ ├── translator.py │ │ └── utils/ │ │ ├── __init__.py │ │ ├── _shell.py │ │ └── _utils.py │ ├── engines/ │ │ ├── __init__.py │ │ ├── _browsers/ │ │ │ ├── __init__.py │ │ │ ├── _base.py │ │ │ ├── _config_tools.py │ │ │ ├── _controllers.py │ │ │ ├── _page.py │ │ │ ├── _stealth.py │ │ │ ├── _types.py │ │ │ └── _validators.py │ │ ├── constants.py │ │ ├── static.py │ │ └── toolbelt/ │ │ ├── __init__.py │ │ ├── convertor.py │ │ ├── custom.py │ │ ├── fingerprints.py │ │ ├── navigation.py │ │ └── proxy_rotation.py │ ├── fetchers/ │ │ ├── __init__.py │ │ ├── chrome.py │ │ ├── requests.py │ │ └── stealth_chrome.py │ ├── parser.py │ ├── py.typed │ └── spiders/ │ ├── __init__.py │ ├── checkpoint.py │ ├── engine.py │ ├── request.py │ ├── result.py │ ├── scheduler.py │ ├── session.py │ └── spider.py ├── server.json ├── setup.cfg ├── tests/ │ ├── __init__.py │ ├── ai/ │ │ ├── __init__.py │ │ └── test_ai_mcp.py │ ├── cli/ │ │ ├── __init__.py │ │ ├── test_cli.py │ │ └── test_shell_functionality.py │ ├── core/ │ │ ├── __init__.py │ │ ├── test_shell_core.py │ │ └── test_storage_core.py │ ├── fetchers/ │ │ ├── __init__.py │ │ ├── async/ │ │ │ ├── __init__.py │ │ │ ├── test_dynamic.py │ │ │ ├── test_dynamic_session.py │ │ │ ├── test_requests.py │ │ │ ├── test_requests_session.py │ │ │ ├── test_stealth.py │ │ │ └── test_stealth_session.py │ │ ├── sync/ │ │ │ ├── __init__.py │ │ │ ├── test_dynamic.py │ │ │ ├── test_requests.py │ │ │ ├── test_requests_session.py │ │ │ └── test_stealth_session.py │ │ ├── test_base.py │ │ ├── test_constants.py │ │ ├── test_impersonate_list.py │ │ ├── test_pages.py │ │ ├── test_proxy_rotation.py │ │ ├── test_response_handling.py │ │ ├── test_utils.py │ │ └── test_validator.py │ ├── parser/ │ │ ├── __init__.py │ │ ├── test_adaptive.py │ │ ├── test_attributes_handler.py │ │ ├── test_general.py │ │ └── test_parser_advanced.py │ ├── requirements.txt │ └── spiders/ │ ├── __init__.py │ ├── test_checkpoint.py │ ├── test_engine.py │ ├── test_request.py │ ├── test_result.py │ ├── test_scheduler.py │ ├── test_session.py │ └── test_spider.py ├── tox.ini └── zensical.toml