基于tornado,sae的網頁版知乎日報
知乎日報網頁版
zhihudaily 是基于tornado技術的知乎日報的網頁版。部署在sae上。
Demo地址: http://zhihurewen.sinaapp.com
本地測試環境搭建以及運行
- 安裝依賴
pip install -r requirements.txt
-
創建表結構:
CREATE TABLE IF NOT EXISTS `news` ( `id` INTEGER PRIMARY KEY NOT NULL AUTO_INCREMENT, `news_id` varchar(50) NOT NULL UNIQUE, `title` varchar(100) NOT NULL, `share_url` varchar(100) NOT NULL, `date` varchar(50) NOT NULL, `body` longtext NOT NULL, `image` varchar(100) NOT NULL, `image_source` varchar(100) NOT NULL, `image_public_url` varchar(100) NOT NULL ) DEFAULT CHARSET=utf8; CREATE INDEX date_index USING BTREE ON `news`(`date`); CREATE INDEX news_id_index USING BTREE ON `news`(`news_id`);
-
修改配置文件config.py:
# 密碼(311521)的md5 secret = "76a4cebbe7af10ffd169cd9494adcf2f" # 修改debug模式中的數據庫配置 DB_HOST = "127.0.0.1" DB_NAME = "daily" DB_USER = "root" DB_PASS = "root" DB_PORT = 3306
-
運行:
python index.wsgi --port=8080
SAE環境搭建
-
申請sae賬戶,并且創建python應用
-
啟動MySQL服務,并創建數據庫和表結構
-
修改配置文件config.py:
# 密碼(311521)的md5 secret = "76a4cebbe7af10ffd169cd9494adcf2f" # 索引目錄名 index_dir = 'dailyindex' # 分詞詞典,idf目錄名 jieba_dir = 'dailyjieba' # 圖片存儲的bucket name IMAGE_BUCKET = "dailyimage" # 索引,詞典,idf文件保存的bucket name FS_BUCKET = "dailyfiles"
-
啟動Storage服務,并創建2個Bucket(IMAGE_BUCKET, FS_BUCKET)
-
上傳詞典,idf文件
在{FS_BUCKET}下,創建文件夾{index_dir}和{jieba_dir}。將dict.txt, idf.txt上傳到{jieba_dir}目錄下。其中dict.txt, idf.txt可以在jieba的源碼中找到。
-
修改sae的配置文件config.yaml:
# APP NAME name: zhihurewen # 定時采集 url后面的密碼 url: /operation/fetch_latest?secret=311521
-
上傳代碼
注意
- 本地測試環境中,數據不會自動采集,可以手動啟動采集當天的數據
"http://localhost:{port}/operation/fetch_latest?secret={secret}
- 本地測試環境,采集某一天的數據
"http://localhost:{port}/operation/fetch_before?date=20140808&secret={secret}
-
sae中有定時任務Cron。每隔1小時,會采集最新數據并更新,可在config.yaml的cron修改
-
TODO:
1. 性能優化 2. 搜索功能 (完成) 3. 非引用zhihu.com ? 4. 測試
本文由用戶 wcwx 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!