PHPackages                             crispy-computing-machine/supersimplecrawler - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. crispy-computing-machine/supersimplecrawler

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

crispy-computing-machine/supersimplecrawler
===========================================

PHP 8 web crawler

1.16(1y ago)1342PHPPHP ^8.3.0

Since Jun 2Pushed 1y ago1 watchersCompare

[ Source](https://github.com/crispy-computing-machine/SuperSimpleCrawler)[ Packagist](https://packagist.org/packages/crispy-computing-machine/supersimplecrawler)[ RSS](/packages/crispy-computing-machine-supersimplecrawler/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (18)Used By (0)

SuperSimpleCrawler
==================

[](#supersimplecrawler)

Super Simple Crawler for PHP 8 [![Latest Stable Version](https://camo.githubusercontent.com/2d779c93dba9e3901132e5940ef01eddc7c925d6056d402ad77c527e73c412cf/68747470733a2f2f706f7365722e707567782e6f72672f6372697370792d636f6d707574696e672d6d616368696e652f537570657253696d706c65437261776c65722f762f737461626c65)](https://packagist.org/packages/crispy-computing-machine/SuperSimpleCrawler) [![Total Downloads](https://camo.githubusercontent.com/85b42e8d060158b166d338cc656bf2f2667c7d2a0dc34f2feaaf3b6e773471a3/68747470733a2f2f706f7365722e707567782e6f72672f626372697370792d636f6d707574696e672d6d616368696e652f537570657253696d706c65437261776c65722f646f776e6c6f616473)](https://packagist.org/packages/crispy-computing-machine/SuperSimpleCrawler)

```
composer require crispy-computing-machine/supersimplecrawler

```

```
//Composer
require 'vendor/autoload.php';

// Libs
use SuperSimple\Crawler;
use SuperSimple\CrawlerCompleteException;
use DOMDocument;

// Configure the crawler.
$crawler = new Crawler($verbose = true);
try {
    $crawler->setUrl("https://www.php.net/"); // Set the URL.
    $crawler->setPort(80); // Set the port (80 is the default HTTP port).
    $crawler->setFollowRedirects(true); // Follow redirects.
    $crawler->setFollowMode(2); // Follow only links within the same host.
    $crawler->setRequestLimit(10); // Limit the number of requests.
    $crawler->setContentSizeLimit(2000000); // Limit the content size (2 MB in this case).
    $crawler->setTrafficLimit(10000000); // Limit the traffic (10 MB in this case).
    $crawler->setUserAgentString("Mozilla/5.0 (compatible; MyCrawler/1.0)"); // Set a custom user agent.
    $crawler->setWorkingDirectory(sys_get_temp_dir() . DIRECTORY_SEPARATOR . 'crawler'); // Set a directory for storing data.
    $crawler->setProxy(); // Set a proxy (if required).
    $crawler->setCertificateVerify(true); // Verify SSL certificates.
    $crawler->setConnectionTimeout(10); // Set the connection timeout (10 seconds).
    $crawler->setStreamTimeout(20); // Set the stream timeout (20 seconds).
    $crawler->setRequestDelay(3000); // Wait 1048576 millisecond between requests.
    $crawler->setConcurrency(10); // multiprocessing mode
    $crawler->addContentTypeReceiveRule(['text/html', 'application/json']);

    // Handle doc
    $crawler->setFulfilledCallback(function($url, DOMDocument $content){
        echo 'Successful request! ' . $url . ' -> ' . strlen($content->textContent) . PHP_EOL;
    });

    // Handle error
    $crawler->setRejectedCallback(function ($url, DOMDocument $content){
        echo 'Failed request! ' . $url . ' -> ' . strlen($content->textContent) . PHP_EOL;
    });

    // Start the crawling process.
    $crawler->crawl();

} catch (CrawlerCompleteException $e) {

    // Crawler complete report
    Crawler::log("Total pages downloaded: " . $e->getTotalPages(), "info");
    Crawler::log("Total size downloaded: " . $e->getTotalSize() . " bytes", "info");
    Crawler::log("Total links followed: " . $e->getTotalLinks(), "info");
    Crawler::log("Abort Reason: " . $e->getMessage(), "info");

} finally {
    // Additional clean up or summary actions
    Crawler::log("Crawler has ended gracefully.", "success");
}
```

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance36

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~30 days

Recently: every ~91 days

Total

17

Last Release

589d ago

PHP version history (3 changes)1.0PHP ^8.2.0

1.11PHP ^8.1.0

1.13PHP ^8.3.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/854cf1c8013059a7a17ef714aaca2116b30d9102f9b7bf68cc90178f1cebad32?d=identicon)[brittainmedia](/maintainers/brittainmedia)

---

Top Contributors

[![crispy-computing-machine](https://avatars.githubusercontent.com/u/5684066?v=4)](https://github.com/crispy-computing-machine "crispy-computing-machine (22 commits)")

---

Tags

phpcrawler

### Embed Badge

![Health badge](/badges/crispy-computing-machine-supersimplecrawler/health.svg)

```
[![Health](https://phpackages.com/badges/crispy-computing-machine-supersimplecrawler/health.svg)](https://phpackages.com/packages/crispy-computing-machine-supersimplecrawler)
```

###  Alternatives

[stevebauman/location

Retrieve a user's location by their IP Address

1.3k7.6M65](/packages/stevebauman-location)[gehrisandro/tailwind-merge-laravel

TailwindMerge for Laravel merges multiple Tailwind CSS classes by automatically resolving conflicts between them

341682.2k18](/packages/gehrisandro-tailwind-merge-laravel)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
