প্রকল্প সম্পর্কে
কাটানা একটি Go-ভিত্তিক ওয়েব ক্রলিং এবং স্পাইডারিং ফ্রেমওয়ার্ক যা সরাসরি এবং স্বয়ংক্রিয় ওয়ার্কফ্লোর অংশ হিসাবে ব্যবহারের উদ্দেশ্যে তৈরি। এটি একটি একক URL, কমা-বিচ্ছিন্ন URL, একটি তালিকা ফাইল বা পাইপযুক্ত STDIN ইনপুট হিসাবে টার্গেট গ্রহণ করে এবং আবিষ্কৃত URL এবং মেটাডেটা STDOUT, একটি ফাইল বা JSONL-এ নির্গত করতে পারে। ইনস্টলেশন বিকল্পগুলির মধ্যে রয়েছে go install, প্রি-বিল্ট রিলিজ বাইনারি এবং একটি Docker ইমেজ।
স্ট্যান্ডার্ড ক্রল মোড Go-এর HTTP লাইব্রেরি ব্যবহার করে এবং JavaScript বা DOM রেন্ডার করে না। ঐচ্ছিক হেডলেস মোড পৃষ্ঠা রেন্ডার করতে, JavaScript চালাতে এবং ব্রাউজার-লোডেড বা অ্যাসিঙ্ক্রোনাস এন্ডপয়েন্ট আবিষ্কার করতে Chrome ব্যবহার করে। হেডলেস কনফিগারেশনের মধ্যে রয়েছে সিস্টেম Chrome নির্বাচন, একটি কাস্টম Chrome পাথ বা ডিবাগার WebSocket URL, ব্রাউজার ডেটা ডিরেক্টরি, ইনকগনিটো এবং স্যান্ডবক্স নিয়ন্ত্রণ, দৃশ্যমান-ব্রাউজার মোড, অতিরিক্ত Chrome বিকল্প, XHR নিষ্কাশন এবং heuristic, load, DOMContentLoaded, networkidle এবং none-এর মতো পৃষ্ঠা-লোড কৌশল। JavaScript রেন্ডারিংয়ের জন্য একটি DOM অপেক্ষার সময় কনফিগার করা যেতে পারে।
কাটানা JavaScript ফাইল থেকে এন্ডপয়েন্ট পার্স এবং ক্রল করতে পারে এবং ঐচ্ছিকভাবে jsluice পার্সিং ব্যবহার করতে পারে। এটি পরীক্ষামূলক স্বয়ংক্রিয় ফর্ম পূরণ, ফর্ম এবং ফিল্ড নিষ্কাশন, কাস্টম ফর্ম কনফিগারেশন এবং CapSolver-এর মাধ্যমে বাহ্যিক সমাধানের সাথে স্বয়ংক্রিয় ক্যাপচা সনাক্তকরণ সমর্থন করে। নথিভুক্ত সমর্থিত ক্যাপচা প্রকারগুলি হল reCAPTCHA v2, reCAPTCHA v3, reCAPTCHA Enterprise, Cloudflare Turnstile এবং hCaptcha।
ক্রল আচরণ গভীরতা, সময়কাল, প্রতি ডোমেনে সর্বোচ্চ পৃষ্ঠা, প্রতিক্রিয়া আকার, টাইমআউট, পুনরায় চেষ্টা, পুনঃনির্দেশ হ্যান্ডলিং, প্রক্সি, কাস্টম হেডার বা কুকি, কাস্টম রেজলভার এবং গভীরতা-প্রথম বা প্রস্থ-প্রথম কৌশল দ্বারা সীমাবদ্ধ করা যেতে পারে। এটি robots.txt এবং sitemap ফাইল প্রক্রিয়া করতে পারে, প্রযুক্তি সনাক্ত করতে পারে এবং ঐচ্ছিকভাবে TLS ক্লায়েন্ট হেলো র্যান্ডমাইজ করতে পারে।
স্কোপ নিয়ন্ত্রণের মধ্যে রয়েছে পূর্বনির্ধারিত rdn, fqdn এবং dn ফিল্ড, রেগুলার-এক্সপ্রেশন অন্তর্ভুক্ত এবং বাদ দেওয়ার নিয়ম, হোস্ট-স্কোপ অক্ষমকরণ, বাহ্যিক-URL প্রদর্শন এবং CDN, প্রাইভেট IP রেঞ্জ, CIDR, IP বা রেজেক্স-ম্যাচ করা হোস্ট বাদ দেওয়া। আউটপুট ফিল্টারিং URL রেজেক্স, এক্সটেনশন ম্যাচিং বা ফিল্টারিং, DSL-ভিত্তিক প্রতিক্রিয়া শর্ত, পৃষ্ঠা-টাইপ ফিল্টার, কোয়েরি-প্যারামিটার নরমালাইজেশন, অনুরূপ-URL ফিল্টারিং এবং ডুপ্লিকেট-কন্টেন্ট ফিল্টারিং সমর্থন করে। পৃষ্ঠা-বিষয়বস্তু সাদৃশ্য simhash, TF-IDF বা BM25 ব্যবহার করতে পারে কনফিগারযোগ্য থ্রেশহোল্ড এবং প্রতি-ক্লাস্টার প্রক্রিয়াকরণ বাজেট সহ।
রেট এবং এক্সিকিউশন নিয়ন্ত্রণগুলি সমবর্তী ফেচার, সমান্তরাল ইনপুট, অনুরোধ বিলম্ব এবং প্রতি সেকেন্ডে এবং প্রতি মিনিটে গ্লোবাল বা প্রতি-হোস্ট রেট সীমা কভার করে। আউটপুট কনফিগারযোগ্য ফিল্ড বা টেমপ্লেট ব্যবহার করতে পারে, HTTP অনুরোধ এবং প্রতিক্রিয়া সংরক্ষণ করতে পারে, কাঁচা ডেটা বা বডি বাদ দিতে পারে এবং নীরব, ভার্বোজ বা ডিবাগ মোডে চালাতে পারে। ক্রলগুলি একটি রিজিউম কনফিগারেশন ফাইল থেকে পুনরায় শুরু করা যেতে পারে।
একটি ঐচ্ছিক নলেজ-বেস বৈশিষ্ট্য স্বয়ংক্রিয়ভাবে ডাউনলোড করা মডেল ব্যবহার করে ML-ভিত্তিক পৃষ্ঠা-টাইপ এবং ফর্ম শ্রেণীবিভাগ প্রদান করে। এটি গোপনীয়তা নিষ্কাশন করতে পারে, ঐচ্ছিকভাবে লাইভ প্রদানকারী কল দিয়ে সেগুলি যাচাই করতে পারে এবং REST, GraphQL, SOAP এবং XHR এন্ডপয়েন্ট শ্রেণীবদ্ধ করতে পারে। প্রকল্প ডকুমেন্টেশন ব্যবহারকারীদের টুলটি দায়িত্বশীলভাবে ব্যবহার করতে এবং তাদের নিজস্ব ব্যবহারের জন্য তারা দায়ী তা মনে করিয়ে দেয়।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.