Commit Graph

44 Commits

Author SHA1 Message Date
Karim shoair a9d05cc0ef style: Removing dead code/docstrings and correcting type hints 2025-09-19 04:49:30 +03:00
Abdullah 7ba333c3c9 perf(session): improve page management and speed up execution
Close pages immediately after tasks finish to reduce resource usage and
improve overall performance. Update corresponding test files to reflect
the new page lifecycle management.
2025-09-17 18:49:45 +03:00
Karim shoair 5683965367 fix(sessions): Fixing a bug with max pages counter 2025-09-16 01:47:31 +03:00
Karim shoair 5bcd4c2927 fix: A workaround for Playwright issue with page content retrieving on windows 2025-09-15 21:34:20 +03:00
Karim shoair 7a7097b775 fix: Stop removing browser default page
Looks like it's problematic with some systems so it doesn't worth the trouble
2025-09-15 13:43:47 +03:00
Karim shoair 13d7e70cb7 refactor: Make all fetchers as an optional dependency group
+ Removing some dead code
2025-09-13 16:07:48 +03:00
Karim shoair 8c4d6158d6 feat(browser fetchers): A new option to control page JS 2025-09-13 03:59:12 +03:00
Karim shoair 330d03559c style: applying the new ruff rules to all files 2025-09-13 03:22:53 +03:00
Karim shoair 60be9dc816 feat: Validate all fetch-level parameters
So it's validated like the session-level ones. Needs improvement, but that's for later
2025-09-13 03:22:08 +03:00
Karim shoair 0c7db3c9d9 fix: validation keywords 2025-09-13 02:07:04 +03:00
Karim shoair adb82008e5 style: Using keywords for validation
Less lines of code and more stylish
2025-09-12 04:33:00 +03:00
Karim shoair 05a714980d docs: Update all docstring according to the new changes 2025-09-11 04:13:36 +03:00
Karim shoair 9838d741d0 refactor/feat(browser fetchers): make it possible to have a configuration per page in sessions
- Also, no need for the `page_action` argument function to return the page again
2025-09-11 03:48:55 +03:00
Karim shoair ecaec65049 refactor/fix(browser fetchers): Solving a logic bug in page rotation
- Pages that get reused in rotation are possibly contaminated from previous settings used on them, and some are stubborn to remove, so the new approach replaces finished pages with new ones.
- Removed the `max_pages` from sync `StealthySession` to match `DynamicSession` (Doesn't mean anything in sync code)
2025-09-08 16:08:57 +03:00
Karim shoair f298b76b8e perf(StealthySession): Close persistent context default page 2025-09-07 18:48:51 +03:00
Karim shoair 710f994339 perf(DynamicSession): Close persistent context default page 2025-09-07 18:48:40 +03:00
Karim shoair 4341477a66 perf(StealthyFetcher): Slight optimization 2025-09-07 04:58:55 +03:00
Karim shoair 6ad1bab2e4 feat(DynamicFetcher): add the ability to add init_script to context (#56) 2025-09-02 16:25:13 +03:00
Karim shoair 9543f171aa feat(StealthyFetcher): add the ability to add init_script to context 2025-09-02 16:19:22 +03:00
Karim shoair 967c0956a1 feat(DynamicSession): Improve stealth mode 2025-08-31 02:57:12 +03:00
Karim shoair 6eb580a6d0 feat(DynamicSession): Improve normal fetches speed 2025-08-31 02:56:34 +03:00
Karim shoair b5be2547d7 fix(dynamicSession): issue with headless 2025-08-31 01:29:47 +03:00
Karim shoair 2f402f4835 style: add flags for tests coverage
- Some are already tested but the coverage report can't see it.
- Some are not necessary to test or too hard to test on GitHub's CI
2025-08-17 01:02:14 +03:00
Karim shoair 009bbb20c0 refactor(dynamic Fetcher): small optimization 2025-08-16 23:20:54 +03:00
Karim shoair 6c9a960a44 fix(dynamicFetcher): Fix a bug with real_chrome argument 2025-08-16 16:01:32 +03:00
Karim shoair ae9ccaec79 style: A lot of type hints correction
Since we are using Py3.10 as minimum version now, we remove Union when possible
2025-07-30 02:46:57 +03:00
Karim shoair e7cdd39695 style: replacing os with Pathlib and small optimizations 2025-07-30 01:15:28 +03:00
Karim shoair 9bcb9e9d93 style: General type hints fixes and imports optimizing 2025-07-29 23:43:06 +03:00
Karim shoair 264ae02aa7 refactor: huge change, many features/class got a better naming
- `Adaptor` became `Selector`
- `Adaptors` became `Selectors`
- `auto_match` argument/feature became `adaptive`
- `adaptor_arguments` argument became `selector_config`
- `automatch_domain` argument became `adaptive_domain`
- `additional_arguments` argument became `additional_args`
- `storage_adaptors` file became just `storage`
2025-07-29 04:20:23 +03:00
Karim shoair d1aa0be6e4 refactor(StealthyFetcher): Remove virtual mode and use persistent context
Solves #64 completely too
2025-07-27 03:41:28 +03:00
Karim shoair 63a9db21a1 refactor(DynamicSession): Optimization + Removing max_pages from sync version 2025-07-06 04:59:22 +03:00
Karim shoair dbf7aa7761 feat(DynamicFetcher): Use persistent context by default for better stealth
And might solve the sandbox issue with GitHub
2025-06-27 03:02:46 +03:00
Karim shoair 8395db9121 fix(controllers): Fix issue with async adding stealth scripts 2025-06-27 01:39:32 +03:00
Karim shoair 37e842b796 fix(controllers): Fix issue with adding stealth scripts 2025-06-27 01:04:58 +03:00
Karim shoair 53318f3a2a fix(StealthyFetcher): Fix passed proxy type 2025-06-26 16:36:30 +03:00
Karim shoair 38851698ad refactor: optimize imports and docstrings correction 2025-06-25 23:15:32 +03:00
Karim shoair 63ff12bcd6 docs: correcting a small mistake 2025-06-23 03:38:34 +03:00
Karim shoair 78b81c537f fix(fetchers): Fix the bug of referer and google_search argument conflict 2025-06-23 03:36:11 +03:00
Karim shoair 69b983b42f feat(fetchers): Improve StealthyFetcher + Adding StealthySession/AsyncStealthySession classes 2025-06-23 03:23:28 +03:00
Karim shoair 460b4443c2 refactor(controllers): Improve type validation 2025-06-22 19:59:40 +03:00
Karim shoair 0fe04e499f refactor(validators): Optimize imports 2025-06-22 18:55:13 +03:00
Karim shoair fc42487a5f refactor(controllers): Optimize imports 2025-06-22 18:53:44 +03:00
Karim shoair 0a570a7ca7 docs: Updating doc strings 2025-06-22 01:59:38 +03:00
Karim shoair 145b710960 feat(fetchers): Adding the foundation of the new browser-based fetchers logic 2025-06-19 04:06:52 +03:00