長期收集各租屋網站、品牌公寓的可公開資訊,清洗後整理成格式統一的資料,供後續有需要的人使用。
- 專案資訊請見 hackpad。
本程式還在初期開發階段,任何框架、資料庫定義、API 皆有可能更動。
關於開發的詳細資訊,請參見專案 wiki
- Python3 + pip
- 需要安裝 PostgreSQL ,否則
wheel
在 buildpsycopg2-binary
時會失敗。 - 支援 GeoDjango 的資料庫,目前主要的關聯式資料庫都有支援。關於如何準備 GeoDjango 所需的系統環境,請參見官方文件
- 理論上可以直接用 Django 內建工具,因為 0001_migration 的內容與 Peewee 完全相同
- 唯一的例外是 PostgreSQL ,請在遷移完畢後,執行
python manage.py migratepeewee
, 使用方式請參見--help
# 安裝相關套件
virtualenv -p python3 .
pip install -r requirements.txt
cd backend
# 設定資料庫(預設使用 sqlite )
## 詳細資訊請見 [Django 官網](https://docs.djangoproject.com/en/2.0/topics/settings/)
## 如果想用 PostgreSQL 9.3+ ,推薦打開 USE_NATIVE_JSONFIELD ,可以使用內建的 jsonb
vim backend/settings_local.py
# 設定資料庫
## 使用 --fake-init 可以讓 Django 跳過已存在的 migration script
## (如果你之前有乖乖把 DB 建好的話)
python manage.py migrate --fake-init
python manage.py loaddata vendors
- Python3 + pip
確定資料庫準備完成後,執行以下步驟:
cd crawler
# 設定 Scrapy
cp crawler/settings.sample.py crawler/settings.py
vim crawler/settings.py
# 開始爬資料
./go.sh
- 請友善對待租屋網站,依其個別網站使用規則容許的方式與頻率來查詢資料,建議可使用 Scrapy 內附的 DOWNLOAD_DELAY 或 AUTO_THROTTLING 調整爬蟲速度。
- 爬蟲以收集各網站可散佈的共同資料欄位為主,不會儲存所有網頁上的欄位。
- 使用者使用本專案提供程式來進行公開資訊的分析與調取,其使用行為及後續資訊的利用行為, 需符合現行法令的要求且自負其責,包括但不限於個人隱私、資料保護、資訊安全,以及公平競爭等相關規定。
- 其他事項請參見授權頁面。
- node 8+
# 安裝套件
cd web/ui
npm install
# 啟動開發環境
npm run dev
詳細操作方式,請參見 nuxt