Commit Graph

31 Commits

Author SHA1 Message Date
Karim shoair 3754547e58 refactor: removing unused code 2025-06-23 03:20:49 +03:00
Karim shoair c84143129e fix(fetchers): Adjusting all cookies returned from each fetcher
The cookies returned now can be passed again to each fetcher's engine without further validation by us.
2025-05-10 19:16:34 +03:00
Karim shoair 0c8dd63f87 chore: migrating to ruff and updating pre-commit hooks 2025-04-13 17:32:00 +02:00
Karim shoair 811cd2d9b0 refactor: make auto_match disabled by default 2025-03-26 19:25:19 +02:00
Karim shoair fec8215631 docs: Clearer docs for recent changes 2025-03-26 05:56:49 +02:00
Karim shoair 7c0c23fd33 feat(unified import): Make one import for all fetchers
Why I didn't think of that from the start? IDK
2025-03-26 02:48:34 +02:00
Karim shoair ff3962b1ad fix: Adjusting cache size in all the library 2025-03-17 06:46:41 +02:00
Karim shoair 7bef44ea4c fix: Limit caching in all the library
To lower memory usage with high numbers of requests. Possibly improve case #48
2025-03-15 02:01:16 +02:00
Karim shoair 3d2418b67a feat(Fetcher): Add the redirections history to Fetcher
Feature requested in #32
2025-02-22 16:58:54 +02:00
Karim shoair 6652b8ac18 fix: solve the response log issue so now you get log for every response from Fetchers 2024-12-19 12:29:34 +02:00
Karim shoair c282cb3cb7 fix: Stopped the log spamming that happens with multiple instances creation 2024-12-16 13:35:48 +02:00
Karim shoair af4f2c0f74 feat(PlaywrightFetcher): Add async support for PlaywrightFetcher 2024-12-16 00:15:47 +02:00
Karim shoair 889c111855 refactor(Playwright Engine): Separate what we can for cleaner code and the async function later
The caching will give a slight performance increase with bulk requests
2024-12-15 23:25:02 +02:00
Karim shoair 193827e27b refactor(api)!: Unifying log under 1 logger and removing debug parameter
So now you control the logging and the debugging from the shell through the logger with the name 'scrapling'
2024-12-11 21:41:37 +02:00
Karim shoair 9f0001af26 feat: logging for response status 2024-12-11 20:14:32 +02:00
Karim shoair b4f90615c3 Adding keep_cdata argument for Adaptor and Response classes
This will force lxml to keep cdata while parsing html if you want
2024-12-10 22:06:08 +02:00
Karim shoair 1a17b2ce46 Sorting all library imports with isort 2024-11-30 14:02:06 +02:00
Karim shoair 06a47f9644 Small fix for the ResponseEncoding class 2024-11-26 22:55:22 +02:00
Karim shoair 14ffdbd6fc Handling problematic encodings 2024-11-26 22:27:05 +02:00
Karim shoair 1929d9bebb Fix for docs 2024-11-23 17:48:05 +02:00
Karim shoair 073ab2c7e3 Universally handling different response encoding and charsets for all responses
Thanks for @andyfcx
2024-11-23 15:40:41 +02:00
Karim shoair 19ad82caef Calculate status text manually if it's not returned by PlayWright API 2024-11-20 13:27:18 +02:00
Karim shoair b60ac7f56a Change debug mode to be off by default 2024-11-16 21:11:58 +02:00
Karim shoair 572df6b3b4 Fixing the way Response object handles sub items in some edge cases
+ Do it with the least impact on performance
2024-11-16 13:54:55 +02:00
Karim shoair 095d50cd75 Making the Response returned from all fetchers same as Adaptor object
but with added attributes
2024-11-15 02:23:14 +02:00
Karim shoair 239e2c73bf Correctly get page content after JS Execution
- Thanks for @AbdullahY36 for the heads-up.

**Update reference** https://developer.mozilla.org/en-US/docs/Web/API/Document/DOMContentLoaded_event
2024-11-10 16:11:46 +02:00
Karim shoair b90c8adb02 Adding the argument automatch_domain to all fetchers 2024-11-09 15:38:27 +02:00
Karim shoair e270b00811 Toolbelt subpackage custom functions general adjustments 2024-11-03 23:17:20 +02:00
Karim shoair be350f21dd Adding documentation to the base fetcher...
+ Configure logger from here.
+ Enable auto_match by default.
2024-11-03 13:45:13 +02:00
Karim shoair 1ff1c93bcf Give response's body bytes priority over response's text 2024-11-03 13:04:02 +02:00
Karim shoair 145c03daff Big structure changes (check commit description)
- Moved most of the parser functions/files to the core package.
- Converted tools file to a package and made separate files for similar functions.
- Now all fetcher engines return a Response object
- Instead of selecting an engine to use and passing config to it, we have separate fetcher classes so the user can choose what to use while importing.
- I added a new custom fetcher so the user can create and use an engine.
- More...
2024-11-03 01:04:02 +02:00