Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ewertoncodes/mind-crawler
A simple api written in Rails to extract quotations from the Quotes to Scrape site.
https://github.com/ewertoncodes/mind-crawler
crawler ruby ruby-on-rails
Last synced: about 1 month ago
JSON representation
A simple api written in Rails to extract quotations from the Quotes to Scrape site.
- Host: GitHub
- URL: https://github.com/ewertoncodes/mind-crawler
- Owner: ewertoncodes
- Created: 2019-06-18T12:51:57.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-19T13:24:35.000Z (almost 2 years ago)
- Last Synced: 2023-08-07T11:04:49.284Z (over 1 year ago)
- Topics: crawler, ruby, ruby-on-rails
- Language: Ruby
- Homepage:
- Size: 64.5 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Mind Crawler
Uma simples api escrita em Rails para extrair citações do site Quotes to Scrape.
## Como funciona
O usuário deve se autenticar para usar o sistema.
Após colocar a tag das citações que procura, o script irá buscar no site [quotes to scrape](http://quotes.toscrape.com/) os dados. Se a tag existir a aplicação realiza a extração dos dados por todas as páginas com aquela tag. Caso a tag não existe a aplicação irá retornar uma mensagem avisando que a tag não existe.---
## Instalação#### **Pré-requisitos**
- Ruby 2.5 - Recomendo instalar com o [RVM](https://rvm.io/)
- MongoDB - [Instalação do MongoDB](https://docs.mongodb.com/manual/administration/install-community/)Clone o projeto:
```bash
git clone https://github.com/ewertondev/mind-crawler.git
```
Acesse o diretorio:```bash
cd mind-crawler/
```Instale as dependências:
```bash
bundle install
```Copie o .env.sample para um arquivo .env:
```bash
cp .env.sample .env
```Inicie o serviço do **MongoDB** rodando:
```bash
sudo systemctl start mongodb
```
Rode os testes:```bash
rspec spec
```Levante sua aplicação com o comando:
```bash
rails server
```
---## Como usar
### Opção 1 - via linha de comando
Instale o [httpie](https://github.com/jakubroztocil/httpie#installation)
```bash
apt-get install httpie
```### Realizando uma requisição sem se autenticar:
```bash
http get http://localhost:3000/quotes/life`
```Resposta:
`401 Unauthorized`
### Criando um usuário:
```bash
echo '{ "user": { "email":"[email protected]", "name":"foo", "password":"123456" } }' | http post http://localhost:3000/signup
```Resposta:
`200 OK`
### **Logando com um usuário:**
```bash
echo '{ "auth": { "email":"[email protected]", "password":"123456" } }' | http post http://localhost:3000/user_token
```Resposta:
`201 Created`
```bash
{
"jwt": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE1NjA5Mzg1ODksInN1YiI6eyIkb2lkIjoiNWQwOGI1ZmQ2YjBmODgzNDJjYzNhM2FkIn19.4q5k$
U1a-kl5H637jKmIcGkk3t6vA79T_IGO-yIACFg"
}
```### Acessando um recurso:
```bash
http get http://localhost:3000/quotes/life "Authorization:Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE1NjA5MTg0ODgsInN1YiI6eyIkb2lkIjoiNWQwODY4MTE2YjBmODg3YmFhYjZkOWFlIn19.ARfP3EfzIt9pEc0eyIcgkKe4GUNIoTE5I7aexPgOpJQ"
```Resposta:
`200 OK`
---
### Opção 2 - via Postman
[![Run in Postman](https://run.pstmn.io/button.svg)](https://app.getpostman.com/run-collection/a7dbd3a1bb6729add572)