Instagram හරහා හසුරවන්නා වූ විශාල තොරතුරු එකතුවක් ඔබට අවශ්යද? Python භාෂාවෙන් HikerAPI භාවිතා කරමින් තොරතුරු එකවර ලබා ගැනීමේ ක්රමය දැන් ඔබට සරලවම අත්හදා බැලිය හැකිය.
ලේඛකයා මුල්වරට sequential loop එකක් භාවිතා කරමින් Instagram hashtag ගණනාවකට තොරතුරු ලබා ගත්තා. එක් එක් ඉල්ලීම තත්පර කීපයකින් අවසන් වුවත්, සියලු ඉල්ලීම් එකතුවක් කරදරයක් බවට පත්වුණි. ප්රශ්නය ඉක්මන් කිරීම නොව, එකවර බහු ඉල්ලීම් යැවීමෙන් විසඳුම ලැබුණි.
පළමුව single request ආකාරය මෙසේය: requests.get(...) භාවිතා කරමින් එක hashtag එකකට දත්ත ලබා ගන්නා කේතයක්. මෙය එක් ඉල්ලීමකට හොඳයි, නමුත් දස දස හෝ සිය ගණනක් ඉල්ලීම් කළහොත් කාලය අතිශය වැඩි වේ.
එම නිසා ThreadPoolExecutor සමඟ parallel ක්රමයක් යොදා ගැනීමට ලේඛකයා පියවර ගත්තා. HTTP ඉල්ලීම් බොහෝ වෙලාවක් ජාලය පිළිබඳව පවා ඉවසීමේ කාලයක් ගත කරන බැවින් Python ත්රෙඩ්ස් මෙයට සුදුසු වේ. කේතයේදී executor.submit(fetch_hashtag, tag) ලෙස සෑම hashtag එකකටම ත්රෙඩ් එකක් නිර්මාණය කර, as_completed මගින් ප්රතිඵල එකතු කරයි.
ඔබ async පරිසරයක් (FastAPI, asyncio) භාවිතා කරන්නේ නම් httpx.AsyncClient හෝ aiohttp වැනි asynchronous client එකක් යොදා ගැනීම වඩාත් සුදුසුය. අදහස එකම – බහු ඉල්ලීම් සමකාලීනව යැවීම, නමුත් async පද්ධතියේ සමඟ ඒකාබද්ධ කිරීම සරල වේ.
කෙසේ වෙතත්, rate limit ගැන සැලකිල්ලෙන් සිටීම අත්යවශ්යය. API සපයන්නා 429 පිළිතුරක් එවූ විට, exponential back‑off සමඟ ඉල්ලීම් පසුබැසීමට අවශ්ය වේ. ඉල්ලීම් ගණන අධික නොකර, 5‑10 worker පමණින් ආරම්භ කර, ලොග් කර, timeout සැකසීමෙන් විශ්වාසනීයත්වය වැඩි කර ගත හැක.
අවසාන වශයෙන්, වැඩි workers එකතු කිරීමෙන් වැඩි වේගයක් ලැබේද, එය සීමා කරමින් නිරීක්ෂණය කර නොහොත් අධික retries හා rate‑limit ප්රතිචාර ලැබීමට ඉඩ ඇත. නිවැරදි සන්ධිස්ථානය හඳුනා ගත පසු, ඔබේ data collection pipeline එක ඉතා කාර්යක්ෂම වේ.
ශ්රී ලංකාවට ඇති වැදගත්කම
- සිසුන්ට Python සමඟ concurrent programming පිළිබඳ ප්රායෝගික උදාහරණයක් ලැබේ.
- දේශීය developers ලට API rate‑limit කළමනාකරණය සහ async/Thread පදනම් තාක්ෂණයන් ඉගෙන ගැනීමට හොඳ ආධාරයක්.
- ව්යාපාරිකයන්ට Instagram වැනි සමාජ මාධ්ය තොරතුරු වේගයෙන් ලබා ගනිමින් real‑time marketing තීරණ ගැනීමට හැකියාව.
ඔබත් Python භාවිතා කරමින් HikerAPI හෝ වෙනත් REST API සමකාලීනව ඇමතුම් කර, තොරතුරු එකතු කිරීමේ වේගය ගුණාත්මකව වැඩි කර ගන්න. අලුත්ම තාක්ෂණික ක්රමවේද අත්හදා බැලීමට මේ මොහොතටත් ඉඩ ඇත!