Commit Graph

350 Commits

Author SHA1 Message Date
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 e4b1e00e63 build: Pump up the version 2025-09-11 04:14:32 +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 72e26c23e8 fix(DynamicFetcher): Improve stealth mode 2025-09-07 03:13:51 +03:00
Karim shoair 934d8a1452 build: Pump up the version 2025-09-02 16:33:52 +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 af9a62a539 fix: fix for shell imported by mistake issue (#76) 2025-09-02 15:23:15 +03:00
Karim shoair 812cf2d21b build: Pump up the version 2025-09-01 06:43:41 +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 76721f906e docs(cli): Correcting docstrings 2025-08-30 22:12:33 +03:00
Karim shoair c66c48e3ae fix(extract): Correcting docs for the css-selector option 2025-08-29 21:34:39 +03:00
Karim shoair cf57af588e docs: update doc strings with correct naming 2025-08-25 06:08:15 +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 84337ef1ac fix(parser): count all nested children of ignored tags in get_all_text 2025-08-16 14:24:51 +03:00
Karim shoair 13700e2692 fix: improve error handling 2025-08-15 04:52:11 +03:00
Karim shoair 825896c6a8 fix: improve checking for valid proxy and valid CDP URL 2025-08-03 16:31:16 +03:00
Karim shoair 740ae815c3 perf: speeding up find_by_text and find_by_regex by 3% 2025-08-02 19:46:18 +03:00
Karim shoair 67658f1723 perf: Speeding up below_elements and relocate by 3% 2025-08-02 19:45:43 +03:00
Karim shoair d1a2ecd341 perf: optimize get_all_text and adaptive logic by another 10% 2025-08-02 04:08:14 +03:00
Karim shoair 1ec6f0e0f0 perf: optimizing find_similar method 2025-08-02 03:39:05 +03:00
Karim shoair aec4889d25 perf: Optimizing next and previous properties 2025-08-02 03:37:48 +03:00
Karim shoair 548a40d850 perf: speed up get_all_text function by another 20% 2025-08-02 03:36:59 +03:00
Karim shoair 4c4202daae perf(parser): Speeding up css_first and xpath_first than normal ones 2025-08-01 16:41:09 +03:00
Karim shoair 83a19f3b17 perf(parser): A lot of optimizations to speed things up 2025-08-01 06:28:52 +03:00
Karim shoair f93348b915 style: remove unused code 2025-08-01 05:43:31 +03:00
Karim shoair df48662c00 perf(parser): A lot of optimizations to speed things up 2025-08-01 05:42:32 +03:00
Karim shoair af5f3688c1 fix: moving types to use Union again 2025-07-30 05:39:25 +03:00
Karim shoair 27658b33ff fix: fix invalid return type 2025-07-30 03:39:33 +03:00
Karim shoair 32cb76604c style: Adjustments to the translator 2025-07-30 03:28:16 +03:00
Karim shoair 5bb1266fa5 style: using isinstance function as the main way for type checking 2025-07-30 03:14:23 +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 ca12a11b7e style(utils): optimize imports 2025-07-30 02:08:01 +03:00
Karim shoair db781dcc32 style: Removing dead code 2025-07-30 02:03:39 +03:00
Karim shoair 3c5de8e0f2 perf: Speed up clean functions 2025-07-30 02:03:27 +03:00
Karim shoair 9415acccce fix: shortcuts for backward compatibility 2025-07-30 01:50:48 +03:00
Karim shoair 7300efa77e style(parser): optimize selectors instances creation 2025-07-30 01:45:26 +03:00