Understanding Web Scraping: How to Extract Data Without Getting Blocked