看見思法g0v第27次黑客松共筆
==================
## 參考資料
[思法松第零次共筆](https://hackmd.io/OwVgbApsYCZgtADhsAzPALCDAzeBDYfATnhBIAYAmHGfc1DIA===)
[機器大使對g0v對專案的問與答(待補)](https://g0v.hackpad.tw/-g0v--y3HTvzycp3m)
## 本次任務一:資料定海神針
### 說明
需要把四散於諸海的資料做一個清單作為盤點。
工作就是找到資料然後把它們的連結放在[共筆的文件](https://hackmd.io/AwDmDYHYFME5oLQDMCGAjcCAsAmNWEUVYkEBjaMpAEyTLTNjViA)中。
範例如下:
- [x] 各縣市區鄰里犯罪事件種類與統計
相關資料集:
[85-104年與105年各縣市刑事案件發生數、破獲數及嫌疑犯人數-按案類別](https://www.npa.gov.tw/NPAGip/wSite/public/Attachment/f1498789267769.xls)
## 本次任務二:屎坑挖黃金
### 說明
就是要用Python + Selenium + ~~PhantomJS~~ Headless Chrome組合的萬用鏟挖掘法務部統計網(屎坑)中的重要統計資料(黃金)。
今天會整理開發文件,方便往後有興趣的人一同協作!
Note: 法務統計網 post form header 需要送 Content-Type: application/x-www-form-urlencoded,可以不用 cookie
### 需要人力
會基本的程式即可,坑主會手把手教學寫程式改造社會。
## 本次任務三:資料格式乾坤大挪移
### 說明
就是要用Tabula來把PDF的表格抓出來,轉變成Excel檔來用Python讀取資料。
我們會有相關的PDF檔案,把相關資料利用[Tabula](http://tabula.technology/)轉成CSV檔案。
不需要程式能力也可以完成喔!!
### 安裝
Tabula : http://tabula.nerdpower.org/
在進入Tabula官網後,就可以下載windows、Mac OS的安裝檔,如果是老手的話,也可以選擇Github手動安裝,而我是選擇直接download for Mac。

### 啟動
安裝完後,啟動Tabula他會自動開啟瀏覽器,並且進入Tabula,如果沒有可以手動輸入127.0.0.1:8080,再不行請看看8080 port是不是被佔據了(預設為8080 port)。

### 使用
使用上非常容易,只要以下幾個步驟就可以完成:
1. 選擇檔案
2. 選擇範圍
3. 匯出
4. 整理檔案
1.選擇檔案
開啟網站後,下方就有很明顯的選擇檔案。

2.選擇範圍
選擇範圍是利用圈選的,如果PDF有相當多頁,可以選擇repeat this selection,就會用相同的大小、位置套用在每個頁面(如果每頁都對不上就手動了...),至於小技巧,就是要多操作才能體會了。
![]https://i.imgur.com/J5d1nk1.png)
選好區域後,就選擇Download CSV檔案吧。
3.匯出
接下來略等一小段時間,就會跳出轉好的表格,這部分是預覽轉出的狀態,確認是接近預期的狀態後,就下載CSV檔案即可完成。
4.整理檔案
範例:
* [地方法院核發通訊監察案件情形-按案由分](https://cdn.fbsbx.com/v/t59.2708-21/23552956_1643538029000418_6983813429718941696_n.pdf/134.pdf?oh=16631620a38f16ff896ac7097562b3a0&oe=5A1A78D0&dl=1)
這次的範例使用地方法院核發通訊監察案件情形的PDF檔,轉完之後還是需要到編輯器略作處理。
參考資料:
https://ithelp.ithome.com.tw/articles/10161568
> [name=Yu-De Lin]我會把這部分的筆記再獨立出來。謝謝大為!
> [name=淵智]線上轉換網址 https://online2pdf.com/pdf2excel
>
今日黑客松小成果:
1. 在看見思法專案新增了Develop的[README文件](https://github.com/yudazilian/VisualJusticeTW/tree/develop)
2. 警政署資料Schema設計(請淵智補充)
- 轉置警政署欄位設計 開設兩整合表格分別以罪名-年份、罪名-縣市作主鍵
- 第三表格儲存罪名、年份、縣市皆分類的表格
- 設立一分類表格 紀錄罪名分項狀況
3. 解析警政署Excel資料的Parser(請Gilbert補充)
- 轉寫通用 excel parser 方便 parse 眾多警政統計資料
- 使用 yaml 管理不同 worksheet 的 parser 設定
- 目前正在修改一些小 bug,方便日後一次處理完所有資料
4. 把PhantomJS換成Headless Chrome