ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-27, Monday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

අරාබි-ඉංග්‍රීසි බහුවිධ වෙබ්ස්ක්‍රැපර් ගැටලු: ඔබේ දත්ත කට්ටලය සුවඳක් වීමෙන් ඉවතලන්න

අරාබි-ඉංග්‍රීසි බහුවිධ වෙබ්ස්ක්‍රැපර් ගැටලු: ඔබේ දත්ත කට්ටලය සුවඳක් වීමෙන් ඉවතලන්න

වෙබ්ස්ක්‍රැපින් ගැන කතා කරන බොහෝ මාර්ගෝපදේශ වලින් එකම භාෂාවක් ගැනම පමණක් කියවෙනවා. නමුත් ඔබේ සේවාව දෙභාෂා (Arabic/English) වෙළඳපලකට ඉලක්ක කරන්නේ නම්, අඳුරු බග් එකක් ඔබේ වැඩිදුර පරීක්ෂණය නොකරන්නත් ඉඩ තියෙනවා – ඉල්ලීම සාර්ථකයි, HTML පාර්ස් කරනවා, නමුත් ඔබට අවශ්‍ය සියලු ක්ෂේත්‍ර හිස්ව පෙනේ.

කොහොමද මේ ගැටලුව සිදුවුනේ?

මම රැකියා තොරතුරු එකතු කරන ලද ව්‍යාපෘතියක් සකස් කරමින් සිටිනා විට, රැකියා විස්තර පිටුවේ seniority level සහ employment type කියන ලේබල් වල අගයන් ලබා ගැනීමට CSS selector භාවිතා කළා. පරීක්ෂණ මට්ටමේදී ඒවා හොඳින් වැඩ කළා, නමුත් නිෂ්පාදනයේදී සියලු රෙකෝඩ් වලම ඒ ක්ෂේත්‍ර null වුණා. HTTP status 200, HTML සම්පූර්ණයි, කිසිදු දෝෂයක් නොපෙන්වුණා.

කාරණය වුනා, ඒ URL ලින්ක් එක ප්‍රාදේශීය උපඩොමේන් (example.com) වෙත යොමු වීම, එම උපඩොමේන් අරාබි සංස්කරණය පෙන්වමින් තිබුණා. අපේ selector ඉංග්‍රීසි ලේබල “Seniority level”, “Employment type” සොයමින් තිබූ නිසා, අරාබි පද “المستوى الوظيفي” සහ “نوع التوظيف” සමඟ ගැලපෙන්නෑ. එමනිසා පාරිසරිකව කිසිදු දත්ත සොයාගැනීමට නොහැකි වුනා.

සමාවන විසඳුම තනි ලයිනයක්: URL එක සාමාන්‍ය (canonical) host එකට පරිවර්තනය කිරීම. Python re.sub() භාවිතයෙන් regional subdomain ඉවත් කර https://www.example.com/ ලෙස සකස් කිරීමෙන් ගැටළුව සාර්ථකව නිරාකරණය වුණා.

ඇයි මේ වැදගත්?

බහුවිධ භාෂා වෙබ් පිටු වලින් දත්ත ගැණීමේදී, “null” පෙන්වන scraper එකක් හා “wrong language” scraper එකක් අතර වෙනස නොපෙනේ. ඔබේ ක්‍රමලේඛය පරික්ෂා කරන විට, වැදගත් ක්ෂේත්‍ර සියල්ල පිරී ඇතිදැයි assert කිරීම අත්‍යවශ්‍ය. එසේ නොකළහොත්, දත්ත ගැලපීමේ වැරදි නිසා ව්‍යාපාරික තීරණ අසත්‍ය විය හැක.

නැවත, අරාබි පිටු වල අංක සලකුණු Eastern Arabic numerals (٠١٢…) ලෙස පෙන්වයි. Python හි int("٢٠٠") 200 ලෙස පරිවර්තනය කරනවා, නමුත් රෙග්එක්ස් [0-9]+ භාවිතා කළහොත් කිසිදු ගණනක් හමු නොවෙයි. Unicode-aware \d භාවිතා කිරීම හෝ අරාබි අංකයන් ASCII අංක වලට පරිවර්තනය කිරීම (translate) අවශ්‍යයි.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

ශ්‍රී ලංකාවේ බොහෝ තාක්ෂණික සමාගම් සහ විශ්වවිද්‍යාල සිසුන් බහුභාෂා වෙබ් අඩවි වලින් දත්ත ගැණීමට උත්සාහ කරති. මෙම ගැටලු පිළිබඳ අවබෝධය ඇතිවීමෙන්:

  • ඩෙවලපර්ලා – locale‑aware URL normalisation සහ Unicode‑friendly regex ලිවීමෙන් වැඩි නිවැරදිත්වයක් ලබා ගත හැක.
  • සිසුන් – බහුභාෂා දත්ත සැකසීමේ වැදගත් පියවරයන් (assertions, digit translation) ඉගෙන ගනිමින්, රියල්‑වර්ල්ඩ් ප්‍රොජෙක්ට් වලට සූදානම් වෙති.
  • ව්‍යාපාර – දත්ත ගුණාත්මකභාවය අඩු වීමෙන් ආර්ථික අලාභය වැලැක්වීමට, scraper එකේ early‑failure checks ක්‍රියාත්මක කරගත හැක.

ඉදිරියට, ඔබේ scraper එකේ critical fields පරීක්ෂා කර, locale mismatch හෝ stale selector තත්ත්වය සොයාගැනීමට කේතයක් එක් කිරීම, අනාගත ගැටළු වලට හොඳ ආරක්ෂාවක් වේ.

මෙම කුඩා නිරීක්ෂණය, ඔබේ දත්ත සැලැස්මට විශාල වෙනසක් ගෙනෙනු ඇත – නිවැරදි, පවතින, සහ භාෂා‑අනුව ගැළපෙන දත්ත ලබා ගැනීමට.

💡 ඔබේ වෙබ්ස්ක්‍රැපර් වැඩිදුරටත් සුරක්ෂිත කරගන්න අදම කියවන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#WebScraping #Bilingual #Arabic #Regex #Programming