All Projects → natserract → reason-rust-scraper

natserract / reason-rust-scraper

Licence: CC0-1.0 license
🦀 Scraping & crawling websites using Rust, and ReasonML

Programming Languages

reason
219 projects
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to reason-rust-scraper

readability-cli
A CLI for Mozilla Readability. Get clean, uncluttered, ready-to-read HTML from any webpage!
Stars: ✭ 41 (+95.24%)
Mutual labels:  scraping, scraping-websites
Instagram-to-discord
Monitor instagram user account and automatically post new images to discord channel via a webhook. Working 2022!
Stars: ✭ 113 (+438.1%)
Mutual labels:  scraping, scraping-websites
scrapman
Retrieve real (with Javascript executed) HTML code from an URL, ultra fast and supports multiple parallel loading of webs
Stars: ✭ 21 (+0%)
Mutual labels:  scraping, scraping-websites
scavenger
Scrape and take screenshots of dynamic and static webpages
Stars: ✭ 14 (-33.33%)
Mutual labels:  scraping, scraping-websites
document-dl
Command line program to download documents from web portals.
Stars: ✭ 14 (-33.33%)
Mutual labels:  scraping, scraping-websites
torchestrator
Spin up Tor containers and then proxy HTTP requests via these Tor instances
Stars: ✭ 32 (+52.38%)
Mutual labels:  scraping, scraping-websites
proxycrawl-python
ProxyCrawl Python library for scraping and crawling
Stars: ✭ 51 (+142.86%)
Mutual labels:  scraping, scraping-websites
Ferret
Declarative web scraping
Stars: ✭ 4,837 (+22933.33%)
Mutual labels:  scraping, scraping-websites
gochanges
**[ARCHIVED]** website changes tracker 🔍
Stars: ✭ 12 (-42.86%)
Mutual labels:  scraping, scraping-websites
elm-webapp
A setup for writing http based, client-server app in elm, inspired wholly by lamdera.com
Stars: ✭ 52 (+147.62%)
Mutual labels:  fullstack
node-red-contrib-nbrowser
Provides a virtual web browser (a.k.a. "headless browser") appearing as a node.
Stars: ✭ 31 (+47.62%)
Mutual labels:  scraping
bs-decode
Type-safe JSON decoding for ReasonML and OCaml
Stars: ✭ 105 (+400%)
Mutual labels:  reasonml
rembrandt
Simple UI framework written in Reasonml.
Stars: ✭ 81 (+285.71%)
Mutual labels:  reasonml
re-cite
Manage citations from your colleagues , friends, movies, your cat or even yourself.
Stars: ✭ 20 (-4.76%)
Mutual labels:  reasonml
Trybe-School
All activities while studying at Trybe fullstack software development school. Contains: projects, exercises, course summaries. Brazil, 2020-2021.
Stars: ✭ 73 (+247.62%)
Mutual labels:  fullstack
rekernel
A minimal setup for writing Unikernels in ReasonML
Stars: ✭ 28 (+33.33%)
Mutual labels:  reasonml
asyncio-hn
Python (asyncio) wrapper for hackernews api
Stars: ✭ 27 (+28.57%)
Mutual labels:  scraping
ioweb
Web Scraping Framework
Stars: ✭ 31 (+47.62%)
Mutual labels:  scraping
docker-selenium-lambda
The simplest demo of chrome automation by python and selenium in AWS Lambda
Stars: ✭ 172 (+719.05%)
Mutual labels:  scraping
turaku-client
Web / Electron client application for Turaku
Stars: ✭ 27 (+28.57%)
Mutual labels:  reasonml

Reason Rust Scraper

This is a code repository for implementing how to scraping and crawling websites using Rust, and ReasonML. This project was created by me with the aim of being a tools in my company i work. However, because of the sudden change of ideas and concepts finally i make it like this hehe, as well as my first project when learning & use ReasonML.

If you have never heard of scraping, try to read this web scraping for more information.

screenshot

Requirements

Server

  1. Rust
  2. Rustup
  3. Cargo
  4. Apache & MySQL

Client

  1. Node
  2. Bucklescript

Getting started

  1. Clone this repo
  2. Start Apache & MySQL server
  3. Create new database and .env file and set config, like this .env
  4. npm install to install all req'd dependencies

Running

To running this project locally:

  1. For MacOS, and you have a iTerm. You can running easily, type this command
 $ sudo chmod +x ./run.sh && ./run.sh
  1. Or, you can running manually, for client side:
  $ npm start
  1. Open a new terminal tab/window, and type this command:
 $ npm server
  1. Open a new terminal tab/window again, for running server side:
 $ cargo run
  1. Open in you browser http://localhost:8000/

Testing

$ sudo chmod +x ./test.sh && ./test.sh

Build

Client:

$ npm run build

Server:

$ cargo build

Contributing

Pull requests are welcome. For major changes, please:

  1. Create issues and PRs - bugs, missing documentation, typos, unreadable code...
  2. Make sure to update tests as appropriate
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].