---
# System prepended metadata

title: 分散式爬蟲使用說明

---

# 分散式爬蟲使用說明

## 爬蟲程式
### 啟動
已經將各分散模組打包整合，直接執行crawl_launcher.py
```
python3 crawl_launcher.py
```

### 啟動模組
啟動模組需向flask服務下達request，根據所需模組進行調整

模組列表
- UrlCollector
- HtmlProcessor
- DataConsumer
- StatesConsumer

請求之endpoint
```
GET /start_module/欲啟動之模組
```

### 關閉模組
關閉模組與啟動相同，向flask服務下達關閉指令的request即可

請求之endpoint
```
GET /stop_module/欲關閉之模組
```

### 開關狀況
若要觀看此服務上模組，向/output下request即可
```
GET /output
```

### 新增parser
1. 將新的spider檔案直接丟入到parsers/底下即可
2. 到資料庫的job_url資料表新增url、parser name，並設定是否啟動(0為不跑、1為加入爬蟲列表)

## Web
### Web功能

index頁面顯示資料狀況，登入後才可觀看其他頁面資料
登入前           | 登入後
:--------------:|:--------------:
![](https://i.imgur.com/WB2KCIM.png)|![](https://i.imgur.com/zSAtAp1.png)

登入按鈕![](https://i.imgur.com/HAmheLk.png)
登入畫面
![](https://i.imgur.com/dpz6HEh.png)

### 頁面介紹
- crawl_states
![](https://i.imgur.com/nbHuw34.png)
    - 點選crawlID可觀看此ID所有歷程
    - 點選Parser可觀看此parser所有的歷史crawlID
    - 點選URL可跳至該網頁頁面
- spider_list
![](https://i.imgur.com/QROw475.png)
    - 點選URL可跳至該網頁頁面
    - 點選Parser可觀看此parser所有的歷史crawlID
    - 點選Enable可設定是否要定時抓取此網站
- server_stats
![](https://i.imgur.com/aWeKPaQ.png)
    - 顯示了各有哪幾個可運行服務之機器
    - 綠色表示該節點正常運行；紅色表示該節點關閉(無法運行)
- server_management
![](https://i.imgur.com/NqgeVyO.png)
    - 顯示可正常運行服務之狀況
    - 點選某模組按鈕可進行模組開啟或關閉

模組運行中|模組停止運行
:--------------:|:--------------:
![](https://i.imgur.com/qiOXl85.png)|![](https://i.imgur.com/ks7UOuV.png)

    

