-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Guilherme Santos edited this page Dec 27, 2023
·
3 revisions
CrowCrawler é um projeto de web scraping que coleta dados de produtos de diversos sites. Lista de sites onde
- Como Configurar o Ambiente de Desenvolvimento
- Estrutura do Projeto
- Como Executar o Projeto
- Como Contribuir
Antes de começar a trabalhar no projeto, é necessário configurar o ambiente de desenvolvimento. Siga estas etapas:
- Abra o seu terminal
- Faça o download do repositório com o comando:
- Abra o seu terminal
- Faça o download do repositório com o comando:
git clone https://github.com/OwlGuilherme/CrowCrawler
- Entre na pasta do projeto com o comando:
cd CrowCrawler
- Crie um ambiente virtual e ative o ambiente (opcional):
python -m venv scrapper-env && source scrapper-env/bin/activate
- Instale as dependências do projeto:
pip install -r requirements.txt
- Adicione, nos arquivos .json os links dos produtos, dos respectivos sites que deseja salvar. Caminho para os arquivos "./crowler/crowler/rules/*.json".
## Estrutura do Projeto
A estrutura do projeto é dividida em módulos para facilitar a manutenção e a expansão.
## Como Executar o Projeto
Para executar o projeto, siga estas etapas:
- Ative o ambiente virtual: `source venv/bin/activate` (Linux) ou `venv\Scripts\activate` (Windows)
- Execute o script principal: `python main.py`
Isso iniciará a coleta de dados dos sites configurados.
# CrowCrawler Wiki
## Sites
### Sites em Funcionamento
1. **Amazon**
- **URL:** [https://www.amazon.com.br/](https://www.amazon.com.br/)
- **Regras Atuais:**
```python
class AmazonRules:
def __init__(self):
self.name_selector = '#productTitle'
self.price_selector = '.a-offscreen'
```
2. **Centauro**
- **URL:** [https://www.centauro.com.br/](https://www.centauro.com.br/)
- **Regras Atuais:**
```python
class CentauroRules:
def __init__(self):
self.name_selector = '//h1[@data-testid="product-title"]/text()'
self.price_selector = '//p[@data-testid="price-current"]/text()'
```
3. **Declathon**
- **URL:** [https://www.Declathon.com.br/](https://www.Declathon.com.br/)
- **Regras Atuais:**
```python
class DeclathonRules:
def __init__(self):
self.name_selector = '//h1[@class="desktop-body-regular-text1 text-restructure-primary mb-0"]/text()'
self.price_selector = '//h2[@class="desktop-heading-title5 text-restructure-primary"]/text()'
```
### Sites em Desenvolvimento
1. **Netshoes**
2. **Mercadolivre**
## Como Adicionar Novos Sites
Se você deseja adicionar um novo site ao CrowCrawler, siga estas etapas:
1. **Defina as Regras:**
- Crie uma nova classe de regras no módulo `site_rules` para o novo site.
2. **Atualize o README:**
- Adicione informações sobre o novo site na seção correspondente do README.md.
3. **Adicione ao Script Principal:**
- Adicione a lógica de scraping específica para o novo site no script principal (`main.py`).
4. **Teste:**
- Teste a funcionalidade de scraping para garantir que está coletando dados corretamente.
Agradecemos por contribuir para a expansão do CrowCrawler!
## 📮 Contribuindo para o CrowCrawler
Caso queira contribuir com o projeto, ficarei muito grato e, para isso, siga estas etapas:
1. _Fork_ este repositório.
2. Clone o seu repositório _forkado_ com o comando _git clone <link do repositório>_.
3. Faça suas alterações e confirme-as: _git commit -m '<mensagem_commit>'_
4. Envie para o branch original: _git push origin <nome_do_projeto> / <local>_
5. Abra um pull request.
Agradecemos por contribuir para o CrowCrawler!