A spider trap (or crawler trap) is a set of web pages that may intentionally or unintentionally be used to cause a
web crawler
Web crawler, sometimes called a spider or spiderbot and often shortened to crawler, is an Internet bot that systematically browses the World Wide Web and that is typically operated by search engines for the purpose of Web indexing (''web spider ...
or
search bot to make an infinite number of requests or cause a poorly constructed crawler to crash. Web crawlers are also called
web spiders, from which the name is derived. Spider traps may be created to "catch"
spambots or other crawlers that waste a website's bandwidth. They may also be created unintentionally by calendars that use
dynamic pages with links that continually point to the next day or year.
Common techniques used include:
* Creation of indefinitely deep
directory structures such as
http://example.com/abc/def/abc/def/abc/def/abc/...
* Dynamic pages that produce an unbounded number of documents for a web crawler to follow. Examples include calendars and algorithmically generated
language poetry
The Language poets (or ''L=A=N=G=U=A=G=E'' poets, after the magazine of that name) are an avant-garde group or tendency in United States poetry that emerged in the late 1960s and early 1970s. The poets included: Bernadette Mayer, Leslie Sca ...
.
* Documents filled with many characters, crashing the
lexical analyzer parsing
Parsing, syntax analysis, or syntactic analysis is a process of analyzing a String (computer science), string of Symbol (formal), symbols, either in natural language, computer languages or data structures, conforming to the rules of a formal gramm ...
the document.
* Documents with session-id's based on required cookies.
There exists no universal algorithm capable of detecting all spider traps. While certain categories of traps can be identified through automated methods, novel and previously unrecognized traps continue to emerge rapidly.
Politeness
A spider trap causes a web crawler to enter something like an
infinite loop
In computer programming, an infinite loop (or endless loop) is a sequence of instructions that, as written, will continue endlessly, unless an external intervention occurs, such as turning off power via a switch or pulling a plug. It may be inte ...
, which wastes the spider's resources, lowers its productivity, and, in the case of a poorly written crawler, can crash the program. Polite spiders alternate requests between different hosts, and do not request documents from the same server more than once every several seconds, meaning that a "polite" web crawler is affected to a much lesser degree than an "impolite" crawler.
In addition, sites with spider traps usually have a
robots.txt
robots.txt is the filename used for implementing the Robots Exclusion Protocol, a standard used by websites to indicate to visiting web crawlers and other web robots which portions of the website they are allowed to visit.
The standard, dev ...
telling bots not to go to the trap, so a legitimate "polite" bot would not fall into the trap, whereas an "impolite" bot which disregards the robots.txt settings would be affected by the trap.
See also
*
Robots exclusion standard
robots.txt is the filename used for implementing the Robots Exclusion Protocol, a standard used by websites to indicate to visiting web crawlers and other web robots which portions of the website they are allowed to visit.
The standard, dev ...
*
Web crawler
Web crawler, sometimes called a spider or spiderbot and often shortened to crawler, is an Internet bot that systematically browses the World Wide Web and that is typically operated by search engines for the purpose of Web indexing (''web spider ...
References
Internet search
{{Web-stub