菜鳥筆記Python3——web API(一) Hacker News 的熱門文章

參考教材

<Python編程——從入門到實(shí)踐> chapter17 web API

引言

什么是Web API?
如果我們想要獲取一篇Blog癣蟋,輸入http://localhost:9000/blog/123 ,就可以看到id為123的Blog頁面狰闪,但這個結(jié)果是HTML頁面疯搅,它同時混合包含了Blog的數(shù)據(jù)和Blog的展示兩個部分。對于用戶來說埋泵,閱讀起來沒有問題幔欧,但是,如果機(jī)器讀取丽声,就很難從HTML中解析出Blog的數(shù)據(jù)礁蔗。
如果一個URL返回的不是HTML,而是機(jī)器能直接解析的數(shù)據(jù)雁社,這個URL就可以看成是一個Web API浴井。比如,讀取http://localhost:9000/api/blogs/123 霉撵,如果能直接返回Blog的數(shù)據(jù)磺浙,那么機(jī)器就可以直接讀取。
REST就是一種設(shè)計API的模式徒坡。最常用的數(shù)據(jù)格式是JSON撕氧。由于JSON能直接被JavaScript讀取,所以喇完,以JSON格式編寫的REST風(fēng)格的API具有簡單伦泥、易讀、易用的特點(diǎn)锦溪。
編寫API有什么好處呢奄喂?由于API就是把Web App的功能全部封裝了,所以海洼,通過API操作數(shù)據(jù)跨新,可以極大地把前端和后端的代碼隔離,使得后端代碼易于測試坏逢,前端代碼編寫更簡單域帐。
--摘自廖雪峰,《用Python編寫web API的教程》

我們調(diào)用網(wǎng)站 Hacker News 的API https://hacker-news.firebaseio.com/v0/topstories.json
抓取Hacker News 上當(dāng)前熱門文章的ID是整,排名肖揣, 評論等信息,并將其可視化

由于這里沒有什么太復(fù)雜的東西浮入,需要解釋的都在注釋里了龙优,直接貼代碼好了

__author__ = 'Administrator'
#! /usr/bin/python <br> # -*- coding: utf8 -*-
import requests
from operator import itemgetter
import pygal
from pygal.style import LightColorizedStyle as LCS, LightenStyle as LS
#執(zhí)行API調(diào)用并儲存響應(yīng)
url = 'https://hacker-news.firebaseio.com/v0/topstories.json'
r = requests.get(url)
print("Status Code : ",r.status_code)

# 處理有關(guān)每篇文章的信息
submisssion_ids = r.json()
submisssion_dicts = []
plot_dicts =[]
names = []
for submisssion_id in submisssion_ids[:10]:
    #對每一篇文章都執(zhí)行一個API調(diào)用
    url = 'https://hacker-news.firebaseio.com/v0/item/'+str(submisssion_id)+'.json'
    submisssion_r = requests.get(url)
    # print("Status Code: ",submisssion_r.status_code)
    response_dict = submisssion_r.json()
    submisssion_dict = {
        'label': response_dict['title'],
        'xlink': response_dict['url'],
        # 'link': "http://news.ycombinator.com/item?id="+str(submisssion_id)+"",
        'value': response_dict.get('descendants',0),#指定的鍵存在時返回相應(yīng)的值,不存在時返回0
    }
    names.append(submisssion_dict['label'])

    submisssion_dicts.append(submisssion_dict)

submisssion_dicts = sorted(submisssion_dicts,key=itemgetter('value'),reverse=True)

my_comfig = pygal.Config()
my_comfig.title = 'Top 10 Stories From Hacker-News'
my_comfig.x_label_rotation = 45
my_comfig.width = 1000

my_style = LS('#883333',base_style=LCS)
chart = pygal.Bar(my_comfig,style=my_style)
chart.x_labels = names
chart.add('stories',submisssion_dicts)
chart.render_to_file('Top stories.svg')

總結(jié) 雖然照貓畫虎地完成了這個練習(xí)事秀,但是我依然不是很了解API的調(diào)用彤断,尤其是野舶,壓根不知道哪些網(wǎng)站有API以及怎么找到它們╮(﹀_﹀)

Github 鏈接

https://github.com/JesuisCelestin/python3-web-API-17.3

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市宰衙,隨后出現(xiàn)的幾起案子平道,更是在濱河造成了極大的恐慌,老刑警劉巖供炼,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件一屋,死亡現(xiàn)場離奇詭異,居然都是意外死亡袋哼,警方通過查閱死者的電腦和手機(jī)冀墨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來涛贯,“玉大人轧苫,你說我怎么就攤上這事∫呗” “怎么了含懊?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長衅胀。 經(jīng)常有香客問我岔乔,道長,這世上最難降的妖魔是什么滚躯? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任雏门,我火速辦了婚禮,結(jié)果婚禮上掸掏,老公的妹妹穿的比我還像新娘茁影。我一直安慰自己,他們只是感情好丧凤,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布募闲。 她就那樣靜靜地躺著,像睡著了一般愿待。 火紅的嫁衣襯著肌膚如雪浩螺。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天仍侥,我揣著相機(jī)與錄音要出,去河邊找鬼。 笑死农渊,一個胖子當(dāng)著我的面吹牛患蹂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼传于,長吁一口氣:“原來是場噩夢啊……” “哼囱挑!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起格了,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤看铆,失蹤者是張志新(化名)和其女友劉穎徽鼎,沒想到半個月后盛末,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡否淤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年悄但,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片石抡。...
    茶點(diǎn)故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡檐嚣,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出啰扛,到底是詐尸還是另有隱情嚎京,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布隐解,位于F島的核電站鞍帝,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏煞茫。R本人自食惡果不足惜帕涌,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望续徽。 院中可真熱鬧蚓曼,春花似錦、人聲如沸钦扭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽客情。三九已至捎琐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間裹匙,已是汗流浹背瑞凑。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留概页,地道東北人籽御。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親技掏。 傳聞我的和親對象是個殘疾皇子铃将,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評論 2 355

推薦閱讀更多精彩內(nèi)容