প্রকল্প সম্পর্কে
Pydoll হলো WebDriver ছাড়াই Chromium-ভিত্তিক ব্রাউজার অটোমেট করার একটি পাইথন লাইব্রেরি। এটি WebSocket-এর মাধ্যমে সরাসরি DevTools Protocol দিয়ে Chrome-এর সাথে সংযোগ করে, তাই কোনো driver binary নেই এবং navigator.webdriver ফ্ল্যাগও প্রকাশ পায় না। API-টি asynchronous এবং সম্পূর্ণ typed, asyncio-এর উপর নির্মিত এবং mypy দিয়ে যাচাই করা।
README-তে বর্ণিত প্রধান সক্ষমতাগুলো:
- Humanized ইন্টারঅ্যাকশন: Bezier কার্ভ বরাবর মাউস মুভমেন্ট, বাস্তবসম্মত টাইপিং ও স্ক্রল ফিজিক্স, humanize=True দিয়ে সক্রিয় করা যায়। README-তে বলা হয়েছে, ব্রাউজার ও IP reputation-এর উপর নির্ভর করে Cloudflare Turnstile বা reCAPTCHA v3-এর মতো behavioral চ্যালেঞ্জ পাস করার জন্য এটি প্রায়ই যথেষ্ট।
- ফিঙ্গারপ্রিন্ট ইনজেকশন: tab.apply_fingerprint() User-Agent, Client Hints, navigator, WebGL, canvas, screen, fonts, timezone এবং locale ওভাররাইড করে, মানগুলো সামঞ্জস্যপূর্ণ রাখে। README-তে বলা হয়েছে, ইনজেক্ট করা ওভাররাইডগুলো toString এবং prototype introspection থেকে টিকে থাকে এবং Web Workers-এ ছড়িয়ে পড়ে। এতে আরও উল্লেখ আছে যে Pydoll ফিঙ্গারপ্রিন্ট তৈরি বা সরবরাহ করে না; উদাহরণ প্রোফাইলগুলো শুধু রেফারেন্স।
- Structured extraction: একটি Pydantic মডেল সংজ্ঞায়িত করে tab.extract() বা tab.extract_all() কল করলে typed, validated ডেটা পাওয়া যায়, সাথে CSS/XPath স্বয়ংক্রিয় শনাক্তকরণ, attribute targeting, custom transform এবং nested মডেল।
- Shadow DOM এবং iframe: closed shadow root সহ shadow root সাপোর্ট, এবং cross-origin iframe, একই find/query/click API ব্যবহার করে।
- নেটওয়ার্ক নিয়ন্ত্রণ: 광고 ও tracker ব্লক করতে request interception, API discovery-র জন্য traffic monitoring, HAR 1.2 রেকর্ডিং ও রিপ্লে, এবং ব্রাউজার সেশন উত্তরাধিকারী authenticated HTTP request।
- Page bundle: একটি পেজ ও তার asset একটি zip হিসেবে সংরক্ষণ, ঐচ্ছিকভাবে asset একটি একক HTML ফাইলে inline করা।
- Concurrency এবং remote সংযোগ: একাধিক tab ও isolated browser context, সাথে Docker বা remote server-এ থাকা ব্রাউজারে সংযোগ।
- Custom recovery logic ও exponential backoff সহ retry decorator।
ইনস্টলেশন pip install pydoll-python-এর মাধ্যমে, কোনো WebDriver binary বা external dependency প্রয়োজন নেই। README-তে উল্লেখ আছে যে প্রকল্পটি বর্তমানে একজন ব্যক্তি রক্ষণাবেক্ষণ করছেন, উন্নয়ন আরও শান্ত গতিতে চলছে, এবং প্রকল্পটি 10k star-এ পৌঁছালে Firefox সাপোর্ট একটি লক্ষ্য হিসেবে পরিকল্পিত। এতে আরও বলা হয়েছে যে Turnstile bypass কোনো magic bypass নয় এবং এটি পরিবেশ ও IP reputation-এর উপর নির্ভর করে।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.