很開心在昨天作出了《新型冠狀病毒同程查詢》這個工具,一方面給過年不能出門閒的發慌的本身找了些事情幹,另外一方面也幫助到了許多人,今天來扒一扒我到底作了些啥。(其實寫教程比寫網站還要花時間=_=,不過很慶幸過年回來還背了一個筆記本,否則早就瘋了)html
感謝原網站,在微信傳播的很普遍,我作的就是仿寫的這個網站,扒了一些數據,參考了一些代碼。我就假設各位對啥都不懂哈,從最基本的講一講。 原站點基於純靜態的網站,只有html+js就能夠搞定。想要查看源代碼,只須要在瀏覽器中點擊鼠標右鍵->查看網頁源代碼 便可。經過源碼就能夠看出使用的前端樣式框架是layui,表格直接就是layui的數據表格。不得不誇讚一下layui,數據表格的功能挺全的,分頁也都是封裝好的。前端
其實說來慚愧,根本不是爬數據,由於總共就200多條數據,接口也是放開的。爬數據只要用Python就能夠了,在本身的電腦上裝一個python3(更多時候可能須要用到多環境,我我的在用anaconda,一個管理Python環境和包依賴的工具) 而後用下面6行代碼就取到了數據並打印了出來python
#!/usr/bin/python
# -*- coding: utf-8 -*-
import urllib.request
import json
# url = 'https://ncov2019.oss-cn-beijing.aliyuncs.com/cache?0.5397362967895694'
url = 'http://2019ncov.nosugartech.com/data.json'
f = urllib.request.urlopen(url)
res = json.loads(f.read())
print(res)
複製代碼
原站一開始用對象存儲的作法很不錯哈,簡單省事效率高,還有緩存機制可用。不過出於要作點不一樣的東西的原則,我用了bmob這個BaaS(backend as a service)服務做爲後端( 感興趣能夠註冊,推薦碼$VS1)。非廣告,還能夠選擇LeanCloud等。json
#!/usr/bin/python
# -*- coding: utf-8 -*-
import json, urllib
from urllib.parse import urlencode
import urllib.request
from bmob import *
def main():
#配置您申請的APPKey
appkey = "xxxxxxxxxxxxxxxxxxxxx"
#新聞頭條
# url = 'https://ncov2019.oss-cn-beijing.aliyuncs.com/cache?0.5397362967895694'
url = 'http://2019ncov.nosugartech.com/data.json'
f = urllib.request.urlopen(url)
res = json.loads(f.read())
print(res)
#遍歷,而後插入bmob
for item in res['data']:
print (item)
insert_to_bmob(item)
# 向bmob寫入數據
def insert_to_bmob(data):
#b = Bmob("appid", "restkey")
b = Bmob("0d7986aeaa130418420d77e8457679b5", "87727c86dcb3f297f568ddf760e19c8a")
print(
b.insert(
'ncov_db', # 表名
data
).jsonData # 輸出json格式的內容
)
if __name__ == '__main__':
main()
複製代碼
今天就先寫到這把,這塊其實半個鍾就能搞定,上面寫的4個小時是解決了一大堆雜七雜八的問題。後端
感興趣能夠關注個人公衆號,微信搜索 zixiao的寫做館瀏覽器