DEV Community

fooooo-png
fooooo-png

Posted on • Originally published at Medium

7 Web Scraping Limitations You Should Know

Web scraping surely brings advantages to us. It is speedy, cost-effective, and can collect data from websites with an accuracy of over 90%. It frees you from endless copy-and-paste into messy layout documents. However, something may be overlooked. There are some limitations and even risks lurking behind web scraping.

Click to read:
· What is web scraping and what is it used for?
· Which is the best way to scrape web data?
· What are the limitations of web scraping tools?
· Closing thoughts

· What is web scraping and what is it used for?

For those who are not familiar with web scraping, let me explain. Web scraping is a technique used to extract information from websites at a rapid speed. The data scraped down and saved to the local will be accessible anytime. It works as one of the first steps in data analysis, data visualization and data mining as it collects data from many sources. Getting data prepared is the prerequisite for further visualization or analysis. That’s obvious. How can we start web scraping?

· Which is the best way to scrape web data?

There are some common techniques to scrape data from web pages, which all come with some limitations. You can either build your own crawler using programming languages, outsource your web scraping projects, or use a web scraping tool. Without a specific context, there is no such thing as “the best way to scrape”. Think of your basic knowledge of coding, how much time is disposable and your financial budget, you will have your own pick.

For example, if you are an experienced coder and you are confident with your coding skills, you can definitely scrape data by yourself. But since each website needs a crawler, you will have to build a bunch of crawlers for different sites. This can be time-consuming. And you should be equipped with sufficient programming knowledge for crawlers’ maintenance. Think about that.

If you own a company with a big budget craving for accurate data, the story would be different. Forget about programming, just hire a group of engineers or outsource your project to professionals.

Speaking of outsourcing, you may find some online freelancers offering these data collection services. The unit price looks quite affordable. However, if you calculate carefully with the number of sites and loads of items you are planning to get, the amount may grow exponentially. Statistics shows that to scrape 6000 products’ information from Amazon, the quotes from web scraping companies average around $250 for the initial setup and $177 for monthly maintenance.

If you are a small business owner, or simply a non-coder in need of data, the best choice is to choose a proper scraping tool that suits your needs. As a quick reference, you can check out this list of the top 30 web scraping software.

Limitations of web scraping

· What are the limitations of web scraping tools?
*1. Learning curve *
Even the easiest scraping tool takes time to master. Some tools, like Apify, still require coding knowledge to use. Some non-coder friendly tools may take people weeks to learn. To scrape websites successfully, knowledge about XPath, HTML, AJAX is necessary. So far, the easiest way to scrape websites is to use prebuilt web scraping templates to extract data within clicks.

2. The structure of websites change frequently
Scraped data is arranged according to the structure of the website. Sometimes you revisit a site and will find the layout changed. Some designers constantly update the websites for better UI, some may for the sake of anti-scraping. The change could be as small as a position change of a button, or a drastic change of overall page layout. Even a minor change can mess up your data. As the scrapers are built according to the old site, you have to adjust your crawlers every few weeks to get correct data.

3. It is not easy to handle complex websites
Here comes another tricky technical challenge. If you look at web scraping in general, 50% of websites are easy to scrape, 30% are moderate, and the last 20% are rather tough to scrape from. Some scraping tools are designed to pull data from simple websites that apply numbered navigation. Yet nowadays, more websites are starting to include dynamic elements such as AJAX. Big sites like Twitter apply infinite scrolling, and some websites need users to click on the “load more” button to keep loading the content. In this case, users require a more functional scraping tool.

4. To extract data on a large scale is way harder
Some tools are not able to extract millions of records, as they can only handle a small-scale scraping. This gives headaches to eCommerce business owners who need millions of lines of regular data feeds straight into their database. Cloud-based scrapers like Octoparse and Web Scraper perform well in terms of large scale data extraction. Tasks run on multiple cloud servers. You get rapid speed and gigantic space for data retention.

5. A web scraping tool is not omnipotent
What kinds of data can be extracted? Mainly texts and URLs.

Advanced tools can extract texts from source code (inner & outer HTML) and use regular expressions to reformat it. For images, one can only scrape their URLs and convert the URLs into images later. If you are curious about how to scrape image URLs and bulk download them, you can have a look at How to Build an Image Crawler Without Coding.

What’s more, it is important to note that most web scrapers are not able to crawl PDFs, as they parse through HTML elements to extract the data. To scrape data from PDFs, you need other tools like Smallpdf and PDFelements.

6. Your IP may get banned by the target website

Captcha annoys. Does it ever happen to you that you need to get past a captcha when scraping from a website? Be careful, that could be a sign of IP detection. Scraping a website extensively brings heavy traffic, which may overload a web server and cause economic loss to the site owner. To prevent getting blocked, there are many tricks. For example, you can set up your tool to simulate the normal browsing behavior of a human.

7. There are even some legal issues involved

Is web scraping legal? A simple “yes” or “no” may not cover the whole issue. Let’s just say… it depends. If you are scraping public data for academic uses, you should be fine. But if you scrape private information from sites clearly stating any automated scraping is disallowed, you may get yourself into trouble. LinkedIn and Facebook are among those who clearly state that “we don’t welcome scrapers here” in their robots.txt file/terms and service (ToS). Mind your acts while scraping.

· Closing thoughts

In a nutshell, there are many limitations in web scraping. If you want data from websites tricky to scrape from, such as Amazon, Facebook, and Instagram, you may turn to a Data-as-a-Service company like Octoparse. This is by far the most convenient method to extract websites that apply strong anti-scraping techniques. A DaaS provider offers customized service according to your needs. By getting your data ready, it relieves you from the stress of building and maintaining your crawlers. No matter which industry you are in, eCommerce, social media, journalism, finance, or consulting, if you are in need of data, feel free to contact us, anytime.

Top comments (0)