Web scraping – Wikipedia
For broader coverage of this topic, see Data scraping.
Web scraping, web harvesting, or web data extraction is data scraping used for extracting data from websites. The web scraping software may directly access the World Wide Web using the Hypertext Transfer Protocol or a web browser. While web scraping can be done manually by a software user, the term typically refers to automated processes implemented using a bot or web crawler. It is a form of copying in which specific data is gathered and copied from the web, typically into a central local database or spreadsheet, for later retrieval or analysis.
Web scraping a web page involves fetching it and extracting from it. Fetching is the downloading of a page (which a browser does when a user views a page). Therefore, web crawling is a main component of web scraping, to fetch pages for later processing. Once fetched, then extraction can take place. The content of a page may be parsed, searched, reformatted, its data copied into a spreadsheet or loaded into a database. Web scrapers typically take something out of a page, to make use of it for another purpose somewhere else. An example would be to find and copy names and telephone numbers, or companies and their URLs, or e-mail addresses to a list (contact scraping).
Web scraping is used for contact scraping, and as a component of applications used for web indexing, web mining and data mining, online price change monitoring and price comparison, product review scraping (to watch the competition), gathering real estate listings, weather data monitoring, website change detection, research, tracking online presence and reputation, web mashup and, web data integration.
Web pages are built using text-based mark-up languages (HTML and XHTML), and frequently contain a wealth of useful data in text form. However, most web pages are designed for human end-users and not for ease of automated use. As a result, specialized tools and software have been developed to facilitate the scraping of web pages.
Newer forms of web scraping involve monitoring data feeds from web servers. For example, JSON is commonly used as a transport storage mechanism between the client and the web server.
There are methods that some websites use to prevent web scraping, such as detecting and disallowing bots from crawling (viewing) their pages. In response, there are web scraping systems that rely on using techniques in DOM parsing, computer vision and natural language processing to simulate human browsing to enable gathering web page content for offline parsing.
The history of the web scraping dates back nearly to the time when the World Wide Web was born.
After the birth of World Wide Web in 1989, the first web robot,  World Wide Web Wanderer, was created in June 1993, which was intended only to measure the size of the web.
In December 1993, the first crawler-based web search engine, JumpStation, was launched. As there were not so many websites available on the web, search engines at that time used to rely on their human website administrators to collect and edit the links into a particular format. In comparison, JumpStation brought a new leap, being the first WWW search engine that relied on a web robot.
In 2000, the first Web API and API crawler came. API stands for Application Programming Interface. It is an interface that makes it much easier to develop a program by providing the building blocks. In 2000, Salesforce and eBay launched their own API, with which programmers were enabled to access and download some of the data available to the public. Since then, many websites offer web APIs for people to access their public database.
Web scraping is the process of automatically mining data or collecting information from the World Wide Web. It is a field with active developments sharing a common goal with the semantic web vision, an ambitious initiative that still requires breakthroughs in text processing, semantic understanding, artificial intelligence and human-computer interactions. Current web scraping solutions range from the ad-hoc, requiring human effort, to fully automated systems that are able to convert entire web sites into structured information, with limitations.
The simplest form of web scraping is manually copying and pasting data from a web page into a text file or spreadsheet. Sometimes even the best web-scraping technology cannot replace a human’s manual examination and copy-and-paste, and sometimes this may be the only workable solution when the websites for scraping explicitly set up barriers to prevent machine automation.
Text pattern matching
A simple yet powerful approach to extract information from web pages can be based on the UNIX grep command or regular expression-matching facilities of programming languages (for instance Perl or Python).
Static and dynamic web pages can be retrieved by posting HTTP requests to the remote web server using socket programming.
Many websites have large collections of pages generated dynamically from an underlying structured source like a database. Data of the same category are typically encoded into similar pages by a common script or template. In data mining, a program that detects such templates in a particular information source, extracts its content and translates it into a relational form, is called a wrapper. Wrapper generation algorithms assume that input pages of a wrapper induction system conform to a common template and that they can be easily identified in terms of a URL common scheme.  Moreover, some semi-structured data query languages, such as XQuery and the HTQL, can be used to parse HTML pages and to retrieve and transform page content.
By embedding a full-fledged web browser, such as the Internet Explorer or the Mozilla browser control, programs can retrieve the dynamic content generated by client-side scripts. These browser controls also parse web pages into a DOM tree, based on which programs can retrieve parts of the pages. Languages such as Xpath can be used to parse the resulting DOM tree.
There are several companies that have developed vertical specific harvesting platforms. These platforms create and monitor a multitude of “bots” for specific verticals with no “man in the loop” (no direct human involvement), and no work related to a specific target site. The preparation involves establishing the knowledge base for the entire vertical and then the platform creates the bots automatically. The platform’s robustness is measured by the quality of the information it retrieves (usually number of fields) and its scalability (how quick it can scale up to hundreds or thousands of sites). This scalability is mostly used to target the Long Tail of sites that common aggregators find complicated or too labor-intensive to harvest content from.
Semantic annotation recognizing
The pages being scraped may embrace metadata or semantic markups and annotations, which can be used to locate specific data snippets. If the annotations are embedded in the pages, as Microformat does, this technique can be viewed as a special case of DOM parsing. In another case, the annotations, organized into a semantic layer,  are stored and managed separately from the web pages, so the scrapers can retrieve data schema and instructions from this layer before scraping the pages.
Computer vision web-page analysis
There are efforts using machine learning and computer vision that attempt to identify and extract information from web pages by interpreting pages visually as a human being might. 
There are many software tools available that can be used to customize web-scraping solutions. This software may attempt to automatically recognize the data structure of a page or provide a recording interface that removes the necessity to manually write web-scraping code, or some scripting functions that can be used to extract and transform content, and database interfaces that can store the scraped data in local databases. Some web scraping software can also be used to extract data from an API directly.
In the United States, website owners can use three major legal claims to prevent undesired web scraping: (1) copyright infringement (compilation), (2) violation of the Computer Fraud and Abuse Act (“CFAA”), and (3) trespass to chattel.  However, the effectiveness of these claims relies upon meeting various criteria, and the case law is still evolving. For example, with regard to copyright, while outright duplication of original expression will in many cases be illegal, in the United States the courts ruled in Feist Publications v. Rural Telephone Service that duplication of facts is allowable.
U. S. courts have acknowledged that users of “scrapers” or “robots” may be held liable for committing trespass to chattels,  which involves a computer system itself being considered personal property upon which the user of a scraper is trespassing. The best known of these cases, eBay v. Bidder’s Edge, resulted in an injunction ordering Bidder’s Edge to stop accessing, collecting, and indexing auctions from the eBay web site. This case involved automatic placing of bids, known as auction sniping. However, in order to succeed on a claim of trespass to chattels, the plaintiff must demonstrate that the defendant intentionally and without authorization interfered with the plaintiff’s possessory interest in the computer system and that the defendant’s unauthorized use caused damage to the plaintiff. Not all cases of web spidering brought before the courts have been considered trespass to chattels. 
One of the first major tests of screen scraping involved American Airlines (AA), and a firm called FareChase.  AA successfully obtained an injunction from a Texas trial court, stopping FareChase from selling software that enables users to compare online fares if the software also searches AA’s website. The airline argued that FareChase’s websearch software trespassed on AA’s servers when it collected the publicly available data. FareChase filed an appeal in March 2003. By June, FareChase and AA agreed to settle and the appeal was dropped. 
Southwest Airlines has also challenged screen-scraping practices, and has involved both FareChase and another firm, Outtask, in a legal claim. Southwest Airlines charged that the screen-scraping is Illegal since it is an example of “Computer Fraud and Abuse” and has led to “Damage and Loss” and “Unauthorized Access” of Southwest’s site. It also constitutes “Interference with Business Relations”, “Trespass”, and “Harmful Access by Computer”. They also claimed that screen-scraping constitutes what is legally known as “Misappropriation and Unjust Enrichment”, as well as being a breach of the web site’s user agreement. Outtask denied all these claims, claiming that the prevailing law, in this case, should be US Copyright law and that under copyright, the pieces of information being scraped would not be subject to copyright protection. Although the cases were never resolved in the Supreme Court of the United States, FareChase was eventually shuttered by parent company Yahoo!, and Outtask was purchased by travel expense company Concur. 
In 2012, a startup called 3Taps scraped classified housing ads from Craigslist. Craigslist sent 3Taps a cease-and-desist letter and blocked their IP addresses and later sued, in Craigslist v. 3Taps. The court held that the cease-and-desist letter and IP blocking was sufficient for Craigslist to properly claim that 3Taps had violated the Computer Fraud and Abuse Act.
Although these are early scraping decisions, and the theories of liability are not uniform, it is difficult to ignore a pattern emerging that the courts are prepared to protect proprietary content on commercial sites from uses which are undesirable to the owners of such sites. However, the degree of protection for such content is not settled and will depend on the type of access made by the scraper, the amount of information accessed and copied, the degree to which the access adversely affects the site owner’s system and the types and manner of prohibitions on such conduct. 
In Facebook, Inc. Power Ventures, Inc., a district court ruled in 2012 that Power Ventures could not scrape Facebook pages on behalf of a Facebook user. The case is on appeal, and the Electronic Frontier Foundation filed a brief in 2015 asking that it be overturned.  In Associated Press v. Meltwater U. Holdings, Inc., a court in the US held Meltwater liable for scraping and republishing news information from the Associated Press, but a court in the United Kingdom held in favor of Meltwater.
Internet Archive collects and distributes a significant number of publicly available web pages without being considered to be in violation of copyright laws.
In February 2006, the Danish Maritime and Commercial Court (Copenhagen) ruled that systematic crawling, indexing, and deep linking by portal site of estate site does not conflict with Danish law or the database directive of the European Union. 
In a February 2010 case complicated by matters of jurisdiction, Ireland’s High Court delivered a verdict that illustrates the inchoate state of developing case law. In the case of Ryanair Ltd v GmbH, Ireland’s High Court ruled Ryanair’s “click-wrap” agreement to be legally binding. In contrast to the findings of the United States District Court Eastern District of Virginia and those of the Danish Maritime and Commercial Court, Justice Michael Hanna ruled that the hyperlink to Ryanair’s terms and conditions was plainly visible, and that placing the onus on the user to agree to terms and conditions in order to gain access to online services is sufficient to comprise a contractual relationship.
 The decision is under appeal in Ireland’s Supreme Court. 
