What is Web Scraping?
February 11, 2022 | Ashen Ranaweera
What is Web Scraping?
ඔබට website එකක යම් දත්ත ප්රමාණයක් අවශ්ය යැයි සිතමු. එවිට ඔබට අවශ්ය දත්ත ප්රමාණය copy paste කල හැකියි. නමුත් ඔබට විශාල දත්ත ප්රමාණයක් විවිධ webpages වලින් ඉක්මනින් ලබාගැනීමට අවශ්ය වේ නම් web scraping යොදාගැනීමට සිදුවේ.
Website එකක ඇති දත්ත manually බාගත කිරීමේ ක්රියාවලියට වඩා ඉතාම වේගයෙන් හා පහසුවෙන් web scrape techniques යොදා ගනිමින් සිදු කරගත හැකිය. ඉතාමත් කුඩා කාලයකදි දත්ත මිලියන ගනන් බාගත කිරීම automate කිරීම මෙහිදී සිදුවේ. එම නිසා මෙම ලිපියෙන් අපි web scraping යන්න ගැන විමසා බලමු.
Web scraping යනු වෙබ් අඩවි වලින් විශාල දත්ත ප්රමාණයක් අඩු කාලයකදි ලබා ගැනීමට ඇති ස්වයංක්රීය ක්රමයකි. වෙබ් අඩවි වල ඇති දත්ත බොහොමයක් පවතින්නෙ HTML structure එකකයි. නමුත් එම දත්ත spreadsheet හෝ database එකකට බාගත කිරීමෙන් එම දත්ත භාවිතය පහසු වේ. එමගින් වෙනත් application සදහා එම දත්ත යොදාගත හැකිවේ. Web scrape කිරීමට ක්රම කිහිපයක් පවති. ඒවා අතර API එකක් මාර්ගයෙන් දත්ත ලබාගැනීම හෝ code script එකක් මාර්ගයෙන් දත්ත ලබාගැනීම ප්රධාන වේ. වර්තමානයේ දී Google, Facebook, Stackoverflow, Twitter වැනි ප්රධාන වෙබ් අඩවි සඳහා API ලබාදී ඇති අතර එමගින් එම වෙබ් අඩවි වල ඇති දත්ත පහසුවෙන් structured format එකකින් ලබාගත හැක. Web scraping හරහා දත්ත බාගත කරගන්නා ප්රධානම ක්රමය මෙය වන අතර API ලබානොදෙන වෙබ් අඩවි සඳහා code script එකකින් scrape කිරීම සිදුවේ.
Different types of web scrapers
Web scrapers ප්රධාන වශයෙන් Self-built හෝ Pre-built Web Scrapers, Browser extension හෝ Software Web Scrapers සහ Cloud හෝ Local Web Scrapers ලෙස වෙන් කර දැක්විය හැකියි. Self-built web scraper යනු ඔබ විසින් code කර නිර්මාණය කරන ලද script එකකි. මේ සදහා ඔබට උසස් programming දැනුමක් අවශ්ය වන අතර එම script එකට තව විවිධ විශේෂාංග ඇතුලත් කිරීමට හෝ වෙනස් කිරීමට ඔබට හැකියාව ඇත.
Pre-built web scrapers යනු පෙර සකසන ලද web scrapers වන අතර ඒවා බාගත කිරීමෙන් ඔබට පහසුවෙන් scrape කිරීම කල හැකියි. Browser extensions යනු web browser එකට add කල හැකි විශේෂාංග වන අතර ඒවා යොදා ගනිමින් ද ඔබට දත්ත ලබාගත හැක. Browser integrated නිසා මේවා මගින් ඉතා පහසුවෙන් scrape කල හැකිය. මීට අමතරව Cloud web scrapers යනු cloud එකෙහි run වන web scrapers වේ.
Is web scraping legal?
සරලවම කිවහොත් web scraping නීත්යනුකූල වේ. නමුත් ඒ සදහා අනුගමනය කල යුතු නීති රීති මාලාවක් ඇත. ප්රසිද්ධියේ ලබා ගත නොහැකි දත්ත උපුටා ගැනීමට web scraping භාවිතය නීති විරෝධී වේ. Web scrape ජනප්රිය වීමත් බොහෝ දෙනා භාවිතයට ගැනීමත් නිසා ඒ සම්බන්ධව මෑත කාලීනව බොහෝ නීති විරෝධී සිදුවීම් දැකීමට ලැබීම පුදුමයට කරුණක් නොවේ.
Web scraping සදහා python භාවිතය සුදුසු ද ?
Python යනු වර්තමානයේ විවිධ අවශ්යතා සදහා යොදාගනු ලබන language එකකි. Web scrape සදහා ද බහුලවම භාවිතා වන language එකක් ලෙස python දැක්විය හැක. Pythonහි web scrape සදහා libraries ගණනාවක් පවතින අතර scrapy වඩා ජනප්රිය වේ. Scrapy යනු python language එක භාවිතයෙන් ලියවූ web crawler එකක් වන අතර එමගින් API හරහා ගනුදෙනු කිරීමත් scrape කිරීමටත් හැකියාව ලබා දී ඇත.
එමෙන්ම python භාවිතයෙන් ලියවු තවත් ජනප්රිය Library එකක් ලෙස bs4 හෙවත් beautifulsoup දැක්විය හැක. Beautifulsoup වලද විවිධාකර වූ විශේෂාංග රැසක් අතුලත් වන අතර ඒවා මගින් webpages අතර navigate කිරීම, search කිරීම වැනි දේ සිදුකල හැකියි.
What is Webscraping used for?
Web scraping වල විවිධාකාර වූ application රැසක් පවතී. ඒවා ගැන දැන් අපි විමසා බලමු.
1. Price monitoring
2. Market Research
3. News Monitoring
4. Sentiment Analysis
5. Email Marketing
6. Comparison Shopping Sites
7. Machine Learning
සටහන - අශේන් රණවීර