2014年10月9日星期四

HN Reader

是咁的,為了方便在iPhone這麼小的screen 看Hacker News,所以寫了一個好簡單的app HN Reader+來方便閱讀,只是得非常基本的功能。為了取得HN的subject,用了一個library libHN,但這library的缺點是grep HTML,但當時並無它法,就用現在非常流行的說法,「用住先,有得用唔係唔用呀!」

如今,終於有終極官方API啦,咁就試吓先,以下係Python REST API拿取top stories title小小示範:

import concurrent.futures
import json
import urllib.request

URL = 'https://hacker-news.firebaseio.com/v0/'

def get_hn_item(item_no):
    f = urllib.request.urlopen('{}item/{}.json'.format(URL, item_no))
    return json.loads(f.read().decode('utf-8'))

if __name__ == '__main__':
    f = urllib.request.urlopen(URL + 'topstories.json')
    toplist = json.loads(f.read().decode('utf-8'))[:10]
    with concurrent.futures.ProcessPoolExecutor() as executor:
        for c, i in enumerate(executor.map(get_hn_item, toplist), 1):
            print('{:>3}: {}'.format(c, i['title']))


沒有留言:

發佈留言