On April 30, 2020, the French Data Protection Authority (CNIL) released new guidelines on web scraping.  The CNIL guidelines made it clear that publicly available data is still personal data and cannot be repurposed without the knowledge of the person to whom that data belongs. 
In Australia, the Spam Act 2003 outlaws some forms of web harvesting, although this only applies to email addresses. 
Methods to prevent web scraping
The administrator of a website can use various measures to stop or slow a bot. Some techniques include:
Blocking an IP address either manually or based on criteria such as geolocation and DNSRBL. This will also block all browsing from that address.
Disabling any web service API that the website’s system might expose.
Bots sometimes declare who they are (using user agent strings) and can be blocked on that basis using; ‘googlebot’ is an example. Other bots make no distinction between themselves and a human using a browser.
Bots can be blocked by monitoring excess traffic
Bots can sometimes be blocked with tools to verify that it is a real person accessing the site, like a CAPTCHA. Bots are sometimes coded to explicitly break specific CAPTCHA patterns or may employ third-party services that utilize human labor to read and respond in real-time to CAPTCHA challenges.
Commercial anti-bot services: Companies offer anti-bot and anti-scraping services for websites. A few web application firewalls have limited bot detection capabilities as well. However, many such solutions are not very effective. 
Locating bots with a honeypot or other method to identify the IP addresses of automated crawlers.
Obfuscation using CSS sprites to display such data as telephone numbers or email addresses, at the cost of accessibility to screen reader users.
Because bots rely on consistency in the front-end code of a target website, adding small variations to the HTML/CSS surrounding important data and navigation elements would require more human involvement in the initial set up of a bot and if done effectively may render the target website too difficult to scrape due to the diminished ability to automate the scraping process.
Websites can declare if crawling is allowed or not in the file and allow partial access, limit the crawl rate, specify the optimal time to crawl and more.
Comparison of feed aggregators
Fake news website
Domain name drop list
Link farm (blog network)
Search engine scraping
^ “Search Engine “. Search Engine History. Retrieved November 26, 2019.
^ Song, Ruihua; Microsoft Research (Sep 14, 2007). “Joint Optimization of Wrapper Generation and Template Detection” (PDF). The 13th International Conference on Knowledge Discovery and Data Mining: 894. doi:10. 1145/1281192. 1281287. ISBN 9781595936097. S2CID 833565. Archived from the original (PDF) on October 11, 2016.
^ Semantic annotation based web scraping
^ Roush, Wade (2012-07-25). “Diffbot Is Using Computer Vision to Reinvent the Semantic Web”.. Retrieved 2013-03-15.
^ Kenneth, Hirschey, Jeffrey (2014-01-01). “Symbiotic Relationships: Pragmatic Acceptance of Data Scraping”. Berkeley Technology Law Journal. 29 (4). 15779/Z38B39B. ISSN 1086-3818.
^ “Internet Law, Ch. 06: Trespass to Chattels”.. Retrieved 2007-08-20.
^ “What are the “trespass to chattels” claims some companies or website owners have brought? “.. Retrieved 2007-08-20.
^ “Ticketmaster Corp. v., Inc”. Retrieved 2007-08-20.
^ “American Airlines v. FareChase” (PDF). Archived from the original (PDF) on 2011-07-23. Retrieved 2007-08-20.
^ “American Airlines, FareChase Settle Suit”. The Free Library. 2003-06-13. Retrieved 2012-02-26.
^ Imperva (2011). Detecting and Blocking Site Scraping Attacks. Imperva white paper..
^ Adler, Kenneth A. (2003-07-29). “Controversy Surrounds ‘Screen Scrapers’: Software Helps Users Access Web Sites But Activity by Competitors Comes Under Scrutiny”. Retrieved 2010-10-27.
^ “QVC Inc. Resultly LLC, No. 14-06714 (E. D. Pa. filed Nov. 24, 2014)” (PDF). 2014-11-24. Retrieved 2015-11-05.
^ “QVC Inc. 24, 2014)”. United States District Court for the Eastern District of Pennsylvania. Retrieved 5 November 2015.
^ Neuburger, Jeffrey D (5 December 2014). “QVC Sues Shopping App for Web Scraping That Allegedly Triggered Site Outage”. The National Law Review. Proskauer Rose LLP. Retrieved 5 November 2015.
^ “Did Iqbal/Twombly Raise the Bar for Browsewrap Claims? ” (PDF). 2010-09-17. Retrieved 2010-10-27.
^ “Can Scraping Non-Infringing Content Become Copyright Infringement… Because Of How Scrapers Work? | Techdirt”. Techdirt. 2009-06-10. Retrieved 2016-05-24.
^ “Facebook v. Power Ventures”. Electronic Frontier Foundation. Retrieved 2016-05-24.
^ “UDSKRIFT AF SØ- & HANDELSRETTENS DOMBOG” (PDF) (in Danish). 2006-02-24. Archived from the original (PDF) on 2007-10-12. Retrieved 2007-05-30.
^ “High Court of Ireland Decisions >> Ryanair Ltd -v- GMBH 2010 IEHC 47 (26 February 2010)”. British and Irish Legal Information Institute. 2010-02-26. Retrieved 2012-04-19.
^ “La réutilisation des données publiquement accessibles en ligne à des fins de démarchage commercial | CNIL”. (in French). Retrieved 2020-07-05.
^ (2020-06-09). “Can You Still Perform Web Scraping With The New CNIL Guidelines? “. Medium. Retrieved 2020-07-05.
^ National Office for the Information Economy (February 2004). “Spam Act 2003: An overview for business”. Australian Communications Authority. p. 6. Retrieved 2017-12-07.
^ National Office for the Information Economy (February 2004). “Spam Act 2003: A practical guide for business” (PDF). p. 20. Retrieved 2017-12-07.
^ Mayank Dhiman Breaking Fraud & Bot Detection Solutions OWASP AppSec Cali’ 2018 Retrieved February 10, 2018.
About Price & Web Scraping Tools | Imperva
What is web scraping
Web scraping is the process of using bots to extract content and data from a website.
Unlike screen scraping, which only copies pixels displayed onscreen, web scraping extracts underlying HTML code and, with it, data stored in a database. The scraper can then replicate entire website content elsewhere.
Web scraping is used in a variety of digital businesses that rely on data harvesting. Legitimate use cases include:
Search engine bots crawling a site, analyzing its content and then ranking it.
Price comparison sites deploying bots to auto-fetch prices and product descriptions for allied seller websites.
Market research companies using scrapers to pull data from forums and social media (e. g., for sentiment analysis).
Web scraping is also used for illegal purposes, including the undercutting of prices and the theft of copyrighted content. An online entity targeted by a scraper can suffer severe financial losses, especially if it’s a business strongly relying on competitive pricing models or deals in content distribution.
Scraper tools and bots
Web scraping tools are software (i. e., bots) programmed to sift through databases and extract information. A variety of bot types are used, many being fully customizable to:
Recognize unique HTML site structures
Extract and transform content
Store scraped data
Extract data from APIs
Since all scraping bots have the same purpose—to access site data—it can be difficult to distinguish between legitimate and malicious bots.
That said, several key differences help distinguish between the two.
Legitimate bots are identified with the organization for which they scrape. For example, Googlebot identifies itself in its HTTP header as belonging to Google. Malicious bots, conversely, impersonate legitimate traffic by creating a false HTTP user agent.
Legitimate bots abide a site’s file, which lists those pages a bot is permitted to access and those it cannot. Malicious scrapers, on the other hand, crawl the website regardless of what the site operator has allowed.
Resources needed to run web scraper bots are substantial—so much so that legitimate scraping bot operators heavily invest in servers to process the vast amount of data being extracted.
A perpetrator, lacking such a budget, often resorts to using a botnet—geographically dispersed computers, infected with the same malware and controlled from a central location. Individual botnet computer owners are unaware of their participation. The combined power of the infected systems enables large scale scraping of many different websites by the perpetrator.
Malicious web scraping examples
Web scraping is considered malicious when data is extracted without the permission of website owners. The two most common use cases are price scraping and content theft.
In price scraping, a perpetrator typically uses a botnet from which to launch scraper bots to inspect competing business databases. The goal is to access pricing information, undercut rivals and boost sales.
Attacks frequently occur in industries where products are easily comparable and price plays a major role in purchasing decisions. Victims of price scraping can include travel agencies, ticket sellers and online electronics vendors.
For example, smartphone e-traders, who sell similar products for relatively consistent prices, are frequent targets. To remain competitive, they’re motivated to offer the best prices possible, since customers usually go for the lowest cost offering. To gain an edge, a vendor can use a bot to continuously scrape his competitors’ websites and instantly update his own prices accordingly.
For perpetrators, a successful price scraping can result in their offers being prominently featured on comparison websites—used by customers for both research and purchasing. Meanwhile, scraped sites often experience customer and revenue losses.
Content scraping comprises large-scale content theft from a given site. Typical targets include online product catalogs and websites relying on digital content to drive business. For these enterprises, a content scraping attack can be devastating.
For example, online local business directories invest significant amounts of time, money and energy constructing their database content. Scraping can result in it all being released into the wild, used in spamming campaigns or resold to competitors. Any of these events are likely to impact a business’ bottom line and its daily operations.
The following is excerpted from a complaint, filed by Craigslist, detailing its experience with content scraping. It reinforces how damaging the practice can be:
“[The content scraping service] would, on a daily basis, send an army of digital robots to craigslist to copy and download the full text of millions of craigslist user ads. [The service] then indiscriminately made those misappropriated listings available—through its so-called ‘data feed’—to any company that wanted to use them, for any purpose. Some such ‘customers’ paid as much as $20, 000 per month for that content…”
According to the claim, scraped data was used for spam and email fraud, among other activities:
“[The defendants] then harvest craigslist users’ contact information from that database, and initiate many thousands of electronic mail messages per day to the addresses harvested from craigslist servers…. [The messages] contain misleading subject lines and content in the body of the spam messages, designed to trick craigslist users into switching from using craigslist’s services to using [the defenders’] service…”
Web scraping protection
The increased sophistication in malicious scraper bots has rendered some common security measures ineffective. For example, headless browser bots can masquerade as humans as they fly under the radar of most mitigation solutions.
To counter advances made by malicious bot operators, Imperva uses granular traffic analysis. It ensures that all traffic coming to your site, human and bot alike, is completely legitimate.
The process involves the cross verification of factors, including:
HTML fingerprint – The filtering process starts with a granular inspection of HTML headers. These can provide clues as to whether a visitor is a human or bot, and malicious or safe. Header signatures are compared against a constantly updated database of over 10 million known variants.
IP reputation – We collect IP data from all attacks against our clients. Visits from IP addresses having a history of being used in assaults are treated with suspicion and are more likely to be scrutinized further.
Behavior analysis – Tracking the ways visitors interact with a website can reveal abnormal behavioral patterns, such as a suspiciously aggressive rate of requests and illogical browsing patterns. This helps identify bots that pose as human visitors.
Learn more about protecting your site from malicious bot traffic with Imperva’s bot management solution.
Is Web Scraping Legal ? – WebHarvy
Web Scraping is the technique of automatically extracting data from websites using software/script. Our software, WebHarvy, can be used to easily extract data from any website without any coding/scripting knowledge.
Is it legal to scrape data from websites using software? The answer to this question is not a simple yes or no.
The real question here should be regarding how you plan to use the data which you have extracted from a website (either manually or via using software). Because the data displayed by most website is for public consumption. It is totally legal to copy this information to a file in your computer. But it is regarding how you plan to use this data that you should be careful about. If the data is downloaded for your personal use and analysis, then it is absolutely ethical. But in case you are planning to use it as your own, in your website, in a way which is completely against the interest of the original owner of the data, without attributing the original owner, then it is unethical, illegal.
Also, while extracting data from websites using software, since web scrapers can read and extract data from web pages more quickly than humans, care should be taken that the web scraping process does not affect the performance/bandwidth of the web server in any way. Most web servers will automatically block your IP, preventing further access to its pages, in case this happens.
How to anonymously scrape data from websites?
Update: US federal court rules that web scraping does not violate hacking laws
Scrape Data Anonymously
WebHarvy is an easy-to-use visual web scraper which lets you scrape data anonymously from websites, thereby protecting your privacy. Proxy servers or VPNs can be easily used along with WebHarvy so that you are not connected directly to the web server during data extraction. Also, to minimize the load on web servers, and to avoid detection, there are options to automatically insert pauses & emulate a human user during the web scraping process.
Frequently Asked Questions about web scraping means
What is web scraping and how it works?
Web scraping is the process of using bots to extract content and data from a website. Unlike screen scraping, which only copies pixels displayed onscreen, web scraping extracts underlying HTML code and, with it, data stored in a database. The scraper can then replicate entire website content elsewhere.
Is web scraping legal?
Web Scraping is the technique of automatically extracting data from websites using software/script. … Because the data displayed by most website is for public consumption. It is totally legal to copy this information to a file in your computer.
What is a web scraping tool?
A web scraper is a specialized tool designed to accurately and quickly extract data from a web page.