yellowsoar / tw-rental-house-data

Collection of Taiwan Rental House Data from Public Website

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

開放台灣民間租屋資料

長期收集各租屋網站、品牌公寓的可公開資訊,清洗後整理成格式統一的資料,供後續有需要的人使用。

程式使用方式與注意事項

本程式還在初期開發階段,任何框架、資料庫定義、API 皆有可能更動。

關於開發的詳細資訊,請參見專案 wiki

資料庫與網頁後端

環境需求

  1. Python3 + pip
  2. 需要安裝 PostgreSQL ,否則 wheel 在 build psycopg2-binary 時會失敗。
  3. 支援 GeoDjango 的資料庫,目前主要的關聯式資料庫都有支援。關於如何準備 GeoDjango 所需的系統環境,請參見官方文件

Peewee -> Django 遷移步驟

  1. 理論上可以直接用 Django 內建工具,因為 0001_migration 的內容與 Peewee 完全相同
  2. 唯一的例外是 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

爬蟲

環境需求

  1. Python3 + pip

使用方式

確定資料庫準備完成後,執行以下步驟:

cd crawler

# 設定 Scrapy
cp crawler/settings.sample.py crawler/settings.py
vim crawler/settings.py

# 開始爬資料
./go.sh

注意事項

  1. 請友善對待租屋網站,依其個別網站使用規則容許的方式與頻率來查詢資料,建議可使用 Scrapy 內附的 DOWNLOAD_DELAYAUTO_THROTTLING 調整爬蟲速度。
  2. 爬蟲以收集各網站可散佈的共同資料欄位為主,不會儲存所有網頁上的欄位。
  3. 使用者使用本專案提供程式來進行公開資訊的分析與調取,其使用行為及後續資訊的利用行為, 需符合現行法令的要求且自負其責,包括但不限於個人隱私、資料保護、資訊安全,以及公平競爭等相關規定。
  4. 其他事項請參見授權頁面

網頁前端

環境需求

  1. node 8+

使用方式

# 安裝套件
cd web/ui
npm install

# 啟動開發環境
npm run dev

詳細操作方式,請參見 nuxt

非宅界專案貢獻者

About

Collection of Taiwan Rental House Data from Public Website

License:MIT License


Languages

Language:Python 80.4%Language:Vue 18.0%Language:JavaScript 1.3%Language:Shell 0.3%Language:CSS 0.0%