Web crawler – Wikipedia
This article is about the internet bot. For the search engine, see WebCrawler. “Web spider” redirects here; it is not to be confused with Spider web. “Spiderbot” redirects here; for the video game, see Arac (video game).
Architecture of a Web crawler
A Web crawler, sometimes called a spider or spiderbot and often shortened to crawler, is an Internet bot that systematically browses the World Wide Web, typically operated by search engines for the purpose of Web indexing (web spidering). 
Web search engines and some other websites use Web crawling or spidering software to update their web content or indices of other sites’ web content. Web crawlers copy pages for processing by a search engine, which indexes the downloaded pages so that users can search more efficiently.
Crawlers consume resources on visited systems and often visit sites without approval. Issues of schedule, load, and “politeness” come into play when large collections of pages are accessed. Mechanisms exist for public sites not wishing to be crawled to make this known to the crawling agent. For example, including a file can request bots to index only parts of a website, or nothing at all.
The number of Internet pages is extremely large; even the largest crawlers fall short of making a complete index. For this reason, search engines struggled to give relevant search results in the early years of the World Wide Web, before 2000. Today, relevant results are given almost instantly.
Crawlers can validate hyperlinks and HTML code. They can also be used for web scraping and data-driven programming.
A web crawler is also known as a spider,  an ant, an automatic indexer,  or (in the FOAF software context) a Web scutter. 
A Web crawler starts with a list of URLs to visit, called the seeds. As the crawler visits these URLs, it identifies all the hyperlinks in the pages and adds them to the list of URLs to visit, called the crawl frontier. URLs from the frontier are recursively visited according to a set of policies. If the crawler is performing archiving of websites (or web archiving), it copies and saves the information as it goes. The archives are usually stored in such a way they can be viewed, read and navigated as if they were on the live web, but are preserved as ‘snapshots’. 
The archive is known as the repository and is designed to store and manage the collection of web pages. The repository only stores HTML pages and these pages are stored as distinct files. A repository is similar to any other system that stores data, like a modern-day database. The only difference is that a repository does not need all the functionality offered by a database system. The repository stores the most recent version of the web page retrieved by the crawler. 
The large volume implies the crawler can only download a limited number of the Web pages within a given time, so it needs to prioritize its downloads. The high rate of change can imply the pages might have already been updated or even deleted.
The number of possible URLs crawled being generated by server-side software has also made it difficult for web crawlers to avoid retrieving duplicate content. Endless combinations of HTTP GET (URL-based) parameters exist, of which only a small selection will actually return unique content. For example, a simple online photo gallery may offer three options to users, as specified through HTTP GET parameters in the URL. If there exist four ways to sort images, three choices of thumbnail size, two file formats, and an option to disable user-provided content, then the same set of content can be accessed with 48 different URLs, all of which may be linked on the site. This mathematical combination creates a problem for crawlers, as they must sort through endless combinations of relatively minor scripted changes in order to retrieve unique content.
As Edwards et al. noted, “Given that the bandwidth for conducting crawls is neither infinite nor free, it is becoming essential to crawl the Web in not only a scalable, but efficient way, if some reasonable measure of quality or freshness is to be maintained. “ A crawler must carefully choose at each step which pages to visit next.
The behavior of a Web crawler is the outcome of a combination of policies:
a selection policy which states the pages to download,
a re-visit policy which states when to check for changes to the pages,
a politeness policy that states how to avoid overloading Web sites.
a parallelization policy that states how to coordinate distributed web crawlers.
Given the current size of the Web, even large search engines cover only a portion of the publicly available part. A 2009 study showed even large-scale search engines index no more than 40-70% of the indexable Web; a previous study by Steve Lawrence and Lee Giles showed that no search engine indexed more than 16% of the Web in 1999.  As a crawler always downloads just a fraction of the Web pages, it is highly desirable for the downloaded fraction to contain the most relevant pages and not just a random sample of the Web.
This requires a metric of importance for prioritizing Web pages. The importance of a page is a function of its intrinsic quality, its popularity in terms of links or visits, and even of its URL (the latter is the case of vertical search engines restricted to a single top-level domain, or search engines restricted to a fixed Web site). Designing a good selection policy has an added difficulty: it must work with partial information, as the complete set of Web pages is not known during crawling.
Junghoo Cho et al. made the first study on policies for crawling scheduling. Their data set was a 180, 000-pages crawl from the domain, in which a crawling simulation was done with different strategies.  The ordering metrics tested were breadth-first, backlink count and partial PageRank calculations. One of the conclusions was that if the crawler wants to download pages with high Pagerank early during the crawling process, then the partial Pagerank strategy is the better, followed by breadth-first and backlink-count. However, these results are for just a single domain. Cho also wrote his PhD dissertation at Stanford on web crawling. 
Najork and Wiener performed an actual crawl on 328 million pages, using breadth-first ordering.  They found that a breadth-first crawl captures pages with high Pagerank early in the crawl (but they did not compare this strategy against other strategies). The explanation given by the authors for this result is that “the most important pages have many links to them from numerous hosts, and those links will be found early, regardless of on which host or page the crawl originates. ”
Abiteboul designed a crawling strategy based on an algorithm called OPIC (On-line Page Importance Computation).  In OPIC, each page is given an initial sum of “cash” that is distributed equally among the pages it points to. It is similar to a PageRank computation, but it is faster and is only done in one step. An OPIC-driven crawler downloads first the pages in the crawling frontier with higher amounts of “cash”. Experiments were carried in a 100, 000-pages synthetic graph with a power-law distribution of in-links. However, there was no comparison with other strategies nor experiments in the real Web.
Boldi et al. used simulation on subsets of the Web of 40 million pages from the domain and 100 million pages from the WebBase crawl, testing breadth-first against depth-first, random ordering and an omniscient strategy. The comparison was based on how well PageRank computed on a partial crawl approximates the true PageRank value. Surprisingly, some visits that accumulate PageRank very quickly (most notably, breadth-first and the omniscient visit) provide very poor progressive approximations. 
Baeza-Yates et al. used simulation on two subsets of the Web of 3 million pages from the and domain, testing several crawling strategies.  They showed that both the OPIC strategy and a strategy that uses the length of the per-site queues are better than breadth-first crawling, and that it is also very effective to use a previous crawl, when it is available, to guide the current one.
Daneshpajouh et al. designed a community based algorithm for discovering good seeds.  Their method crawls web pages with high PageRank from different communities in less iteration in comparison with crawl starting from random seeds. One can extract good seed from a previously-crawled-Web graph using this new method. Using these seeds, a new crawl can be very effective.
Restricting followed links
A crawler may only want to seek out HTML pages and avoid all other MIME types. In order to request only HTML resources, a crawler may make an HTTP HEAD request to determine a Web resource’s MIME type before requesting the entire resource with a GET request. To avoid making numerous HEAD requests, a crawler may examine the URL and only request a resource if the URL ends with certain characters such as,,,,,, or a slash. This strategy may cause numerous HTML Web resources to be unintentionally skipped.
Some crawlers may also avoid requesting any resources that have a “? ” in them (are dynamically produced) in order to avoid spider traps that may cause the crawler to download an infinite number of URLs from a Web site. This strategy is unreliable if the site uses URL rewriting to simplify its URLs.
Crawlers usually perform some type of URL normalization in order to avoid crawling the same resource more than once. The term URL normalization, also called URL canonicalization, refers to the process of modifying and standardizing a URL in a consistent manner. There are several types of normalization that may be performed including conversion of URLs to lowercase, removal of “. ” and “.. ” segments, and adding trailing slashes to the non-empty path component. 
Some crawlers intend to download/upload as many resources as possible from a particular web site. So path-ascending crawler was introduced that would ascend to every path in each URL that it intends to crawl.  For example, when given a seed URL of, it will attempt to crawl /hamster/monkey/, /hamster/, and /. Cothey found that a path-ascending crawler was very effective in finding isolated resources, or resources for which no inbound link would have been found in regular crawling.
The importance of a page for a crawler can also be expressed as a function of the similarity of a page to a given query. Web crawlers that attempt to download pages that are similar to each other are called focused crawler or topical crawlers. The concepts of topical and focused crawling were first introduced by Filippo Menczer and by Soumen Chakrabarti et al. 
The main problem in focused crawling is that in the context of a Web crawler, we would like to be able to predict the similarity of the text of a given page to the query before actually downloading the page. A possible predictor is the anchor text of links; this was the approach taken by Pinkerton in the first web crawler of the early days of the Web. Diligenti et al.  propose using the complete content of the pages already visited to infer the similarity between the driving query and the pages that have not been visited yet. The performance of a focused crawling depends mostly on the richness of links in the specific topic being searched, and a focused crawling usually relies on a general Web search engine for providing starting points.
An example of the focused crawlers are academic crawlers, which crawls free-access academic related documents, such as the citeseerxbot, which is the crawler of CiteSeerX search engine. Other academic search engines are Google Scholar and Microsoft Academic Search etc. Because most academic papers are published in PDF formats, such kind of crawler is particularly interested in crawling PDF, PostScript files, Microsoft Word including their zipped formats. Because of this, general open source crawlers, such as Heritrix, must be customized to filter out other MIME types, or a middleware is used to extract these documents out and import them to the focused crawl database and repository.  Identifying whether these documents are academic or not is challenging and can add a significant overhead to the crawling process, so this is performed as a post crawling process using machine learning or regular expression algorithms. These academic documents are usually obtained from home pages of faculties and students or from publication page of research institutes. Because academic documents takes only a small fraction in the entire web pages, a good seed selection are important in boosting the efficiencies of these web crawlers.  Other academic crawlers may download plain text and HTML files, that contains metadata of academic papers, such as titles, papers, and abstracts. This increases the overall number of papers, but a significant fraction may not provide free PDF downloads.
Semantic focused crawler
Another type of focused crawlers is semantic focused crawler, which makes use of domain ontologies to represent topical maps and link Web pages with relevant ontological concepts for the selection and categorization purposes.  In addition, ontologies can be automatically updated in the crawling process. Dong et al.  introduced such an ontology-learning-based crawler using support vector machine to update the content of ontological concepts when crawling Web Pages.
The Web has a very dynamic nature, and crawling a fraction of the Web can take weeks or months. By the time a Web crawler has finished its crawl, many events could have happened, including creations, updates, and deletions.
From the search engine’s point of view, there is a cost associated with not detecting an event, and thus having an outdated copy of a resource. The most-used cost functions are freshness and age. 
Freshness: This is a binary measure that indicates whether the local copy is accurate or not. The freshness of a page p in the repository at time t is defined as:
Age: This is a measure that indicates how outdated the local copy is. The age of a page p in the repository, at time t is defined as:
Coffman et al. worked with a definition of the objective of a Web crawler that is equivalent to freshness, but use a different wording: they propose that a crawler must minimize the fraction of time pages remain outdated. They also noted that the problem of Web crawling can be modeled as a multiple-queue, single-server polling system, on which the Web crawler is the server and the Web sites are the queues. Page modifications are the arrival of the customers, and switch-over times are the interval between page accesses to a single Web site. Under this model, mean waiting time for a customer in the polling system is equivalent to the average age for the Web crawler. 
The objective of the crawler is to keep the average freshness of pages in its collection as high as possible, or to keep the average age of pages as low as possible. These objectives are not equivalent: in the first case, the crawler is just concerned with how many pages are out-dated, while in the second case, the crawler is concerned with how old the local copies of pages are.
Evolution of Freshness and Age in a web crawler
Two simple re-visiting policies were studied by Cho and Garcia-Molina:
Uniform policy: This involves re-visiting all pages in the collection with the same frequency, regardless of their rates of change.
Proportional policy: This involves re-visiting more often the pages that change more frequently. The visiting frequency is directly proportional to the (estimated) change frequency.
In both cases, the repeated crawling order of pages can be done either in a random or a fixed order.
Cho and Garcia-Molina proved the surprising result that, in terms of average freshness, the uniform policy outperforms the proportional policy in both a simulated Web and a real Web crawl. Intuitively, the reasoning is that, as web crawlers have a limit to how many pages they can crawl in a given time frame, (1) they will allocate too many new crawls to rapidly changing pages at the expense of less frequently updating pages, and (2) the freshness of rapidly changing pages lasts for shorter period than that of less frequently changing pages. In other words, a proportional policy allocates more resources to crawling frequently updating pages, but experiences less overall freshness time from them.
To improve freshness, the crawler should penalize the elements that change too often.  The optimal re-visiting policy is neither the uniform policy nor the proportional policy. The optimal method for keeping average freshness high includes ignoring the pages that change too often, and the optimal for keeping average age low is to use access frequencies that monotonically (and sub-linearly) increase with the rate of change of each page. In both cases, the optimal is closer to the uniform policy than to the proportional policy: as Coffman et al. note, “in order to minimize the expected obsolescence time, the accesses to any particular page should be kept as evenly spaced as possible”.  Explicit formulas for the re-visit policy are not attainable in general, but they are obtained numerically, as they depend on the distribution of page changes. Cho and Garcia-Molina show that the exponential distribution is a good fit for describing page changes,  while Ipeirotis et al. show how to use statistical tools to discover parameters that affect this distribution.  Note that the re-visiting policies considered here regard all pages as homogeneous in terms of quality (“all pages on the Web are worth the same”), something that is not a realistic scenario, so further information about the Web page quality should be included to achieve a better crawling policy.
Crawlers can retrieve data much quicker and in greater depth than human searchers, so they can have a crippling impact on the performance of a site. If a single crawler is performing multiple requests per second and/or downloading large files, a server can have a hard time keeping up with requests from multiple crawlers.
As noted by Koster, the use of Web crawlers is useful for a number of tasks, but comes with a price for the general community.  The costs of using Web crawlers include:
network resources, as crawlers require considerable bandwidth and operate with a high degree of parallelism during a long period of time;
server overload, especially if the frequency of accesses to a given server is too high;
poorly written crawlers, which can crash servers or routers, or which download pages they cannot handle; and
personal crawlers that, if deployed by too many users, can disrupt networks and Web servers.
A partial solution to these problems is the robots exclusion protocol, also known as the protocol that is a standard for administrators to indicate which parts of their Web servers should not be accessed by crawlers.  This standard does not include a suggestion for the interval of visits to the same server, even though this interval is the most effective way of avoiding server overload. Recently commercial search engines like Google, Ask Jeeves, MSN and Yahoo! Search are able to use an extra “Crawl-delay:” parameter in the file to indicate the number of seconds to delay between requests.
The first proposed interval between successive pageloads was 60 seconds.  However, if pages were downloaded at this rate from a website with more than 100, 000 pages over a perfect connection with zero latency and infinite bandwidth, it would take more than 2 months to download only that entire Web site; also, only a fraction of the resources from that Web server would be used. This does not seem acceptable.
Cho uses 10 seconds as an interval for accesses,  and the WIRE crawler uses 15 seconds as the default.  The MercatorWeb crawler follows an adaptive politeness policy: if it took t seconds to download a document from a given server, the crawler waits for 10t seconds before downloading the next page.  Dill et al. use 1 second. 
For those using Web crawlers for research purposes, a more detailed cost-benefit analysis is needed and ethical considerations should be taken into account when deciding where to crawl and how fast to crawl. 
Anecdotal evidence from access logs shows that access intervals from known crawlers vary between 20 seconds and 3–4 minutes. It is worth noticing that even when being very polite, and taking all the safeguards to avoid overloading Web servers, some complaints from Web server administrators are received. Brin and Page note that: “… running a crawler which connects to more than half a million servers (… ) generates a fair amount of e-mail and phone calls. Because of the vast number of people coming on line, there are always those who do not know what a crawler is, because this is the first one they have seen. “
A parallel crawler is a crawler that runs multiple processes in parallel. The goal is to maximize the download rate while minimizing the overhead from parallelization and to avoid repeated downloads of the same page. To avoid downloading the same page more than once, the crawling system requires a policy for assigning the new URLs discovered during the crawling process, as the same URL can be found by two different crawling processes.
High-level architecture of a standard Web crawler
A crawler must not only have a good crawling strategy, as noted in the previous sections, but it should also have a highly optimized architecture.
Shkapenyuk and Suel noted that:
While it is fairly easy to build a slow crawler that downloads a few pages per second for a short period of time, building a high-performance system that can download hundreds of millions of pages over several weeks presents a number of challenges in system design, I/O and network efficiency, and robustness and manageability.
Web crawlers are a central part of search engines, and details on their algorithms and architecture are kept as business secrets. When crawler designs are published, there is often an important lack of detail that prevents others from reproducing the work. There are also emerging concerns about “search engine spamming”, which prevent major search engines from publishing their ranking algorithms.
While most of the website owners are keen to have their pages indexed as broadly as possible to have strong presence in search engines, web crawling can also have unintended consequences and lead to a compromise or data breach if a search engine indexes resources that shouldn’t be publicly available, or pages revealing potentially vulnerable versions of software.
Apart from standard web application security recommendations website owners can reduce their exposure to opportunistic hacking by only allowing search engines to index the public parts of their websites (with) and explicitly blocking them from indexing transactional parts (login pages, private pages, etc. ).
Web crawlers typically identify themselves to a Web server by using the User-agent field of an HTTP request. Web site administrators typically examine their Web servers’ log and use the user agent field to determine which crawlers have visited the web server and how often. The user agent field may include a URL where the Web site administrator may find out more information about the crawler. Examining Web server log is tedious task, and therefore some administrators use tools to identify, track and verify Web crawlers. Spambots and other malicious Web crawlers are unlikely to place identifying information in the user agent field, or they may mask their identity as a browser or other well-known crawler.
Web site administrators prefer Web crawlers to identify themselves so that they can contact the owner if needed. In some cases, crawlers may be accidentally trapped in a crawler trap or they may be overloading a Web server with requests, and the owner needs to stop the crawler. Identification is also useful for administrators that are interested in knowing when they may expect their Web pages to be indexed by a particular search engine.
Crawling the deep web
A vast amount of web pages lie in the deep or invisible web.  These pages are typically only accessible by submitting queries to a database, and regular crawlers are unable to find these pages if there are no links that point to them. Google’s Sitemaps protocol and mod oai are intended to allow discovery of these deep-Web resources.
Deep web crawling also multiplies the number of web links to be crawled. Some crawlers only take some of the URLs in form. In some cases, such as the Googlebot, Web crawling is done on all text contained inside the hypertext content, tags, or text.
Strategic approaches may be taken to target deep Web content. With a technique called screen scraping, specialized software may be customized to automatically and repeatedly query a given Web form with the intention of aggregating the resulting data. Such software can be used to span multiple Web forms across multiple Websites. Data extracted from the results of one Web form submission can be taken and applied as input to another Web form thus establishing continuity across the Deep Web in a way not possible with traditional web crawlers. 
Pages built on AJAX are among those causing problems to web crawlers. Google has proposed a format of AJAX calls that their bot can recognize and index. 
Web crawler bias
A recent study based on a large scale analysis of files showed that certain web crawlers were preferred over others, with Googlebot being the most preferred web crawler. 
Visual vs programmatic crawlers
There are a number of “visual web scraper/crawler” products available on the web which will crawl pages and structure data into columns and rows based on the users requirements. One of the main difference between a classic and a visual crawler is the level of programming ability required to set up a crawler. The latest generation of “visual scrapers” remove the majority of the programming skill needed to be able to program and start a crawl to scrape web data.
The visual scraping/crawling method relies on the user “teaching” a piece of crawler technology, which then follows patterns in semi-structured data sources. The dominant method for teaching a visual crawler is by highlighting data in a browser and training columns and rows. While the technology is not new, for example it was the basis of Needlebase which has been bought by Google (as part of a larger acquisition of ITA Labs), there is continued growth and investment in this area by investors and end-users. 
List of web crawlers
The following is a list of published crawler architectures for general-purpose crawlers (excluding focused web crawlers), with a brief description that includes the names given to the different components and outstanding features:
Historical web crawlers
World Wide Web Worm was a crawler used to build a simple index of document titles and URLs. The index could be searched by using the grep Unix command.
Yahoo! Slurp was the name of the Yahoo! Search crawler until Yahoo! contracted with Microsoft to use Bingbot instead.
In-house web crawlers
Bingbot is the name of Microsoft’s Bing webcrawler. It replaced Msnbot.
Baiduspider is Baidu’s web crawler.
Googlebot is described in some detail, but the reference is only about an early version of its architecture, which was written in C++ and Python. The crawler was integrated with the indexing process, because text parsing was done for full-text indexing and also for URL extraction. There is a URL server that sends lists of URLs to be fetched by several crawling processes. During parsing, the URLs found were passed to a URL server that checked if the URL have been previously seen. If not, the URL was added to the queue of the URL server.
WebCrawler was used to build the first publicly available full-text index of a subset of the Web. It was based on lib-WWW to download pages, and another program to parse and order URLs for breadth-first exploration of the Web graph. It also included a real-time crawler that followed links based on the similarity of the anchor text with the provided query.
WebFountain is a distributed, modular crawler similar to Mercator but written in C++.
Xenon is a web crawler used by government tax authorities to detect fraud. 
Commercial web crawlers
The following web crawlers are available, for a price::
SortSite – crawler for analyzing websites, available for Windows and Mac OS
Swiftbot – Swiftype’s web crawler, available as software as a service
Frontera is web crawling framework implementing crawl frontier component and providing scalability primitives for web crawler applications.
GNU Wget is a command-line-operated crawler written in C and released under the GPL. It is typically used to mirror Web and FTP sites.
GRUB was an open source distributed search crawler that Wikia Search used to crawl the web.
Heritrix is the Internet Archive’s archival-quality crawler, designed for archiving periodic snapshots of a large portion of the Web. It was written in Java.
htDig includes a Web crawler in its indexing engine.
HTTrack uses a Web crawler to create a mirror of a web site for off-line viewing. It is written in C and released under the GPL.
mnoGoSearch is a crawler, indexer and a search engine written in C and licensed under the GPL (*NIX machines only)
Apache Nutch is a highly extensible and scalable web crawler written in Java and released under an Apache License. It is based on Apache Hadoop and can be used with Apache Solr or Elasticsearch.
Open Search Server is a search engine and web crawler software release under the GPL.
PHP-Crawler is a simple PHP and MySQL based crawler released under the BSD License.
Scrapy, an open source webcrawler framework, written in python (licensed under BSD).
Seeks, a free distributed search engine (licensed under AGPL).
StormCrawler, a collection of resources for building low-latency, scalable web crawlers on Apache Storm (Apache License).
tkWWW Robot, a crawler based on the tkWWW web browser (licensed under GPL).
Xapian, a search crawler engine, written in c++.
YaCy, a free distributed search engine, built on principles of peer-to-peer networks (licensed under GPL).
Website mirroring software
Search Engine Scraping
^ “Web Crawlers:Browsing the Web”.
^ Spetka, Scott. “The TkWWW Robot: Beyond Browsing”. NCSA. Archived from the original on 3 September 2004. Retrieved 21 November 2010.
^ Kobayashi, M. & Takeda, K. (2000). “Information retrieval on the web”. ACM Computing Surveys. 32 (2): 144–173. CiteSeerX 10. 1. 126. 6094. doi:10. 1145/358923. 358934. S2CID 3710903.
^ See definition of scutter on FOAF Project’s wiki Archived 13 December 2009 at the Wayback Machine
^ Masanès, Julien (15 February 2007). Web Archiving. Springer. p. 1. ISBN 978-3-54046332-0. Retrieved 24 April 2014.
^ Patil, Yugandhara; Patil, Sonal (2016). “Review of Web Crawlers with Specification and Working” (PDF). International Journal of Advanced Research in Computer and Communication Engineering. 5 (1): 4.
^ Edwards, J., McCurley, K. S., and Tomlin, J. A. (2001). “An adaptive model for optimizing performance of an incremental web crawler”. Proceedings of the tenth international conference on World Wide Web – WWW ’01. In Proceedings of the Tenth Conference on World Wide Web. pp. 106–113. 1018. 1506. 1145/371920. 371960. ISBN 978-1581133486. S2CID 10316730. CS1 maint: multiple names: authors list (link)
^ Castillo, Carlos (2004). Effective Web Crawling (PhD thesis). University of Chile. Retrieved 3 August 2010.
^ A. Gulls; A. Signori (2005). “The indexable web is more than 11. 5 billion pages”. Special interest tracks and posters of the 14th international conference on World Wide Web. ACM Press. pp. 902–903. 1145/1062745. 1062789.
^ Steve Lawrence; C. Lee Giles (8 July 19
What Is a Web Crawler and How Does It Work | LITSLINK Blog
Let’s be painfully honest, when your business is not represented on the Internet, it is non-existent to the world. Moreover, if you don’t have a website, you are losing an ample opportunity to attract more quality leads. Any business from a corporate giant like Amazon to a one-person company is striving to have a website and content that appeal to their audiences. Discovering you and your company online does not stop there. Behind websites, there is a whole “invisible to the human eye” world where web crawlers play an important role. Contents What Is a Web Crawler and Indexing? How Does a Web Search Work? How Does a Web Crawler Work? What Are the Main Web Crawler Types? What Are Examples of Web Crawlers? What Is a Googlebot? Web Crawler vs Web Scraper — What Is the Difference? Custom Web Crawler — What Is It? Wrapping Up What Is a Web Crawler And Indexing? Let’s start with a web crawler definition: A web crawler (also known as a web spider, spider bot, web bot, or simply a crawler) is a computer software program that is used by a search engine to index web pages and content across the World Wide Web. Indexing is quite an essential process as it helps users find relevant queries within seconds. The search indexing can be compared to the book indexing. For instance, if you open last pages of a textbook, you will find an index with a list of queries in alphabetical order and pages where they are mentioned in the textbook. The same principle underlines the search index, but instead of page numbering, a search engine shows you some links where you can look for answers to your inquiry. The significant difference between the search and book indices is that the former is dynamic, therefore, it can be changed, and the latter is always static. How Does a Web Search Work? Before plunging into the details of how a crawler robot works, let’s see how the whole search process is executed before you get an answer to your search query. For instance, if you type “What is the distance between Earth and Moon” and hit enter, a search engine will show you a list of relevant pages. Usually, it takes three major steps to provide users with the required information to their searches: A web spider crawls content on websites It builds an index for a search engine Search algorithms rank the most relevant pages Also, one needs to bear in mind two essential points: You do not do your searches in real-time as it is impossible There are plenty of websites on the World Wide Web, and many more are being created even now when you are reading this article. That is why it could take eons for a search engine to come up with a list of pages that would be relevant to your query. To speed up the process of searching, a search engine crawls the pages before showing them to the world. You do not do your searches in the World Wide Web Indeed, you do not perform searches in the World Wide Web but in a search index and this is when a web crawler enters the battlefield. Reap the profits for your business with our top web app development service! Contact Us Now! How Does a Web Crawler Work? There are many search engines out there − Google, Bing, Yahoo!, DuckDuckGo, Baidu, Yandex, and many others. Each of them uses its spider bot to index pages. They start their crawling process from the most popular websites. Their primary purpose of web bots is to convey the gist of what each page content is all about. Thus, web spiders seek words on these pages and then build a practical list of these words that will be used by a search engine next time when you want to find information about your query. All pages on the Internet are connected by hyperlinks, so site spiders can discover those links and follow them to the next pages. Web bots only stop when they locate all content and connected websites. Then they send the recorded information a search index, which is stored on servers around the globe. The whole process resembles a real-life spider web where everything is intertwined. Crawling does not stop immediately once pages have been indexed. Search engines periodically use web spiders to see if any changes have been made to pages. If there is a change, the index of a search engine will be updated accordingly. What Are the Main Web Crawler Types? Web crawlers are not limited to search engine spiders. There are other types of web crawling out there. Email crawling Email crawling is especially useful in outbound lead generation as this type of crawling helps extract email addresses. It is worth mentioning that this kind of crawling is illegal as it violates personal privacy and can’t be used without user permission. News crawling With the advent of the Internet, news from all over the world can be spread rapidly around the Web, and to extract data from various websites can be quite unmanageable. There are many web crawlers that can cope with this task. Such crawlers are able to retrieve data from new, old, and archived news content and read RSS feeds. They extract the following information: date of publishing, the author’s name, headlines, lead paragraphs, main text, and publishing language. Image crawling As the name implies, this type of crawling is applied to images. The Internet is full of visual representations. Thus, such bots help people find relevant pictures in a plethora of images across the Web. Social media crawling Social media crawling is quite an interesting matter as not all social media platforms allow to be crawled. You should also bear in mind that such type of crawling can be illegal if it violates data privacy compliance. Still, there are many social media platform providers which are fine with crawling. For instance, Pinterest and Twitter allow spider bots to scan their pages if they are not user-sensitive and do not disclose any personal information. Facebook, LinkedIn are strict regarding this matter. Video crawling Sometimes it is much easier to watch a video than read a lot of content. If you decide to embed Youtube, Soundcloud, Vimeo, or any other video content into your website, it can be indexed by some web crawlers. What Are Examples of Web Crawlers? A lot of search engines use their own search bots. For instance, the most common web crawlers examples are: Alexabot Amazon web crawler Alexabot is used for web content identification and backlink discovery. If you want to keep some of your information private, you can exclude Alexabot from crawling your website. Yahoo! Slurp Bot Yahoo crawler Yahoo! Slurp Bot is used for indexing and scraping of web pages to enhance personalized content for users. Bingbot Bingbot is one of the most popular web spiders powered by Microsoft. It helps a search engine, Bing, to create the most relevant index for its users. DuckDuck Bot DuckDuckGo is probably one of the most popular search engines that does not track your history and follow you on whatever sites you are visiting. Its DuckDuck Bot web crawler helps to find the most relevant and best results that will satisfy a user’s needs. Facebook External Hit Facebook also has its crawler. For example, when a Facebook user wants to share a link to an external content page with another person, the crawler scrapes the HTML code of the page and provides both of them with the title, a tag of the video or images of the content. Baiduspider This crawler is operated by the dominant Chinese search engine − Baidu. Like any other bot, it travels through a variety of web pages and looks for hyperlinks to index content for the engine. Exabot French search engine Exalead uses Exabot for indexation of content so that it could be included in the engine’s index. Yandex Bot This bot belongs to the largest Russian search engine Yandex. You can block it from indexing your content if you are not planning to conduct business there. What Is a Googlebot? As it was stated above, almost all search engines have their spider bots, and Google is no exception. Googlebot is a google crawler powered by the most popular search engine in the world, which is used for indexing content for this engine. As Hubspot, a renowned CRM vendor, states in its blog, Google has more than 92. 42% of the search market share, and its mobile traffic is over 86%. So, if you want to make the most out of the search engine for your business, find out more information on its web spider so that your future customers can discover your content thanks to Google. Googlebot can be of two types — a desktop bot and a mobile app crawlers, which simulate the user on these devices. It uses the same crawling principle as any other web spider, like following links and scanning content available on websites. The process is also fully automated and can be recurrent, meaning that it can visit the same page several times at non-regular intervals. If you are ready to publish content, it will take days for the Google crawler to index it. If you are the owner of the website, you can manually speed the process by submitting an indexing request through Fetch as Google or updating your website’s sitemap. You can also use (or The Robots Exclusion Protocol) for “giving instructions” to a spider bot, including Googlebot. There you can allow or disallow crawlers to visit certain pages of your website. However, keep in mind that this file can be easily accessed by third parties. They will see what parts of the site you restricted from indexing. Web Crawler vs Web Scraper — What Is the Difference? A lot of people use web crawlers and web scrapers interchangeably. Nevertheless, there is an essential difference between these two. If the former deals mostly with metadata of content, like tags, headlines, keywords, and other things, the latter “steals” content from a website to be posted on someone else’s online resource. A web scraper also “hunts” for specific data. For instance, if you need to extract information from a website where there is information such as stock market trends, Bitcoin prices, or any other, you can retrieve data from these websites by using a web scraping bot. If you crawl your website, and you want to submit your content for indexing, or have an intention for other people to find it — it is perfectly legal, otherwise scraping of other people’s and companies’ websites is against the law. Custom Web Crawler — What Is It? A custom web crawler is a bot that is used to cover a specific need. You can build your spider bot to cover any task that needs to be resolved. For instance, if you are an entrepreneur or marketer or any other professional who deals with content, you can make it easier for your customers and users to find the information they want on your website. You can create a variety of web bots for various purposes. If you do not have any practical experience in building your custom web crawler, you can always contact a software development service provider that can help you with it. Wrapping Up Website crawlers are an integral part of any major search engine that are used for indexing and discovering content. Many search engine companies have their bots, for instance, Googlebot is powered by the corporate giant Google. Apart from that, there are multiple types of crawling that are utilized to cover specific needs, like video, image, or social media crawling. Taking into account what spider bots can do, they are highly essential and beneficial for your business because web crawlers reveal you and your company to the world and can bring in new users and customers. If you are looking to create a custom web crawler, contact LITSLINK, an experienced web development services provider, for more information.
What Is a Software Spider? | Inc.com
A “software spider” is an unmanned program operated by a search engine that surfs the Web just like you would. As it visits each Web site, it records (saves to its hard drive) all the words on each site and notes each link to other sites. It then “clicks” on a link, and off it goes to read, index, and store another Web software spider often reads and then indexes the entire text of each Web site it visits into the main database of the search engine it is working for. Recently many engines such as AltaVista have begun indexing only up to a certain number of pages of a site, often about 500 total, and then stopping. Apparently, this is because the Web has become so large that it’s unfeasible to index everything. How many pages the spider will index is not entirely predictable. Therefore, it’s a good idea to specifically submit each important page in your site that you want to be indexed, such as those that contain important keywords. A software spider is like an electronic librarian who cuts out the table of contents of each book in every library in the world, sorts them into a gigantic master index, and then builds an electronic bibliography that stores information on which texts reference which other texts. Some software spiders can index more than a million documents a day! It is important to understand that search engines’ spiders do just two things:
They index text.
They follow links. At a recent Search Engine Strategies conference put on by, one of the guest speakers, Shari Thurow of Grantastic Designs, made this point and repeated it several times to illustrate its significance: “Search engines index text and follow links. They index text, and they follow links. That’s all they do. “Her point is important and central to understanding the nature of search engines’ spiders. If the text of your Web site is contained within a graphic, the search engines cannot index it. If all of your important keywords for which you hope to attain rankings are included in the graphics, not in the HTML text, your site will not attain rankings. Remember, search engines do not index pictures or read pictures, they index text and follow links. That’s all. If you have no text on your viewable page, no amount of keywords in your keyword metatag will help you to attain the spider sees on your site will determine how your site is listed in its index. Search engines determine a site’s relevancy based on a complex scoring system that the search engines try to keep secret. This system adds or subtracts points based on such things as how many times the keyword appeared on the page, where on the page it appeared, and how many total words were found. The pages that achieve the most points are returned at the top of the search results; the rest are buried at the bottom, never to be a software spider visits your site, it notes any links on your page to other sites. In any search engine’s vast database are recorded all the links between sites. The search engine knows which sites you linked to, and more important, which ones linked to you. Many engines will even use the number of links to your site as an indication of popularity, and will then boost your ranking based on this pyright © 2000 24, 2000
Frequently Asked Questions about web spiders software
What is web crawling software?
A web crawler (also known as a web spider, spider bot, web bot, or simply a crawler) is a computer software program that is used by a search engine to index web pages and content across the World Wide Web. Indexing is quite an essential process as it helps users find relevant queries within seconds.Sep 26, 2019
What are spiders software?
A “software spider” is an unmanned program operated by a search engine that surfs the Web just like you would. … The software spider often reads and then indexes the entire text of each Web site it visits into the main database of the search engine it is working for.Apr 24, 2000
How do I web crawl a website?
The six steps to crawling a website include:Configuring the URL sources.Understanding the domain structure.Running a test crawl.Adding crawl restrictions.Testing your changes.Running your crawl.