Load Complex JSON Schema with Python

最近拿 JSON schema 來驗證自己的 API 回傳內容有沒有錯誤,在過程中遇到一點小障礙─無法讀取複雜的 JSON schema。 假設有支 API /v1/products/{product_id},它的 schema 如下: { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Product resource", "description": "A product resource", "type": "object"…

這陣子

這陣子做了幾件事: 成功嶺秋令營 開始工作 從 Pelican 搬到 Ghost 開始工作後沒多久,就想著應該要繼續寫 Blog ,最主要是能紀錄工作上碰到的問題,其次寫點東西也好。從成功嶺下來只有兩個多禮拜,卻覺得過了好久,跟以前很不一樣了呢。最顯著的差別是宵夜,上班後就幾乎沒在吃宵夜了,總想著要快點睡,不像以前十二點一到就餓慘。 至於為什麼要從 Pelican 搬到 Ghost ?倒也不是 Pelican 不好用,只是覺著要有個編輯器,打起來比較舒服。除了這點,其他的大概沒什麼變,一樣是 host 在 github page 上。 在搬家的過程遇到一點障礙,可能是 Pelican 的用戶太少了,所以沒有現成的 pelican -> ghost migrator,雖然舊的文章也沒幾篇,但我畢竟是個念舊的人,少歸少總得接過來,於是…

Intro to Scrapy, CrawlerSpider

前言 以前自己寫爬蟲,由於 scale 都很小,所以也沒考慮要用 framework,都很單純的使用 requests + BeautifulSoup 來完成。這次突然興起想把唐詩宋詞都爬下來,就拿來練手練手。至於為什麼要爬唐詩宋詞?那又是另一個故事了... 1. 環境配置 為了不讓本身的環境紊亂,我都習慣先開一個 virtualenv ,並把需求寫在 requirements.txt 裡面,一來比較清楚明瞭,二來也可以指定版本號。 mkvirtualenv crawler # 產生環境 workon crawler # 切換到該環境 deactive crawler # 跳出該環境 以上是大致上會用到的指令,至於如何在你的作業系統上安裝 virtualenv這個部分就不贅述了。 再來就是比較主要的部份,安裝這個範例要使用的package。 pip install Scrapy peewee peewee 可以選擇裝或不裝,後面範例是用 sqlite 來操作的。 2.…