很开心在昨天作出了《新型冠状病毒同程查询》这个工具,一方面给过年不能出门闲的发慌的本身找了些事情干,另外一方面也帮助到了许多人,今天来扒一扒我到底作了些啥。(其实写教程比写网站还要花时间=_=,不过很庆幸过年回来还背了一个笔记本,否则早就疯了)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的写做馆浏览器