metalwarrior665 / rust-apify-actor-example

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Example Apify actor in Rust

Minimal example for developing Apify actor in Rust programming language. The code is open source.

The example:

  • Reads user provided URL from input
  • Does HTTP request to get HTML from this URL
  • Saves HTML into OUTPUT record in Key Value Store

This actor works both on Apify platform and locally.

Local usage

For local usage, you need to:

  1. Clone the repository
  2. Install Rust
  3. Create local storage with apify init or manually create folder path apify_storage/key_value_stores/default/
  4. Add INPUT.json file input inside this path that looks like this:
{
    "url": "https://apify.com"
}
  1. Build and run the solution with cargo run
  2. You can find OUTPUT.html next to INPUT.json

Current problems

  • Apify currently doesn't allow increasing memory for builds so they sometimes fails by running out of memory
  • Apify caches the Docker images on its servers. Rust is not yet used much there so a lot of runs have slow cold starts.

Where next?

If you want to see more complex scraping project in Rust, check Rust Scraper which is also open source

About


Languages

Language:Rust 86.4%Language:Dockerfile 13.6%