<html>
<head>
  <title>Crawler - starts from a given URL and follows the links</title>
</head>
<body>
  <h1>Crawler - starts from a given URL and follows the links</h1>
  <p>
    This package provides Cocoon crawler components.
  </p>
  <p>
    A crawler component crawls through URLs.
    The process is initiated by calling <code>crawl()</code>.
    The method <code>iterator()</code> returns an Iterator object.
    This Iterator object iterates over all URLs reachable from
    the passed URL of method <code>crawl()</code>.
  </p>
</body>
</html>
