Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tonytonyjan/past-paper-crawlers
https://github.com/tonytonyjan/past-paper-crawlers
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/tonytonyjan/past-paper-crawlers
- Owner: tonytonyjan
- Created: 2013-05-26T19:10:13.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2013-06-05T08:54:20.000Z (over 11 years ago)
- Last Synced: 2024-04-09T21:30:13.930Z (9 months ago)
- Language: Ruby
- Size: 168 KB
- Stars: 1
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[考古題世界]: http://past-paper.com
[文件]: http://goo.gl/FUBMO
[SFTP]: http://goo.gl/UZee5
[大兜]: mailto:[email protected]## 考古題爬蟲黑克松
本專案是為了[考古題世界]而生,詳情請查閱此[文件]。## 注意事項
### 規範
* 本 repository 只接受程式碼,請不要把爬完到的考古題檔案推上來,以免後來參與的人 clone 到海枯石爛。
* 爬完的結果請放到 [SFTP](權限請跟[大兜]索取)。### 檔案結構
一個學校一個資料夾,以英文縮寫命名。內含一個 [past_papers.json](https://gist.github.com/tonytonyjan/4c308f311f59439cc826) 檔案。
NCTU
├── files
│ ├── cnlz1801.pdf
│ ├── cnlz1803.pdf
│ ├── ……
│ ├── ece1201.pdf
│ └── ece1202.pdf
└── past_papers.json#### past_papers.json
past_papers.json 為一個 array,內含多個 object:
{
"school": "國立交通大學",
"department": "電機工程學系",
"program": null,
"subject": "線性代數與機率",
"year": 2012,
"exam_type": ”入學考”, // 5/25 新增
"file_paths": [
"files/eed1211.pdf"
]
}* `program`:OOXX 組(例:資訊工程學系網路與多媒體組,其中「網路與多媒體組」為 `program`)
* `file_paths`:為相對路徑。
* `exam_type`:(入學考 | 轉學考),這次爬蟲應該只有入學、轉學兩者,如果有發現其他的種類,請在[文件]做討論。## 建議流程
1. clone 本專案。
$ git clone [email protected]:tonytonyjan/past-paper-crawlers.git
2. 新增一個資料夾,開始寫爬蟲,並在資料夾下產生 `past_papers.json` 以及考古題檔案,以 `NCTU` 為例:
$ mkdir NCTU
$ cd NCTU
$ vim crawler.rb
$ (edit)
$ ruby crawler.rb # 啪啪啪## 如何跑測試
1. 安裝 Ruby。
2. 安裝 rspec。$ gem install rspec
3. 在 repository 目錄下。
* 測試一個學校:$ SCHOOL_DIRS=NCTU rspec
* 測試多個學校(用冒號 `:` 隔開):$ SCHOOL_DIRS=NCTU:NTU:NTHU:NCKU rspec
* 測試全部學校:$ rspec
## 提示
### 取出系所和組別的表達式
`/(.*[班系所])(.*組)/`
例如:資訊工程學系網路與多媒體組,會被拆成「資訊工程學系」和「網路與多媒體組」