|
1 |
| -# Website Checker Starter |
| 1 | +## Website Checker |
2 | 2 |
|
3 |
| -This actor is responsible for starting the checker actors and reporting back all data found by them. |
| 3 | +Website checker is a simple actor that allows you to scan any website for performance and blocking using various scraping methods as Cheerio, Puppeteer and Playwright. |
4 | 4 |
|
5 |
| -<!-- TODO: better readme --> |
| 5 | +### Features |
| 6 | + |
| 7 | +The actor provides these useful features out of the box: |
| 8 | + |
| 9 | +- Collects response status codes |
| 10 | +- Recognizes the most common captchas |
| 11 | +- Saves HTML snapshots and screenshots (if Puppeteer or Playwright is chosen) |
| 12 | +- Enables choosing between Cheerio (plain HTTP) and Puppeteer/Playwright (browser) scraper |
| 13 | +- Enables choosing different browsers for Playwright - Chrome, Firefox and Webkit (Safari) |
| 14 | +- Enables re-scraping start URLs or enqueueing with a familiar link selector + pseudo URLs system |
| 15 | +- Handles different failure states like timeouts and network errors |
| 16 | +- Enables basic proxy and browser configuration |
| 17 | + |
| 18 | +### How to use |
| 19 | + |
| 20 | +The most common use-case is to do a quick check on how aggressively the target site is blocking. In that case just supply a start URL, ideally a category one or product one. You can either set `replicateStartUrls` or add enqueueing with `linkSelector` + `pseudoUrls`, both are good options to test different proxies. |
| 21 | + |
| 22 | +You can pick any combination of run options and the checker will spawn runner actor for every combination of scraping tool & proxies and then combine the results into single output. |
| 23 | + |
| 24 | +In the end you will get a simple statistics about the blocking rate. It is recommended to check a few screenshots just to make sure the actor correctly recognized the page status. You can get to the detailed output (per URL) via KV store or dataset (the KV output sorts by response status while dataset is simply ordered by scraping order). |
| 25 | + |
| 26 | +#### Multiple URLs and configurations |
| 27 | +Website checker doesn't have any limitation of how many websites and configs you can check. For each website, it will run each config. You just need to set a reasonable `maxConcurrentDomainsChecked` so that all parallel runs fit into your total memory (4 GB for Cheerio and 8 GB for Puppeteer/Playwright checks). |
| 28 | + |
| 29 | +### Input |
| 30 | + |
| 31 | +Please follow the [actor's input page](https://apify.com/lukaskrivka/website-checker/input-schema) for a detailed explanation. Most input fields have reasonable defaults. |
| 32 | + |
| 33 | +### Example output |
| 34 | + |
| 35 | +#### Simple output |
| 36 | + |
| 37 | +``` |
| 38 | +{ |
| 39 | + "timeouted": 0, |
| 40 | + "failedToLoadOther": 9, |
| 41 | + "accessDenied": 0, |
| 42 | + "recaptcha": 0, |
| 43 | + "distilCaptcha": 24, |
| 44 | + "hCaptcha": 0, |
| 45 | + "statusCodes": { |
| 46 | + "200": 3, |
| 47 | + "401": 2, |
| 48 | + "403": 5, |
| 49 | + "405": 24 |
| 50 | + }, |
| 51 | + "success": 3, |
| 52 | + "total": 43 |
| 53 | +} |
| 54 | +``` |
| 55 | + |
| 56 | +#### Detailed output with URLs, screenshots and HTML links |
| 57 | +<https://api.apify.com/v2/key-value-stores/zT3zxpd53Wv9m9ukQ/records/DETAILED-OUTPUT?disableRedirect=true> |
| 58 | + |
| 59 | +### Changelog |
| 60 | + |
| 61 | +Check history of changes in the [CHANGELOG](https://github.com/metalwarrior665/actor-website-checker/blob/master/CHANGELOG.md) |
0 commit comments