ওয়েব স্ক্র্যাপিং প্রোক্সি, রোটেটিং রেসিডেনশিয়াল আইপি দিয়ে স্থির ডেটা সংগ্রহ
ওয়েব স্ক্র্যাপিং প্রোক্সি একাধিক আইপিতে রিকোয়েস্ট ভাগ করে বড় পরিমাণে পাবলিক পেজ বিচ্ছিন্নতা ছাড়াই পড়তে সাহায্য করে। IPKite রোটেটিং রেসিডেনশিয়াল প্রোক্সি প্রতি রিকোয়েস্টে নতুন রেসিডেনশিয়াল আইপি বরাদ্দ করে এবং দেশ ও শহর টার্গেট করে স্থানীয় ভিউ পেতে সাহায্য করে।
ওয়েব স্ক্র্যাপিংয়ের জন্য প্রোক্সি কেন প্রয়োজন
ওয়েব স্ক্র্যাপিং একই সাইটের অনেক পৃষ্ঠা অল্প সময়ে পড়ার কাজ। সব রিকোয়েস্ট এক আইপি থেকে গেলে সাইট সেই অ্যাড্রেসের রিকোয়েস্ট সংখ্যা দেখে স্পিড লিমিট করে, সংগ্রহ দ্রুত ধীর হয়ে যায়। প্রোক্সি দিয়ে রিকোয়েস্ট একাধিক আইপিতে ভাগ করলে প্রতি অ্যাড্রেসে রিকোয়েস্ট সংখ্যা উপযুক্ত স্তরে থাকে এবং সংগ্রহ সমানভাবে চলে।
লোকেশনও গুরুত্বপূর্ণ। অনেক ওয়েবসাইট আপনার অ্যাক্সেস করা দেশের উপর ভিত্তি করে ভাষা, মূল্য, পণ্যের তালিকা আলাদাভাবে দেখায়। একটি দেশ নির্বাচন করে সংযোগ করলে আপনি সেই দেশের দর্শকরা যে ডেটা দেখে তা সঠিকভাবে সংগ্রহ করতে পারবেন।
IPKite রোটেটিং রেসিডেনশিয়াল প্রোক্সি একটি সংযোগ ঠিকানা দিয়ে প্রতিটি অনুরোধে ভিন্ন রেসিডেনশিয়াল IP বরাদ্দ করে। সংগ্রহ প্রোগ্রাম শুধুমাত্র প্রোক্সি ঠিকানা একবার যোগ করলেই হয়, এবং IP তালিকা আলাদাভাবে পরিচালনা করার প্রয়োজন নেই।
ওয়েব স্ক্র্যাপিংয়ের জন্য উপযুক্ত IPKite প্রোক্সি
ওয়েব স্ক্র্যাপিংয়ের জন্য রোটেটিং রেসিডেনশিয়াল প্রোক্সি সবচেয়ে উপযুক্ত। ইউজারনেমে সেশন ভ্যালু না দিলে প্রতি রিকোয়েস্টে নতুন রেসিডেনশিয়াল আইপি বরাদ্দ হয়, ফলে তালিকা পৃষ্ঠা এবং বিস্তারিত পৃষ্ঠা হাজার হাজার পড়লেও রিকোয়েস্ট স্বাভাবিকভাবে ভাগ হয়ে যায়। লগইন বা পেজ নেভিগেশনের মতো একই অ্যাড্রেস চালিয়ে যেতে হলে স্টিকি সেশন ব্যবহার করুন।
টার্গেট যদি সাধারণ পাবলিক সাইট হয় এবং রিকোয়েস্ট সংখ্যা খুব বেশি হয়, তাহলে ডেটাসেন্টার প্রোক্সি একসাথে ব্যবহার করাও ভালো। ট্রাফিক সীমাহীন হওয়ায় ইমেজ সমৃদ্ধ পেজও খরচের চিন্তা ছাড়াই পড়তে পারবেন।
একসাথে সংযোগ সংখ্যার কোনো সীমা নেই, তাই কালেকশন প্রোগ্রামের ওয়ার্কার সংখ্যা বাড়ানোর সাথে সাথে প্রসেসিং ক্ষমতাও বাড়ে। ওয়ার্কার একাধিক সার্ভারে ভাগ করে চালালেও একই ব্যবহারকারীর নাম এবং পাসওয়ার্ড ব্যবহার করা যায়।
- রোটেটিং রেসিডেনশিয়াল প্রোক্সি: বেশিরভাগ স্ক্র্যাপিং কাজ, আঞ্চলিক ডেটা
- স্থির সেশন: লগইনের পর একাধিক পৃষ্ঠা ধারাবাহিকভাবে পড়ার সময়
- ডেটাসেন্টার প্রোক্সি: অধিক অনুরোধ করা সাধারণ সাইট, API কল
ওয়েব স্ক্র্যাপিংয়ের জন্য প্রস্তাবিত প্রোক্সি সেটিংস
প্রথমে ৫-১০টি কনকারেন্ট রিকোয়েস্ট দিয়ে শুরু করে রেসপন্স কোড চেক করুন, যদি স্ট্যাবল রেসপন্স পেতে থাকেন তবে ধীরে ধীরে সংখ্যা বাড়ান। শুধুমাত্র প্রয়োজনীয় দেশগুলো সিলেক্ট করলে বিস্তৃত IP রেঞ্জ ব্যবহার করতে পারবেন।
| আইটেম | রিকমেন্ডেড মান | কারণ |
|---|---|---|
| IP টাইপ | রোটেটিং (কোন সেশন নেই) | প্রতিটি রিকোয়েস্টে নতুন IP দিয়ে রিকোয়েস্ট সমানভাবে ভাগ করুন |
| দেশ | টার্গেট সাইটের প্রধান বাজার দেশ | লোকাল ভিজিটরদের দেখা ডেটা সংগ্রহ করুন |
| শহর | প্রয়োজন হলে | শহরভিত্তিক পার্থক্য আছে এমন সাইটে শুধুমাত্র নির্দিষ্ট করুন |
| প্রোটোকল | HTTP পোর্ট 7000 | বেশিরভাগ সংগ্রহ লাইব্রেরির সাথে সরাসরি সামঞ্জস্যপূর্ণ |
| একাধিক অনুরোধ | ছোট করে শুরু করে ধীরে ধীরে বাড়ান | টার্গেট সাইটের প্রতিক্রিয়া দেখে উপযুক্ত গতি খুঁজুন |
| টাইমআউট | 20-30 সেকেন্ড | ধীর লোডিং পেজও ধৈর্য ধরে নিন |
ওয়েব স্ক্র্যাপিংয়ের জন্য প্রোক্সি সেটআপ উদাহরণ
নিচে Python ব্যবহার করে মার্কিন যুক্তরাষ্ট্র IP প্রতিটি রিকোয়েস্টে পরিবর্তন করে পৃষ্ঠা পড়ার উদাহরণ। ইউজারনেমের cc মান পরিবর্তন করে অন্যান্য দেশের ডেটা পেতে পারেন।
import requests
proxy = "http://USERNAME-cc-us:PASSWORD@gw.ipkite.com:7000"
proxies = {"http": proxy, "https": proxy}
urls = ["https://example.com/list?page=1", "https://example.com/list?page=2"]
for url in urls:
r = requests.get(url, proxies=proxies, timeout=30)
print(url, r.status_code, len(r.text))ওয়েব স্ক্র্যাপিং প্রোক্সি খরচের উদাহরণ
রেসিডেনশিয়াল প্রোক্সি শুধু ব্যবহৃত ট্রাফিকের জন্য চার্জ করে তাই পেজ সাইজ ও পেজ সংখ্যা দিয়ে খরচ আগে থেকে ক্যালকুলেট করতে পারবেন। শুধু HTML লোড করে ইমেজ ও ফন্ট লোড না করলে সাধারণত একটি পেজ ৫০-১৫০KB এর মধ্যে হয়।
ক্রয়কৃত GB-এর কোনো মেয়াদ শেষের তারিখ নেই, আপনি যতদিন খুশি ব্যবহার করতে পারেন। এক মাসের চেয়ে বড় প্যাকেজ কিনলে প্রতি GB-এর দাম কমে যায় এবং পরবর্তী মাসেও ব্যবহার করা যায়।
| মাসিক সংগ্রহ পরিমাণ | প্রয়োজনীয় ট্রাফিক | ক্রয় উদাহরণ | খরচ |
|---|---|---|---|
| পৃষ্ঠা ১ লাখ x 100KB | প্রায় ১০জিবি | 10GB | $33.00 |
| পৃষ্ঠা ৩ লাখ x 100KB | প্রায় ৩০জিবি | 30GB ম্যানুয়ালি লিখুন ($3.30 প্রতি GB) | $99.00 |
| পৃষ্ঠা ১০ লাখ x 100KB | প্রায় ১০০জিবি | 100GB | $330.00 |
ওয়েব স্ক্র্যাপিং প্রোক্সি রেসপন্স কোড অনুযায়ী প্রসেসিং
সংগ্রহের সময় রেসপন্স কোড রেকর্ড রাখলে কাজের অবস্থা এক নজরে দেখা যায়। রোটেটিং রেসিডেনশিয়াল প্রোক্সিতে প্রতিটি রিকোয়েস্টে নতুন আইপি বরাদ্দ হয়, তাই বেশিরভাগ অস্থায়ী রেসপন্স কিছুক্ষণ অপেক্ষা করে আবার পাঠালেই স্বাভাবিক রেসপন্স পাবেন।
- হেডার মেলান: সাধারণ ব্রাউজারের মতো User-Agent এবং ভাষা মান পাঠান
- পুনরায় চেষ্টার সংখ্যা: প্রতি ঠিকানায় ২-৩ বার পুনরায় পাঠান
| রেসপন্স | অর্থ | প্রসেসিং পদ্ধতি |
|---|---|---|
| 200 | সঠিক প্রতিক্রিয়া | ডেটা সংরক্ষণ করুন এবং পরবর্তী ঠিকানায় |
| 301 / 302 | অন্য ঠিকানায় যান | রিডাইরেক্ট করা অ্যাড্রেস অনুসরণ করে সংরক্ষণ করুন |
| 403 | অ্যাক্সেস শর্ত পরীক্ষা প্রয়োজন | দেশ সেটিংস এবং অনুরোধ হেডার চেক করুন এবং নতুন IP দিয়ে আবার চেষ্টা করুন |
| 429 | রিকোয়েস্ট দ্রুত | রিকোয়েস্টের ব্যবধান বাড়িয়ে কিছুক্ষণ পরে আবার চেষ্টা করুন |
| 5xx | টার্গেট সার্ভারের সাময়িক অবস্থা | কয়েক সেকেন্ড পরে নতুন IP দিয়ে আবার |
ওয়েব স্ক্র্যাপিং প্রোক্সি ক্রয়
ওয়েব স্ক্র্যাপিং প্রোক্সি ক্রয়ের জন্য ব্যালেন্স টপ আপ করে রেসিডেনশিয়াল প্রোক্সি GB নির্বাচন করুন। প্রথমে 10GB দিয়ে সংগ্রহ কোড এবং পেজ সাইজ চেক করুন, এক মাসের ব্যবহার পরিমাণ দেখা গেলে সেই পরিমাণের বড় প্যাকেজে স্থানান্তর করুন।
ক্রয়ের ক্রম হল ব্যালেন্স টপ-আপ, পণ্য এবং পরিমাণ নির্বাচন, সংযোগ তথ্য পাওয়া। সংযোগ তথ্য ক্রয়ের পরপরই সদস্য স্ক্রিনে প্রদর্শিত হয়।
- শুরু করার ব্যাচ: 10GB, প্রতি GB $3.30
- নিয়মিত সংগ্রহ: 100GB, প্রতি GB $3.30
- বৃহৎ সংগ্রহ: 10,000GB, 1GB প্রতি $1.10 থেকে
ওয়েব স্ক্র্যাপিংয়ের ভালো পরিচালনা পদ্ধতি
ওয়েব স্ক্র্যাপিং টার্গেট সাইটের সাথে দীর্ঘমেয়াদী কাজ। নিচের অভ্যাসগুলো মানলে সংগ্রহ মান উন্নত হয় এবং ট্রাফিকও বাঁচে।
- পাবলিক ডেটা সংগ্রহ: robots.txt এবং সাইটের ব্যবহারের শর্তাবলী পরীক্ষা করে শুধুমাত্র পাবলিক পৃষ্ঠা পড়ুন
- সঠিক গতি: রিকোয়েস্টের মধ্যে ব্যবধান রাখলে টার্গেট সাইট এবং স্ক্র্যাপিং অপারেশন উভয়ই স্থিতিশীল থাকে
- প্রয়োজনীয় অংশ গ্রহণ: ইমেজ·ভিডিও·ফন্ট অনুরোধ বন্ধ করলে ট্রাফিক উল্লেখযোগ্যভাবে কমে
- আবার চেষ্টা করুন: ব্যর্থ রিকোয়েস্ট কিছুক্ষণ পরে নতুন IP দিয়ে আবার পাঠান
- ব্যক্তিগত তথ্য সম্মান: ব্যক্তিকে শনাক্ত করা যায় এমন তথ্য সংগ্রহ না করে অ্যাগ্রিগেট ডেটা ব্যবহার করা