🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!
793 matches across 11 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/core/test_storage_core.py | 19 | def test_returns_default_when_url_is_none(self): |
| LOW | tests/core/test_storage_core.py | 23 | def test_returns_default_when_url_is_empty(self): |
| LOW | tests/core/test_storage_core.py | 27 | def test_returns_fld_for_valid_url(self): |
| LOW | tests/core/test_storage_core.py | 43 | def test_deterministic_output(self): |
| LOW | tests/core/test_storage_core.py | 48 | def test_different_input_different_output(self): |
| LOW | tests/core/test_storage_core.py | 53 | def test_strips_and_lowercases(self): |
| LOW | tests/core/test_storage_core.py | 58 | def test_includes_length_suffix(self): |
| LOW | tests/core/test_storage_core.py | 70 | def test_sqlite_storage_creation(self): |
| LOW | tests/core/test_storage_core.py | 75 | def test_sqlite_storage_with_file(self): |
| LOW | tests/core/test_storage_core.py | 91 | def test_sqlite_storage_initialization_args(self): |
| LOW | tests/core/test_storage_core.py | 125 | def test_retrieve_nonexistent_returns_none(self): |
| LOW | tests/core/test_storage_core.py | 129 | def test_save_overwrites_existing(self): |
| LOW | tests/core/test_storage_core.py | 167 | def test_element_path_is_stored(self): |
| LOW | tests/core/test_storage_core.py | 178 | def test_element_with_children_and_siblings(self): |
| LOW | tests/core/test_storage_core.py | 254 | def test_element_no_attributes(self): |
| LOW | tests/core/test_storage_core.py | 260 | def test_element_strips_whitespace_attributes(self): |
| LOW | tests/core/test_shell_core.py | 14 | def test_simple_cookie_parsing(self): |
| LOW | tests/core/test_shell_core.py | 21 | def test_multiple_cookies_parsing(self): |
| LOW | tests/core/test_shell_core.py | 31 | def test_cookie_with_attributes(self): |
| LOW | tests/core/test_shell_core.py | 43 | def test_malformed_cookie_handling(self): |
| LOW | tests/core/test_shell_core.py | 67 | def test_headers_with_cookies(self): |
| LOW | tests/core/test_shell_core.py | 80 | def test_headers_without_colons(self): |
| LOW | tests/core/test_shell_core.py | 92 | def test_invalid_header_format(self): |
| LOW | tests/core/test_shell_core.py | 102 | def test_headers_with_multiple_colons(self): |
| LOW | tests/core/test_shell_core.py | 113 | def test_headers_with_whitespace(self): |
| LOW | tests/core/test_shell_core.py | 125 | def test_parse_cookies_disabled(self): |
| LOW | tests/core/test_shell_core.py | 187 | def test_request_field_access(self): |
| LOW | tests/core/test_shell_core.py | 212 | def test_known_logging_levels(self): |
| LOW | tests/core/test_shell_core.py | 220 | def test_logging_level_values(self): |
| LOW | tests/fetchers/test_utils.py | 316 | def test_continues_non_blocked_domain(self): |
| LOW | tests/fetchers/test_utils.py | 322 | def test_resource_blocking_takes_priority_over_domain(self): |
| LOW | tests/fetchers/test_utils.py | 329 | def test_domain_blocking_with_resources_disabled(self): |
| LOW | tests/fetchers/test_utils.py | 336 | def test_no_blocking_continues(self): |
| LOW | tests/fetchers/test_utils.py | 342 | def test_does_not_block_partial_domain_match(self): |
| LOW | tests/fetchers/test_utils.py | 349 | def test_multiple_blocked_domains(self): |
| LOW | tests/fetchers/test_utils.py | 437 | def test_ad_domains_is_frozenset(self): |
| LOW | tests/fetchers/test_utils.py | 442 | def test_ad_domains_has_entries(self): |
| LOW | tests/fetchers/test_utils.py | 447 | def test_ad_domains_contains_known_entries(self): |
| LOW | tests/fetchers/test_utils.py | 457 | def test_block_ads_populates_blocked_domains(self): |
| LOW | tests/fetchers/test_utils.py | 465 | def test_block_ads_false_leaves_blocked_domains_none(self): |
| LOW | tests/fetchers/test_utils.py | 471 | def test_block_ads_merges_with_user_domains(self): |
| LOW | tests/fetchers/test_utils.py | 480 | def test_block_ads_does_not_modify_original_set(self): |
| LOW | tests/fetchers/test_utils.py | 131 | def test_parsing_response_status(status_map): |
| LOW | tests/fetchers/test_utils.py | 152 | def test_proxy_string_with_auth(self): |
| LOW | tests/fetchers/test_utils.py | 174 | def test_invalid_proxy_string(self): |
| LOW | tests/fetchers/test_utils.py | 196 | def test_generate_headers_basic(self): |
| LOW | tests/fetchers/test_utils.py | 204 | def test_generate_headers_browser_mode(self): |
| LOW | tests/fetchers/test_utils.py | 233 | def test_response_with_bytes_content(self): |
| LOW | tests/fetchers/test_utils.py | 292 | def test_blocks_disabled_resource_types(self): |
| LOW | tests/fetchers/test_utils.py | 298 | def test_continues_allowed_resource_types(self): |
| LOW | tests/fetchers/test_utils.py | 366 | async def test_blocks_disabled_resource_types(self): |
| LOW | tests/fetchers/test_utils.py | 380 | async def test_continues_non_blocked(self): |
| LOW | tests/fetchers/test_utils.py | 394 | async def test_does_not_block_partial_domain_match(self): |
| LOW | tests/fetchers/test_utils.py | 412 | def test_deep_subdomain_match(self): |
| LOW | tests/fetchers/test_impersonate_list.py | 14 | def test_select_random_browser_with_single_string(self): |
| LOW | tests/fetchers/test_impersonate_list.py | 19 | def test_select_random_browser_with_none(self): |
| LOW | tests/fetchers/test_impersonate_list.py | 24 | def test_select_random_browser_with_list(self): |
| LOW | tests/fetchers/test_impersonate_list.py | 30 | def test_select_random_browser_with_empty_list(self): |
| LOW | tests/fetchers/test_impersonate_list.py | 35 | def test_select_random_browser_with_single_item_list(self): |
| LOW | tests/fetchers/test_impersonate_list.py | 50 | def test_get_with_impersonate_list(self): |
| 476 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | tests/spiders/test_engine.py | 174 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 176 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 190 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 192 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 227 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 229 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 268 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 270 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 304 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 306 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 326 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 328 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 524 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 526 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 554 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 556 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 587 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 589 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 627 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 629 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 787 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 789 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 808 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 810 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 862 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 864 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 18 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 20 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 925 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_engine.py | 927 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_force_stop_checkpoint.py | 25 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_force_stop_checkpoint.py | 27 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_force_stop_checkpoint.py | 121 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_force_stop_checkpoint.py | 123 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_robotstxt.py | 296 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_robotstxt.py | 298 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_robotstxt.py | 390 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_robotstxt.py | 392 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_robotstxt.py | 469 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_robotstxt.py | 471 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_robotstxt.py | 10 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_robotstxt.py | 12 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_robotstxt.py | 40 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_robotstxt.py | 42 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_robotstxt.py | 356 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_robotstxt.py | 358 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_robotstxt.py | 68 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_robotstxt.py | 70 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_robotstxt.py | 151 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_robotstxt.py | 153 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_robotstxt.py | 227 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_robotstxt.py | 229 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_cache.py | 108 | # --------------------------------------------------------------------------- |
| MEDIUM | tests/spiders/test_cache.py | 110 | # --------------------------------------------------------------------------- |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/fetchers/test_impersonate_list.py | 4 | |
| LOW | tests/fetchers/test_impersonate_list.py | 4 | |
| LOW | tests/fetchers/test_merge_request_args.py | 6 | |
| LOW | tests/spiders/test_result.py | 7 | |
| LOW | tests/spiders/test_engine.py | 6 | |
| LOW | tests/spiders/test_engine.py | 14 | |
| LOW | tests/spiders/test_request.py | 5 | |
| LOW | tests/spiders/test_session.py | 3 | |
| LOW | tests/spiders/test_session.py | 5 | |
| LOW | tests/spiders/test_spider.py | 12 | |
| LOW | tests/spiders/test_force_stop_checkpoint.py | 22 | |
| LOW | tests/spiders/test_links.py | 5 | |
| LOW | tests/spiders/test_checkpoint.py | 8 | |
| LOW | tests/parser/test_parser_advanced.py | 5 | |
| LOW | scrapling/__init__.py | 8 | |
| LOW | scrapling/__init__.py | 8 | |
| LOW | scrapling/__init__.py | 9 | |
| LOW | scrapling/__init__.py | 9 | |
| LOW | scrapling/__init__.py | 10 | |
| LOW | scrapling/__init__.py | 10 | |
| LOW | scrapling/__init__.py | 10 | |
| LOW | scrapling/__init__.py | 10 | |
| LOW | scrapling/core/_types.py | 5 | |
| LOW | scrapling/core/_types.py | 5 | |
| LOW | scrapling/core/_types.py | 5 | |
| LOW | scrapling/core/_types.py | 5 | |
| LOW | scrapling/core/_types.py | 5 | |
| LOW | scrapling/core/_types.py | 5 | |
| LOW | scrapling/core/_types.py | 5 | |
| LOW | scrapling/core/_types.py | 5 | |
| LOW | scrapling/core/_types.py | 5 | |
| LOW | scrapling/core/_types.py | 5 | |
| LOW | scrapling/core/_types.py | 5 | |
| LOW | scrapling/core/_types.py | 5 | |
| LOW | scrapling/core/_types.py | 5 | |
| LOW | scrapling/core/_types.py | 5 | |
| LOW | scrapling/core/_types.py | 5 | |
| LOW | scrapling/core/_types.py | 5 | |
| LOW | scrapling/core/_types.py | 5 | |
| LOW | scrapling/core/_types.py | 5 | |
| LOW | scrapling/core/_types.py | 5 | |
| LOW | scrapling/core/_types.py | 5 | |
| LOW | scrapling/core/_types.py | 5 | |
| LOW | scrapling/core/_types.py | 5 | |
| LOW | scrapling/core/_types.py | 5 | |
| LOW | scrapling/core/_types.py | 34 | |
| LOW | scrapling/core/_types.py | 34 | |
| LOW | scrapling/core/utils/__init__.py | 1 | |
| LOW | scrapling/core/utils/__init__.py | 1 | |
| LOW | scrapling/core/utils/__init__.py | 1 | |
| LOW | scrapling/core/utils/__init__.py | 1 | |
| LOW | scrapling/core/utils/__init__.py | 1 | |
| LOW | scrapling/core/utils/__init__.py | 1 | |
| LOW | scrapling/core/utils/__init__.py | 1 | |
| LOW | scrapling/core/utils/__init__.py | 1 | |
| LOW | scrapling/core/utils/__init__.py | 1 | |
| LOW | scrapling/fetchers/__init__.py | 2 | |
| LOW | scrapling/fetchers/__init__.py | 5 | |
| LOW | scrapling/fetchers/__init__.py | 5 | |
| LOW | scrapling/fetchers/__init__.py | 5 | |
| 33 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | cleanup.py | 29 | except Exception as e: |
| LOW | cleanup.py | 37 | except Exception as e: |
| LOW | tests/core/test_storage_core.py | 213 | except Exception as e: |
| MEDIUM | tests/core/test_storage_core.py | 207 | def save_element(idx): |
| LOW | scrapling/cli.py | 72 | except Exception as err: |
| LOW | scrapling/core/ai.py | 307 | except Exception as exc: |
| LOW | scrapling/core/shell.py | 171 | except Exception as e: # pragma: no cover |
| LOW | scrapling/core/shell.py | 203 | except Exception as e: # pragma: no cover |
| LOW | scrapling/core/shell.py | 217 | except Exception as e: |
| LOW | scrapling/core/shell.py | 234 | except Exception as e: |
| LOW | scrapling/core/shell.py | 321 | except Exception as e: # pragma: no cover |
| LOW | scrapling/core/shell.py | 363 | except Exception: # pragma: no cover |
| LOW | scrapling/core/shell.py | 380 | except Exception as e: |
| LOW | scrapling/core/shell.py | 566 | except Exception as e: |
| LOW | scrapling/core/utils/_shell.py | 41 | except Exception as e: # pragma: no cover |
| LOW | scrapling/spiders/robotstxt.py | 31 | except Exception as e: |
| LOW | scrapling/spiders/robotstxt.py | 36 | except Exception as e: |
| LOW | scrapling/spiders/checkpoint.py | 56 | except Exception as e: |
| LOW | scrapling/spiders/checkpoint.py | 79 | except Exception as e: |
| LOW | scrapling/spiders/checkpoint.py | 89 | except Exception as e: |
| LOW | scrapling/spiders/cache.py | 42 | except Exception as e: |
| LOW | scrapling/spiders/cache.py | 68 | except Exception as e: |
| LOW | scrapling/spiders/engine.py | 167 | except Exception as e: |
| LOW | scrapling/spiders/engine.py | 210 | except Exception as e: |
| LOW | scrapling/spiders/spider.py | 140 | except Exception as e: |
| LOW | scrapling/spiders/templates/sitemap.py | 88 | except Exception as e: |
| LOW | scrapling/engines/static.py | 724 | except Exception: |
| LOW | scrapling/engines/static.py | 750 | except Exception: |
| LOW | scrapling/engines/toolbelt/convertor.py | 71 | except Exception as e: # pragma: no cover |
| LOW | scrapling/engines/toolbelt/convertor.py | 76 | except Exception as e: # pragma: no cover |
| LOW | scrapling/engines/toolbelt/convertor.py | 127 | except Exception as e: # pragma: no cover |
| LOW | scrapling/engines/toolbelt/convertor.py | 187 | except Exception as e: # pragma: no cover |
| LOW | scrapling/engines/toolbelt/convertor.py | 192 | except Exception as e: # pragma: no cover |
| LOW | scrapling/engines/toolbelt/convertor.py | 274 | except Exception as e: # pragma: no cover |
| LOW | scrapling/engines/_browsers/_controllers.py | 94 | except Exception: |
| LOW | scrapling/engines/_browsers/_controllers.py | 160 | except Exception as e: # pragma: no cover |
| LOW | scrapling/engines/_browsers/_controllers.py | 173 | except Exception as e: # pragma: no cover |
| LOW | scrapling/engines/_browsers/_controllers.py | 181 | except Exception as e: # pragma: no cover |
| LOW | scrapling/engines/_browsers/_controllers.py | 196 | except Exception as e: |
| LOW | scrapling/engines/_browsers/_controllers.py | 282 | except Exception: |
| LOW | scrapling/engines/_browsers/_controllers.py | 349 | except Exception as e: # pragma: no cover |
| LOW | scrapling/engines/_browsers/_controllers.py | 362 | except Exception as e: # pragma: no cover |
| LOW | scrapling/engines/_browsers/_controllers.py | 370 | except Exception as e: # pragma: no cover |
| LOW | scrapling/engines/_browsers/_controllers.py | 385 | except Exception as e: |
| LOW | scrapling/engines/_browsers/_stealth.py | 99 | except Exception: |
| LOW | scrapling/engines/_browsers/_stealth.py | 243 | except Exception as e: # pragma: no cover |
| LOW | scrapling/engines/_browsers/_stealth.py | 261 | except Exception as e: # pragma: no cover |
| LOW | scrapling/engines/_browsers/_stealth.py | 269 | except Exception as e: # pragma: no cover |
| LOW | scrapling/engines/_browsers/_stealth.py | 284 | except Exception as e: |
| LOW | scrapling/engines/_browsers/_stealth.py | 374 | except Exception: |
| LOW | scrapling/engines/_browsers/_stealth.py | 519 | except Exception as e: # pragma: no cover |
| LOW | scrapling/engines/_browsers/_stealth.py | 537 | except Exception as e: # pragma: no cover |
| LOW | scrapling/engines/_browsers/_stealth.py | 545 | except Exception as e: # pragma: no cover |
| LOW | scrapling/engines/_browsers/_stealth.py | 560 | except Exception as e: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | cleanup.py | 6 | |
| LOW | scrapling/parser.py | 519 | |
| LOW | scrapling/parser.py | 628 | |
| LOW | scrapling/parser.py | 698 | |
| LOW | scrapling/parser.py | 1094 | |
| LOW | scrapling/core/mixins.py | 15 | |
| LOW | scrapling/core/shell.py | 333 | |
| LOW | scrapling/core/shell.py | 149 | |
| LOW | scrapling/core/shell.py | 615 | |
| LOW | scrapling/core/shell.py | 656 | |
| LOW | scrapling/core/utils/_shell.py | 19 | |
| LOW | scrapling/spiders/request.py | 71 | |
| LOW | scrapling/spiders/links.py | 220 | |
| LOW | scrapling/spiders/engine.py | 141 | |
| LOW | scrapling/spiders/engine.py | 324 | |
| LOW | scrapling/spiders/spider.py | 34 | |
| LOW | scrapling/spiders/spider.py | 255 | |
| LOW | scrapling/spiders/spider.py | 297 | |
| LOW | scrapling/spiders/templates/sitemap.py | 94 | |
| LOW | scrapling/spiders/templates/sitemap.py | 105 | |
| LOW | scrapling/spiders/templates/sitemap.py | 125 | |
| LOW | scrapling/engines/static.py | 223 | |
| LOW | scrapling/engines/static.py | 437 | |
| LOW | scrapling/engines/_browsers/_controllers.py | 72 | |
| LOW | scrapling/engines/_browsers/_controllers.py | 102 | |
| LOW | scrapling/engines/_browsers/_controllers.py | 261 | |
| LOW | scrapling/engines/_browsers/_controllers.py | 290 | |
| LOW | scrapling/engines/_browsers/_stealth.py | 76 | |
| LOW | scrapling/engines/_browsers/_stealth.py | 107 | |
| LOW | scrapling/engines/_browsers/_stealth.py | 184 | |
| LOW | scrapling/engines/_browsers/_stealth.py | 352 | |
| LOW | scrapling/engines/_browsers/_stealth.py | 382 | |
| LOW | scrapling/engines/_browsers/_stealth.py | 459 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | tests/fetchers/async/test_dynamic.py | 0 | test doing a basic fetch request with multiple statuses |
| HIGH | tests/fetchers/async/test_stealth.py | 0 | test doing a basic fetch request with multiple statuses |
| HIGH | tests/fetchers/sync/test_dynamic.py | 0 | test doing a basic fetch request with multiple statuses |
| HIGH | scrapling/parser.py | 0 | using the identifier, we search the storage and return the unique properties of the element :param identifier: this is t |
| HIGH | scrapling/core/storage.py | 0 | using the identifier, we search the storage and return the unique properties of the element :param identifier: this is t |
| HIGH | scrapling/core/storage.py | 0 | using the identifier, we search the storage and return the unique properties of the element :param identifier: this is t |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | …-skill/Scrapling-Skill/references/fetching/stealthy.md | 163 | This is for educational purposes only; this example was generated by AI, which also shows how easy it is to work with Sc |
| HIGH | tests/fetchers/test_utils.py | 16 | # A map generated by ChatGPT for most possible `content_type` values and the expected outcome |
| HIGH | docs/overview.md | 17 | Here's an HTML document generated by ChatGPT that we will be using as an example throughout this page: |
| HIGH | docs/development/adaptive_storage_system.md | 26 | Here's a more practical example generated by AI using Redis: |
| HIGH | docs/fetching/stealthy.md | 175 | This is for educational purposes only; this example was generated by AI, which also shows how easy it is to work with Sc |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | tests/parser/test_attributes_handler.py | 279 | # Create an element with many attributes |
| MEDIUM | scrapling/core/shell.py | 55 | # Define the structure for parsed context - Simplified for Fetcher args |
| MEDIUM | scrapling/core/shell.py | 516 | # Create the namespace dictionary |
| MEDIUM | scrapling/engines/toolbelt/custom.py | 29 | """This class is returned by all engines as a way to unify the response type between different libraries. |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | tests/spiders/test_engine.py | 473 | |
| MEDIUM | scrapling/spiders/spider.py | 169 | |
| MEDIUM | scrapling/spiders/templates/sitemap.py | 81 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | scrapling/core/shell.py | 238 | # Check if raw data looks like JSON, prefer 'json' param if so |
| LOW | scrapling/core/shell.py | 343 | # Check if this function has known parameters |
| LOW | scrapling/engines/_browsers/_base.py | 572 | # Check if turnstile captcha is embedded inside the page (Usually inside a closed Shadow iframe) |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …nt-skill/Scrapling-Skill/references/fetching/static.md | 350 | 'username': 'user@example.com', |
| LOW | docs/fetching/static.md | 357 | 'username': 'user@example.com', |